Advanced Object-Oriented Programming
CSE 0613-3121 | Theory | 3rd Year 1st Semester | Dept. of CSE, University of Brahmanbaria
Instructor: Md. Rashed
Term: Fall
Location: University of Brahmanbaria, Dept. of CSE
Time: On Campus (3.00 contact hours per week)
Schedule
| Week | Date | Topic | Materials |
|---|---|---|---|
| 1 | Introduction to Java and Programming Basics OOP vs. procedural paradigm, Java platform (JDK, JRE, JVM), structure of a Java program, compiling and running, data types, variables and literals, operators and expressions, type conversion and casting, console input/output. | ||
| 2 | Control Flow Conditional program flow (if, if-else, switch), iterations (for, while, do-while, enhanced for), break, continue and nested loops, problem solving with control structures. | ||
| 3-4 | Methods, Arrays, OOP Basics, Classes and Objects Defining and calling methods, parameter passing, recursion, single- and multi-dimensional arrays. Abstraction, encapsulation, inheritance, polymorphism. Defining classes, creating objects, instance variables and methods, this reference, relationships among classes (association, aggregation, composition). | ||
| 5-6 | Constructors, Destructors, Access Modifiers and Static Members Default and parameterized constructors, constructor overloading, copy constructor concept, object destruction, garbage collection and finalize(). Public, private, protected and default access, packages, static variables, methods and blocks, final keyword, getters and setters. | ||
| 7-8 | Inheritance, Polymorphism and Overloading Types of inheritance, super keyword, constructor chaining, method overriding and dynamic (late) binding, abstract classes and methods, interfaces and multiple inheritance through interfaces. Method overloading, operator behavior in Java (e.g., + for strings) and why Java does not support user-defined operator overloading. | ||
| 9 | Midterm Examination | ||
| 10 | Object Arrays and Collections Array of objects, passing and returning objects, String and StringBuilder handling, introduction to the Collections Framework (ArrayList and basic usage). | ||
| 11 | Exception Handling Types of exceptions (checked and unchecked), try, catch, finally, throw and throws, multiple catch blocks, user-defined (custom) exceptions. | ||
| 12 | Introduction to Java GUI AWT and Swing overview, containers and components, layout managers, building a simple GUI application. | ||
| 13 | Event Handling and Java Applet Event delegation model, event listeners and adapters, handling mouse and keyboard events, Java Applet basics and life cycle (legacy technology overview). | ||
| 14 | Independent Learning and Project Presentation Recent features of Java (e.g., lambda expressions, records), student presentations on self-learned advanced topics and mini projects, revision. | ||
| Final | Final Examination (Semester End) |