Core Concepts
The language-agnostic core (Ch 1–14), taught in pseudocode before any specific language.
Introduction
Problem solving, computing basics, program structure, and pseudocode conventions.
02Basics
Control flow, variables, types, operators, basic I/O, and debugging fundamentals.
03Conditionals
Logical operators, if / if-else / if-else-if statements, and the ternary operator.
04Loops
While, for, do-while, and foreach loops; nesting, infinite loops, and loop equivalency.
05Functions
Defining and using functions; call by value/reference, overloading, variable args, defaults.
06Error Handling
Defensive programming versus exception-based error handling strategies.
07Arrays, Collections & Dynamic Memory
Arrays, static vs dynamic memory, shallow/deep copies, multidimensional arrays, collections.
08Strings
String basic operations, comparisons, and tokenizing.
09File Input/Output
Processing files — paths, error handling, buffering, and binary vs text files.
10Encapsulation & Objects
Objects, data visibility, accessors/mutators, constructors, composition, design principles.
11Recursion
Writing recursive functions, tail recursion, avoiding recursion, and memoization.
12Searching & Sorting
Linear/binary search, selection/insertion/quick/merge sort, comparators, and stability.