1/43
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Programming
Writing precise instructions that tell a computer or device exactly what to do
Programming language
A formal set of rules (syntax and semantics) used to write instructions for computers
Syntax
The rules for how symbols/words must be arranged to form valid instructions (like grammar)
Semantics
The meaning behind those instructions (what they actually do)
Machine language
The lowest-level language, made entirely of binary (0s and 1s), directly executable by the CPU with no translation
Binary code
Sequences of 0s and 1s that represent data/instructions at the most basic computer level
CPU (Central Processing Unit)
The computer's "brain" that directly executes machine language instructions
Instruction set (e.g., ARM, x86)
The specific collection of commands a particular CPU architecture understands
Assembly language
A more human-readable form of machine code that uses mnemonics instead of raw binary
Mnemonic
A short, symbolic name representing a machine instruction (e.g., ADD, MOV)
Hardware-specific
Tied to a particular computer architecture; won't work the same way across different hardware
High-level language
A language with readable, human-like syntax (e.g., Python, Java, C, C++) that abstracts away hardware details
Abstraction
Hiding complex underlying details so the user/programmer can focus on logic instead of low-level mechanics
Compiled
Translated entirely into machine code before the program runs
Interpreted
Translated and executed line-by-line while the program runs
Low-level language
A language (machine or assembly) offering minimal abstraction and requiring detailed hardware control
Portability
The ability of code to run across different systems/devices without major changes
Programming paradigm
A style or philosophy for structuring and organizing code
Procedural paradigm
A paradigm focused on step-by-step instructions (e.g., C, Pascal)
Object-oriented paradigm
A paradigm that organizes code into reusable "objects" bundling data and behavior (e.g., Java, C++, Python)
Functional paradigm
A paradigm emphasizing pure functions and immutability (e.g., Haskell, Scala)
Pure function
A function that always produces the same output for the same input, with no side effects
Immutability
Data that cannot be changed once created
Scripting paradigm
A paradigm for automating tasks, often interpreted rather than compiled (e.g., Python, JavaScript)
Variable
A symbolic name/identifier that points to a value stored in memory
Identifier
Another term for the name given to a variable
Memory reference
The idea that a variable stores a pointer to where data lives in memory, not the data itself
Dynamic typing
A system (used by Python) where variable types are automatically inferred from the assigned value, not declared upfront
Naming rules
The strict requirements a variable name must follow to be valid in Python
Reserved keywords
Words Python has set aside for its own syntax (e.g., if, for, while, class, def) that can't be used as variable names
Snake case
A naming convention using lowercase words separated by underscores (e.g., total_amount)
Camel case
A naming convention where the first word is lowercase and each subsequent word is capitalized (e.g., studentAge)
Pascal case
A naming convention where every word is capitalized, typically used for class names (e.g., TotalAmount)
Declaration
Formally announcing a variable before use (not required in Python)
Initialization
Assigning a value to a variable for the first time
Assignment
The act of giving a variable a value using =
Data type
The category of data a variable holds (e.g., integer, float, string, boolean)
Integer (int)
A whole number, positive or negative, without a decimal point
Float (float)
A number that includes a decimal point
String (str)
A sequence of characters enclosed in quotes (text)
Boolean (bool)
A value representing only True or False
List
An ordered, changeable collection of items (e.g., ["apple", "banana", "cherry"])
Dictionary
A collection of labeled key-value pairs (e.g., {"name": "Bob", "age": 25})
Tuple
An ordered, fixed (unchangeable) collection of values (e.g., (10, 20))