Programming Fundamentals
Variables and Data Types
Understand variables, constants, and the fundamental data types used in programming — integers, floats, strings, and booleans.
Control Structures: Conditionals and Loops
Learn how to control program flow using if/else statements, while loops, for loops, and nested structures.
Functions and Modular Programming
Learn to define and call functions, understand parameters and return values, scope, and the benefits of modular code design.
Weekly Programming Topics
Procedures, Functions and Structure Charts
Procedures, functions, documenting code, local/global scope, classes, and hierarchy charts.
Composite Data Types
Enumerations, dictionaries, sets, and how composite data structures organise related values.
File Handling, Static and Dynamic Typing
Value-returning functions, modules, file input/output, records, exceptions, and typing models.
Selection and Iteration
Decision structures, relational operators, if/else, match-case, while loops, for loops, and menu-driven list processing.
Introduction to Arrays
List processing, records in files, number files, multidimensional lists, and plotting list data.
GUI Drawing and Control
Graphical user interfaces, drawing shapes with canvas widgets, and introductory PyGame concepts.
Data References, Advanced Arrays and Searching
Data references, advanced array processing, and search techniques.
GUI and Game Programming
GUI programming and game-programming concepts for event-driven interactive applications.
Sorting, Complexity and Recursion
Sorting algorithms, Big O complexity, and recursive problem solving.
Testing and Debugging
Python testing, debugging workflow, test outcomes, and practical test preparation.
Programming in Other Languages
Introduction to C, differences from Python, variables, functions, arrays, strings, and custom data types.
Testing, Tools and Projects
pytest fixtures, parametrized tests, unittest, exception handling, breakpoints, profiling, and packages.