Fall 2020 (08/26/2020 - 12/20/2020)

The semester has 28 class meetings including a midterm exam but excluding 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, Git and Github Classroom);

Lecture Notes

Assignments

TBA (Due: )

Reading

TBA

Topics: UNIX command line operations; Authoring Java program from command line

Lecture Notes

Assignments

TBA (Due: )

Reading

TBA

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Sections 9.1 - 9.5 of the textbook

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Sections 9.1 - 9.5 of the textbook

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);

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapters 3 and 10 of the textbook

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);

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapters 3 and 10 of the textbook

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 11 of the textbook

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 11 of the textbook

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 11 of the textbook

Notice: Classes follow Monday schedule

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 11 of the textbook

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 12 of the textbook

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;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 12 of the textbook

Topics: Q & A for Midterm Exam.

Lecture Notes

Reading

all chapters discussed

Topics: Miterm Exam is held 6:05 - 8:10 PM in Room 236 Ingersoll Hall Extension (236IA). This exam covers chapters 1, 2, 3, and sections 12.1 and 12.2.

Topics: abstract class; abstract method; inheritance and abstract class;

Lecture Notes

Assignments

TBA (Due: )

Reading

Sections 13.1 - 13.4 of the textbook

Topics: interface; interface and hieritance; interface and polymorphism; designing with class and interface; selected interfaces in Java API;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 13 of the textbook

Topics: interface; interface and hieritance; interface and polymorphism; designing with class and interface; selected interfaces in Java API;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 13 of the textbook

Topics: Integrated Development Environment (IDE); the Eclipse IDE; Maven project in Eclipse; authoring programs in Eclipse debugging and tracing in Eclipse IDE; unit testing and Maven in Eclipse;

Lecture Notes

Assignments

TBA (Due: )

Reading

TBA

Topics: Recursion; Designing for mathematical recursive functions (e.g. divide, factorial, Fibonacci numbers); Designing for problem solving using recursion

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 18 of the textbook

Topics: Recursion; Designing for mathematical recursive functions (e.g. divide, factorial, Fibonacci numbers); Designing for problem solving using recursion

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 18 of the textbook

Topics: Generics (including the Comparable<> interface)

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapter 19 of the textbook

Topics: Java Collections API; list (ArrayList, LinkedList); stack; queue; set; map; iterator; enhanced for loop; sorting and searching;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapters 19, 20, and 21 of the textbook

Topics: Java Collections API; list (ArrayList, LinkedList); stack; queue; set; map; iterator; enhanced for loop; sorting and searching;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapters 19, 20, and 21 of the textbook

Topics: Java Collections API; list (ArrayList, LinkedList); stack; queue; set; map; iterator; enhanced for loop; sorting and searching;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapters 19, 20, and 21 of the textbook

Topics: Java Collections API; list (ArrayList, LinkedList); stack; queue; set; map; iterator; enhanced for loop; sorting and searching;

Lecture Notes

Assignments

TBA (Due: )

Reading

Chapters 19, 20, and 21 of the textbook

Notice: College Closed

Topics: User interfaces (CLI vs GUI); concurrency and event-driven programming; event-driven programming and GUI; nested class; JavaFX Applications; Basic JavaFX GUI components (e.g. Button, Circle, Image) and their placement using Panes, Scenes, Stage.

Lecture Notes

Assignments

TBA (Due: )

Reading

TBA

Topics: User interfaces (CLI vs GUI); concurrency and event-driven programming; event-driven programming and GUI; nested class; JavaFX Applications; Basic JavaFX GUI components (e.g. Button, Circle, Image) and their placement using Panes, Scenes, Stage.

Lecture Notes

Assignments

TBA (Due: )

Reading

TBA

Topics: Selected topics on file systems and mass storage; Q & A for Final Exam.

Lecture Notes

Reading

Relevant chapters in the textbook; lecture notes; all quizes; review guides and tests