AP Comp Sci Lesson 1-5 Vocab
Terms in this set (12)
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.
To repeat in order to achieve, or get closer to, a desired goal.
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.
Putting commands in correct order so computers can read the commands.
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.
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.
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.
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 step wise design) in which you break down a system to gain insight into the sub-systems that make it up.
Iterative programming Development
Used in conjunction with incremental development in which a longer software development cycle is split into smaller segments that build upon each other.