An error in the sequence of words or rules in a program that prevents the program from running.
errors where the expected result does not match the actual result; these errors are due to mistakes in coding logic and will not be detected by the compiler
Identity theft, stealing money, stealing private information, controlling private computers.
An observation that the processing speed of computers is doubling every year. This is *exponential* growth. Computers are getting smaller and faster at an exponential rate.
The study of computational thinking, the thinking humans need to in order to describe a step by step process to a computer.
Documentation for all Karel Commands and Syntax.
Defining a function means to teach the computer a new command and explain what it should do when receiving that command.
Calling a function actually gives the command, so the computer will run the code for that function.
`lowerCamelCase` is a naming convention where the first letter is lower case, and each subsequent start of a word is upper case.
Programs that "Read like a story" have good decomposition and make the code easy to follow.
Top down design is a method for breaking our program down into smaller parts.
Assumptions we make about what must be true before the function is called.
Managing complexity by "abstracting away" information and detail, in order to focus on the relevant concepts.
The ability to use methods and programs that we do not fully understand, or are unable to write.
SuperKarel is like Karel but already knows how to turnRight() and turnAround()
APIs and libraries simplify complex programming tasks by providing sets of clearly defined methods of communication among various computing components.
Written instructions detailing the functions, methods, and variables available and how to use them.
An if statement lets you ask a question to the program and only run code if the answer is true.
Control structure that lets us run either one section of code or another depending on a test.
A control structure lets us change the flow of the code.
An algorithm is a set of steps or rules to follow to solve a particular problem.
Sequencing, or sequential execution, is step by step execution of instructions in the order they are given.
Repetition of instructions a specified number of times, or until a condition is met.
Using a condition to determine which part of an algorithm is executed.
Indentation is the visual structure of how your code is laid out. It uses tabs to organize code into a hierarchy.
Ultra Karel is the same as Super Karel, except Ultra Karel has the ability to paint the grid world!