Alex Bunardzic, British Columbia Institute Of Technology (BCIT)
Course Description and Goals
Teaches the basics of object-oriented software development. Fundamental
notions of information, redundancy, communication,
and other concepts necessary for grasping software objects are introduced.
Emphasis on the process of abstraction. Object discovery and iterative
development.Explaining the concepts of encapsulation (implementatation
hiding), inheritance (code reuse) and polymorphism (behavior
reuse).Introduces the idea of protocols and interfaces. Design
patterns (reusing best practices in software development).Methodologies
of object-oriented software development.
The course prepares students for entering the study of object-oriented
implementation (in particular, the course will focus on introducing basic
concepts related to Java and object-oriented analysis and design).
Course Learning Outcomes
At the end of this course, the student will be able to:
Understand the difference between object-oriented and procedural software
development
Design simple object-oriented systems
Utilize interfaces in order to simplify the modeling of complex systems
Understand the advantages of the late binding technique
Recognize the potential for taming the complexity of a large software system
by utilizing polymorphism
Understand advantages of using some design patterns
Click on the links to download the PowerPoint presentations