Course Name: Object-oriented programming in Java
Course Outline
Class Topics
Class 00 ● Introduction
Introduction ● Environment Setup
Class 01 ● Structure of Java
Syntax ● Java Syntax
● Related code practice & Slide
Class 02 ● DataTypes variables = data;
Data types ● Related code practice & Slide
Class 03 ● I/O
User Input ● String
● Equations
● Related code practice & Slide
Class 04 ● Conditional statements & Ternary operator
Conditional ● Switch
statements ● Related code practice & Slide
Class 05 ● Random class
Loops ● Math class
● Loops
● Related code practice & Slide
Class 06 ● Introduction to Arrays (1D)
1D Array ● Related code practice
Class 07 ● Introduction to Arrays (2D)
2D Array ● Methods & Slide
* QUIZ 1
* End of Basic Java
Page 1
Class 08 ● Definition of class and objects
Objects and Classes ● Defining classes and creating objects
(Part I) ● Data field, Constructors, default constructor
● Argument constructor, This keyword
● Accessing objects
● Method overloading
● UML class diagram
Class 09 ● Creating objects, toString method
Objects and Classes ● Static variables, constans, Methods
(Part II) ● Primitive type data vs Object type data
● Object as data field
● Array of Objects
Class 10 ● Introduction to Four pillars of OOP
Encapsulation ● Encapsulation
● Accessor/Mutator methods
● Related code practice & Slide
* QUIZ 2
Class 11 ● Introduction to Inheritance
Inheritance ● Superclass and Subclass
(Part I) ● Super keyword
● toString method
● Related code practice & Slide
Class 12
Inheritance ● Constructor chaining, no-arg constructor
(Part II) ● Declaring subclass, Calling superclass method
● Related code practice & Slide
* QUIZ 3
Class 13 ● Introduction to Polymorphism
Polymorphism ● Dynamic Binding
(Part I) ● Declared type and actual type
● Method matching vs Method Binding
● Related code practice & Slide
Class 14 ● Generic Programming
Polymorphism ● Casting objects, Explicit/Implicit
(Part II) ● Protected Modifier
● Accessibility
● ArrayList class
● Discussions
● Related code practice & Slide
Page 2
Class 15 ● Introduction to Abstraction
Abstraction ● Abstract class
● Abstract methods & their usage
● Related code practice & Slide
Class 16 ● Introduction to Interfaces
Interfaces ● Usefulness, usages & way to define
(Part I) ● The comparable interface & implementation
● The cloneable interface & implementation
● Shallow vs Deep Copy
● Interface vs Abstract class
Class 17 ● Interface vs Abstract class
Interfaces ● Conflict interfaces
(Part II) ● Wrapper Classes
● Autoboxing, Unboxing
● Related code practice & Slide
* QUIZ 4
* End of OOP
Class 18 ● Introduction to Exceptions and Handling
Exception Handling ● Declaring, throwing, try-catch
● The finally clause
● When to throw exceptions
● Getting informations from the exception
● Rethrowing exceptions
● Custom exception class
● Related code practice & Slide
Class 19 ● Multitasking
Java Generics & ● Threads
Multi-threading ● Importance and usage discussion
● Related code practice & Slide
Class 20 ● Introduction to FILE
FILE System ● File I/O
● Text file vs Binary file
● File pointer
● Related code practice & Slide
* QUIZ 5
* End of the course
Page 3