Why take this course?
In Python Level 1, students explored basic coding concepts and simple graphical projects. In this course, they will take their skills to the next level by learning how to organise and reuse code efficiently through Object-Oriented Programming (OOP).
Students will explore classes, objects, inheritance, and logic-based design while creating visual simulations like wandering eyes, bouncing balls, rain, and polka dots. By the end, students will understand how to structure code, animate objects, and build small-scale, interactive programs that mimic real-world physics and behaviour.
Prerequisites:
- Students should have completed Python Level 1 or have prior experience with:
- Writing and running Python code using conditionals, loops, and functions.
- Working with coordinates or basic Processing sketches.
- Understanding how variables control logic and behaviour in a program.
- A typing speed of 35–40 WPM is recommended. Practice typing here:
Course Outline
Learning Outcomes
- Fluently apply Object-Oriented Programming (OOP) principles by defining classes, creating objects, and managing unique properties and behaviors for each instance.
- Design and build complex, multi-object simulations that model realistic physics, including gravity, velocity, and collision detection, as demonstrated in the Bouncing Balls and Rain projects.
- Effectively use lists and loops to manage and update hundreds of objects simultaneously, achieving efficient and scalable real-time animations.
- Implement data mapping logic (like the map() function) to create dynamic and interactive visuals where object properties are directly controlled by user input or screen coordinates.
- Build basic Graphical User Interfaces (GUIs) and integrate File I/O to create a functional login system, demonstrating the link between OOP, event-driven programming, and persistent data storage.
- Be prepared for advanced game development and algorithmic challenges by mastering the core OOP, event, and animation concepts necessary for Python Level 3.

Schedule
Up Coming
Ends 20 Jul 2026
2:00 PM - 3:00 PM
5 seats left
Syed Shabee Haider
Ends 20 Jul 2026
12:00 PM - 1:00 PM
5 seats left
Mishal Ahmed
Ends 5 Apr 2026
9:00 AM - 10:00 AM
5 seats left
Navaal Noshi
Ongoing
Ends 25 Jan 2026
3:00 PM - 4:00 PM
1 Student(s) enrolled
Currently in Module 3
Navaal Noshi
Ends 25 Apr 2026
8:00 AM - 9:00 AM
1 Student(s) enrolled
Currently in Module 3
Shuja ul Hasan























