SE 1206 Object Oriented Concepts; Credit Theory: 3
This course will explain the basic topics of object-oriented concepts. The course will guide the students to design a problem and code it using Object Oriented (OO) Concepts. It is expected that, by the end of this course, students will be able to model different practical scenarios using the object-oriented paradigm. Students will learn and implement concepts, functionalities, and interactions of objects and classes using different programming languages, which will strictly follow Object Orientation.
- To understand the principle of Object Oriented Architecture
- To design problems from the perspective of Object Oriented Architecture
- To be able to manage data, functions and user interactions using Object Orientation
- To handle interconnection activities among different objects
- To handle multithreaded activity on different objects
Introduction to Object Oriented Concepts: Procedural vs Object Oriented (OO) Programming, What is an Object – Object Data and Behavior, What is a Class – Attributes, Methods and Messages; The Anatomy of a Class: The Name, Comments, Attributes, Constructors, Accessors, Public Interface methods and Private implementation methods; Constructors: Default constructor, Using multiple constructors; Object Oriented principles: Encapsulation, Inheritance, and polymorphism; Encapsulation: Data Hiding, Interfaces and Implementations, Inheritance: Superclasses and Subclasses, Abstraction and Is-a Relationships, Reusing Objects, Generalization and Specialization, How Inheritance Weakens Encapsulation; Polymorphism, Composition: Abstraction and Has-a Relationships; How to think in terms of Objects – Interface vs Implementation, Abstract thinking when designing Interfaces and Giving the user minimal Interface possible; Object Oriented Design Principle: SOLID - Single Responsibility Principle, Open/Close Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle.; User Interface Handling: User Interface Design, Layout, Item, Mouse Listener, Event Listener, etc. ; Data Storage: Store Data (V ariable and Objects) in File and Database; Exception Handling; Object Serialization and Deserialization; Collections and Generics: Objects in various collections such as List, Map, V ector, Tree, Dictionary, etc.; Object and Threading: Thread, Multithreading, Forking, Concurrency, Sleep, etc.