Welcome
This course follows on from Programming Theory in Practice 1, and deals with topics such as Object Orientation, Database Access, and Design principles. This course is not for the pure beginner, and is at a more intermediate level. Before continuity with the course, please read through the Prerequisites for the course. The goal of this course is to improve your knowledge of programming theory, have a good theoretical understanding of Object Orientation, Design Principles, and the skill to apply this knowledge practically in solving problems programmatically.
Course Content
Module 1: Object Orientation
- Introduction to OOP
- Designing Classes
- Classes and Objects in Python
- Inheritance
- Polymorphism
- Abstraction
- Interfaces
- Composition
Module 2: Design Principals
- Introduction to Design Principals
- Problem Solving and Design with UML
- Loose Coupling, Strong Cohesion
- SOLID Principles
Module 3: Databases
- Introduction to Databases
- Basic Administrative Operations
- SQL: CREATE, INSERT, UPDATE
- SQL: SELECT
- Programming with Databases
Module 4: Design Patterns
- Introduction to Design Patterns
- Creational Design Patterns
- Structural Design Patterns
- Behavioural Design Patterns
Now What?
- Challenges
- Recommended Reading
- Course Badges
Assessment
The assessment for this course will be done using Open Badges. To read more about this, please see the section on the Course Badges. Each of the four core course modules have a badge that can be earned for completion of the specific module.
For those who complete the entire course, they can apply for the course completion badge.
Programming Theory Level 2 badge
Let's get going