Foundation 102: Object Oriented Programming with Python
This advanced programming course teaches object-oriented programming through the development of interactive space-themed applications. Students learn to think in terms of objects, classes, and systems rather than simple procedures, preparing them for professional software development and advanced computer science concepts. By course completion, students will have built sophisticated simulations demonstrating mastery of encapsulation, inheritance, polymorphism, and system design.
What makes this course special: Object-oriented programming can be abstract and difficult to grasp—students often struggle to understand why they need classes when functions seem sufficient. This course makes OOP concrete and intuitive by building interactive systems where students can see their objects come to life, interact with each other, and demonstrate sophisticated behaviors through inheritance and polymorphism. The space academy theme provides perfect metaphors for understanding object relationships and system architecture.
Your Learning Journey
Starting with simple classes and objects, you'll progressively master encapsulation, inheritance, and polymorphism while building increasingly sophisticated interactive systems. Through projects like spacecraft simulations, fleet management systems, and space station operations, you develop both the technical skills and design thinking that characterize professional software engineering.
Each lesson introduces OOP concepts through hands-on development where abstract principles become concrete through working code. You'll learn to design class hierarchies, implement inheritance structures, and create polymorphic systems that demonstrate the power and elegance of object-oriented design. The progression moves from single-class programs to complex multi-class systems with dozens of interacting objects.
Perfect for: Students who have completed CS-101-INTRO or equivalent Python programming experience including variables, functions, loops, and conditionals.
Duration: 1 semester (12-16 sessions, adjustable)
Credits: 0.5 Computer Science Credit
Why This Course Matters
Choose a pricing plan
Course curriculum
-
1Section 1: Introduction
-
2Section 2: Digital Literacy
-
3Section 3: Python Environment and OOP Foundations
-
4Section 4: Class Attributes and Instance Methods
-
5Section 5: Data Protection and Encapsulation
-
6Section 6: Property Decorators and Advanced Encapsulation
-
7Section 7: Interactive Object Systems
-
8Section 8: Complex Object Behaviors and State Management
-
9Section 9: First Mid-Term
-
10Section 10: System Integration and Debugging Practices
-
11Section 11: OOP Review and Enhancement Workshop
-
12Section 12: Inheritance Fundamentals and Base Classes
-
13Section 13: Method Overriding and Specialization
-
14Section 14: Inheritance Testing and Optimization
-
15Section 15: Polymorphism and Duck Typing
-
16Section 16: Dynamic Object Interactions and Design Patterns
-
20Section 20: Second Mid-Term
-
21Section 21: Final Exam