CS Principles 2018

Unit 3

Vocab

Unit 3 - Intro to Programming

Lesson 2: The Need for Algorithms

  • Algorithm: A precise sequence of instructions for processes that can be executed by a computer
  • High Level Programming Language: A programming language with many commands and features designed to make common tasks easier to program. Any high level functionality is encapsulated as combinations of low level commands.
  • Low Level Programming Language: A programming language that captures only the most primitive operations available to a machine. Anything that a computer can do can be represented with combinations of low level commands.

Lesson 3: Creativity in Algorithms

  • Algorithm: A precise sequence of instructions for processes that can be executed by a computer
  • Iterate: To repeat in order to achieve, or get closer to, a desired goal.
  • Selection: A generic term for a type of programming statement (usually an if-statement) that uses a Boolean condition to determine, or select, whether or not to run a certain block of statements.
  • Sequencing: Putting commands in correct order so computers can read the commands.

Lesson 4: Using Simple Commands

  • Pair Programming: A method of programming in which two programmers write code using a single computer. One programmer in the "driver" role uses the mouse and keyboard to actually write the code while a second acts as a "navigator", keeping track of the big picture, catching errors, and making suggestions. Programmers switch roles frequently and communicate throughout the process.
  • Turtle Programming: a classic method for learning programming with commands to control movement and drawing of an on-screen robot called a "turtle". The turtle hearkens back to early implementations in which children programmed a physical robot whose dome-like shape was reminiscent of a turtle.

Lesson 5: Creating Functions

  • Abstraction: a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
  • Function: A named group of programming instructions. Functions are reusable abstractions that reduce the complexity of writing and maintaining programs.

Lesson 6: Functions and Top-Down Design

  • Abstraction: a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
  • Function: A named group of programming instructions. Functions are reusable abstractions that reduce the complexity of writing and maintaining programs.
  • Top Down Design: a problem solving approach (also known as stepwise design) in which you break down a system to gain insight into the sub-systems that make it up.

Lesson 7: APIs and Using Functions with Parameters

  • API: a collection of commands made available to a programmer
  • Documentation: a description of the behavior of a command, function, library, API, etc.
  • Hexadecimal: A base-16 number system that uses sixteen distinct symbols 0-9 and A-F to represent numbers from 0 to 15.
  • Library: a collection of commands / functions, typically with a shared purpose
  • Parameter: An extra piece of information passed to a function to customize it for a specific need

Lesson 8: Creating Functions with Parameters

  • Parameter: An extra piece of information passed to a function to customize it for a specific need

Lesson 9: Looping and Random Numbers

  • For Loop: Loops that have a predetermined beginning, end, and increment (step interval).
  • Loop: The action of doing something over and over again.

Lesson 10: Practice PT - Design a Digital Scene

  • Abstraction: a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.