Skill Level: Beginner
Skill Level: Beginner
Skill Level: Beginner
Skill Level: Beginner

There are two parts in this course, 1) Object-Oriented Programming (OOP) and 2) Design Patterns.

OOP is a programming paradigm that represents the concept of "objects" that have data fields and methods. There are three important concepts in OOP: Encapsulation, Inheritance, and Polymorphism. 

Design patterns, on the other hand, represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time.

This course utilize either Java or C# programming language to illustrate the sample codes and test the code of OOP and design patterns. Also, this course includes class diagram from UML which is the most important tool using in design patterns.

Skill Level: Beginner