Algorithms: Step-by-step instructions
Decomposition: Breaking down a problem into smaller parts
Abstraction: Identifying and focusing on only the important parts needed to solve the problem
Pattern Recognition and Loops: Spotting similarities and repetition to improve the efficiency of our instructions
Selection: Making different things happen based on different conditions
Variables: A container for storing data which can be accessed and updated while a program is running
Debugging: Finding and fixing errors with code