Schedule
Fall 2021 (08/25/2021 - 12/21/2021)
The semester has 29 class meetings including the final exam. Clicking on a class day below, you should find the class module for the day including lecture notes, assignments, and others. The instructor releases the content for a class generally on the Monday before the class. However, the instructor often makes update to the module content after the initial release. You should check this page often for up-to-date content.
In case you encounter a problem when viewing class content, such as, a broken link, please report it to the instructor immediately.
Topics: overview of class organization (syllabus); preparing programming environment (JRE and JDK); preparing for synchronous online lecturing (process, CUNY Blackboard, Class Portal Site)
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: classes and data types; data fields (Instance and class variables); behavior (instance methods and class methods); constructors; default constructor; primitive types and reference types; accessing objects via reference variables; Java package concept; visibility modifiers;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: classes and data types; data fields (Instance and class variables); behavior (instance methods and class methods); constructors; default constructor; primitive types and reference types; accessing objects via reference variables; Java package concept; visibility modifiers;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Notice: No classes scheduled
Topics: classes and data types; data fields (Instance and class variables); behavior (instance methods and class methods); constructors; default constructor; primitive types and reference types; accessing objects via reference variables; Java package concept; visibility modifiers;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: classes and data types; data fields (Instance and class variables); behavior (instance methods and class methods); constructors; default constructor; primitive types and reference types; accessing objects via reference variables; Java package concept; visibility modifiers;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Notice: No classes scheduled
Topics: Java API classes -- Date, Random, Math, and Point2D; accessing objects via reference variables; passing objects to methods; scope of variables; immutable objects; the this reference variable; visibility modifiers;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: Java API classes -- Date, Random, Math, and Point2D; accessing objects via reference variables; passing objects to methods; scope of variables; immutable objects; the this reference variable; visibility modifiers;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: class versus object; class abstraction and encapsulation; relationship among classes and objects (message passing, client-server, UML class and sequence diagrams); aggregation; copying objects; wrapper classes; immutable objects; String, StringBuilder, and StringBuffer Classes; Java unit tests (on command line);
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
Individual Programming Project
Reading
Topics: class versus object; class abstraction and encapsulation; relationship among classes and objects (message passing, client-server, UML class and sequence diagrams); aggregation; copying objects; wrapper classes; immutable objects; String, StringBuilder, and StringBuffer Classes; Java unit tests (on command line);
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
Individual Programming Project
Reading
Topics: Inheritance; superclasses and subclasses (supertypes and subtypes); overriding and Overloading methods; constructors and default constructor; constructor chaining; polymorphism and polymorphism via inheritance; dynamic binding and polymorphism; visibility modifier (public, protected, no visibility modifier); the final modifier and inheritance;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Inheritance; superclasses and subclasses (supertypes and subtypes); overriding and Overloading methods; constructors and default constructor; constructor chaining; polymorphism and polymorphism via inheritance; dynamic binding and polymorphism; visibility modifier (public, protected, no visibility modifier); the final modifier and inheritance;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Inheritance; superclasses and subclasses (supertypes and subtypes); overriding and Overloading methods; constructors and default constructor; constructor chaining; polymorphism and polymorphism via inheritance; dynamic binding and polymorphism; visibility modifier (public, protected, no visibility modifier); the final modifier and inheritance;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Q & A for Midterm Exam.
Lecture Notes
Recorded Video Lectures on Zoom
Reading
Topics: The instructor will hold a midterm exam in class
Topics: Inheritance; superclasses and subclasses (supertypes and subtypes); overriding and Overloading methods; constructors and default constructor; constructor chaining; polymorphism and polymorphism via inheritance; dynamic binding and polymorphism; visibility modifier (public, protected, no visibility modifier); the final modifier and inheritance;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Inheritance; superclasses and subclasses (supertypes and subtypes); overriding and Overloading methods; constructors and default constructor; constructor chaining; polymorphism and polymorphism via inheritance; dynamic binding and polymorphism; visibility modifier (public, protected, no visibility modifier); the final modifier and inheritance;
Course Objectives
Lecture Notes
Recorded Video Lectures on Zoom
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Design with exceptions; try-catch blocks; throwing exceptions; exception types (including checked vs unchecked); polymorphism and dynamic binding with exceptions; stack trace; defining custom exception types; exceptions and text file I/O;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Individual Programming Project
Reading
Topics: Design with exceptions; try-catch blocks; throwing exceptions; exception types (including checked vs unchecked); polymorphism and dynamic binding with exceptions; stack trace; defining custom exception types; exceptions and text file I/O;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Individual Programming Project
Reading
Topics: Design with exceptions; try-catch blocks; throwing exceptions; exception types (including checked vs unchecked); polymorphism and dynamic binding with exceptions; stack trace; defining custom exception types; exceptions and text file I/O;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Individual Programming Project
Reading
Topics: Design with exceptions; try-catch blocks; throwing exceptions; exception types (including checked vs unchecked); polymorphism and dynamic binding with exceptions; stack trace; defining custom exception types; exceptions and text file I/O;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Individual Programming Project
Reading
Topics: abstract class; abstract method; inheritance and abstract class; interface; interface and hieritance; interface and polymorphism; designing with class and interface; selected interfaces in Java API;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: abstract class; abstract method; inheritance and abstract class; interface; interface and hieritance; interface and polymorphism; designing with class and interface; selected interfaces in Java API;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: abstract class; abstract method; inheritance and abstract class; interface; interface and hieritance; interface and polymorphism; designing with class and interface; selected interfaces in Java API;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Reading
Topics: Recursion; Designing for mathematical recursive functions (e.g. divide, factorial, Fibonacci numbers); Designing for problem solving using recursion
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Notice: College is closed
Topics: Recursion; Designing for mathematical recursive functions (e.g. divide, factorial, Fibonacci numbers); Designing for problem solving using recursion
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Recursion; Designing for mathematical recursive functions (e.g. divide, factorial, Fibonacci numbers); Designing for problem solving using recursion
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
CodeLab
Group Programming Project
Reading
Topics: Java Collection API; list (ArrayList, LinkedList); stack; queue; set; map; iterator; enhanced for loop; sorting and searching;
Course Objectives
Lecture Notes
Lab Exercises (Journal/Review Assignments)
Reading
Topics: Java Map API. Q & A for Final Exam.
Lecture Notes
Reading
Notice: Reading Day/ Final Examinations
Topics: According to the College's Final Exam Schedule, the Final Exam shall be at Room 431 Ingersoll Hall 1:00 - 3:00 PM, Thursday, December 16, 2021. The exam is cumulative.