Learning key code concepts improves your logic and problem-solving skills. It also helps you better understand how coding works.

General Concepts
- Comment: Non-executable text in the code used for documentation purposes.
- Statement: A complete syntactical unit of code that commands a computer to carry out a specific action. There are several types of statements such as assignment, control flow, declaration, and output.
- Expression: Computes or evaluates to a value, often used in conditional statements (for example: if playerScore is equal to maxScore, then the game has ended).
Control Flow
- Conditional Statement: Code that executes based on whether a condition is true or false (e.g., if, else, elseif).
- Loop: A construct for repeating a set of instructions until a condition is met (e.g., for, while).
- Iteration: The process of executing a block of code multiple times.
- Break: A statement used to exit a loop prematurely.
- Continue: A statement used to skip the current iteration of a loop and proceed to the next one.
- Event: An action or occurrence that a program can respond to (e.g., a mouse click or a keyboard press).
Data and Data Structures
- Boolean: A data type with two possible values: True or False.
- Data Type: The kind of data a variable can hold (e.g., integer, string, boolean).
- Constant: A value that does not change during the execution of a program.
- Collection: An object that groups multiple data elements into a single unit
- Array: A collection of elements (e.g., a set of string values). Similar to a list, but slightly faster because an array’s size is fixed and the data is stored contiguously (side-by-side in memory).
- Dictionary/Map: A collection of key-value pairs for efficient data retrieval.
- Index: The position of an element in a list or array (usually starting at 0).
- List: A collection of elements (e.g., a set of string values). Similar to an array, but lists have two important differences. First, a list is not a fixed size; it is dynamic. Second, the elements may be stored non-contiguously (spread across memory); lists are often slower than arrays because the data is not stored side-by-side in memory.
- Declaration: Define a new variable and set its data type. This term can also be used when creating a new function or method.
- Assignment: Assign a value to a variable.
- Initialization: Assign an initial value to a new variable or object.
- Input/Output (I/O): The mechanism of receiving data (input) and sending results (output).
- Operator: A symbol or keyword used to perform operations on data (e.g., +, -, *, /, ==).
- String: A sequence of characters treated as text.
- Variable: A named storage location in memory for data that can change during program execution.
Functions and Modularization
- Argument: The actual value supplied to a function parameter.
- Function: A reusable block of code that performs a specific task.
- Parameter: A variable used to pass data into a function.
- Return: The value a function sends back to the part of the program that called it.
Debugging and Error Handling Concepts
- Debugging: The process of identifying and fixing errors in a program.
- Logic Error: A flaw in the program’s logic that causes incorrect behavior but doesn’t produce an error message.
- Runtime Error: An error that occurs while the program is running.
- Syntax Error: An error in the program’s code that prevents it from running.
Learn More
- Effective Coding and Debugging: One Step at a Time
- Computational Thinking: A Framework for Problem Solving
Computational Thinking Concepts
- Abstraction: Simplifying a complex system by focusing on the most important details.
- Algorithm: A step-by-step set of instructions to solve a problem or perform a task.
- Algorithmic Thinking: Formulating problems and solutions in a way that can be carried out by a computer.
- Decomposition: Breaking a problem into smaller, more manageable parts.
- Pattern Recognition: Identifying similarities or trends in data or processes.
Learn More
Software and Tools
- Compiler: A tool that translates code written in a high-level language into machine code.
- IDE (Integrated Development Environment): A software application that provides tools for coding, such as text editing, debugging, and running programs (e.g., VS Code, Visual Studio).
- Interpreter: A tool that executes code line-by-line instead of compiling it first.
- Source Code: The human-readable code written in a programming language.
A glossary of common programming and coding terms, numeral systems, base 10 and base 2, memory sizes, and C# built-in types, is at the Programming is Fun Reference page.

