## Section TY3

Class Meeting: 03:40 - 05:20pm, Tuesday and Thursday

Classroom: Room 130 Ingersoll Hall Extension (IA-130)

### Course Schedule

Topics: Windows/Unix Command Line; Setting up JRE and JDK;

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C01a-1 on your own.

##### Resources

Topics: Windows/Unix Command Line; Writing Java programs; Compiling and running Java programs;

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C02a-1 in a group and on your own.
- Complete In-Class Exercise C02b-1 on your own
- Complete In-Class Exercise C02b-2 on your own
- Complete In-Class Exercise C02b-3 on your own
- Complete In-Class Exercise C02c-1 on your own
- Complete In-Class Exercise C02c-2 in your team

##### Reading

- Sections 1.1 - 1.10 in the textbook

##### Resources

Video: Git Basics from GitHub Training & Guides by GitHub Screencast: Github Classroom: Simple Workflow for Individual Assignment Screencast: Github Classroom: Simple Workflow for Team AssignmentTopics: data fields/Instance variables; behavior/instance methods; constructors; primitive types and reference types; accessing objects via reference variables;

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C03a-1 in a group in class, and on your own to complete and submit it. (Due before the class on 09/13)

##### Reading

- Sections 9.1 - 9.5 of the textbook

##### Resources

Topics: constructors; a few classes in the Java Library; instance and static data fields and methods; constants;

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C04a-1 in a group in class, and on your own to complete and submit it. (Due before the class on 09/13)
- CodeLab exercises marked as due by 09/11/2018

##### Reading

- Sections 9.5 - 9.7 in the textbook

##### Resources

According to the College Calendar for Fall 2018, no classes are scheduled.

Topics: visibility and visibility modifiers; scope; passing objects to methods; arrays of objects

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C06a-1 in a group in class, and on your own to complete and submit it. (Due before the class on 09/20)
- Complete In-Class Exercise C06b-1 in a group in class, and on your own to complete and submit it. (Due before the class on 09/20)

##### Reading

- Sections 9.8 - 9.14 in the textbook

##### Resources

According to the College Calendar for Fall 2018, no classes are scheduled.

Topics: class abstraction and encapsulation; aggregation; UML; copying objects; wrapper classes; StringBuilder and StringBuffer Classes

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C08a-1 in a group in class, and on your own to complete and submit it. (Due before the class on 09/27)

##### Reading

- Chapters 3 and 10 of the textbook

##### Resources

Topics: Superclasses and Subclasses; Overriding and Overloading methods; constructor chaining;

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C09a-1 in a group in class, and on your own to complete and submit it. (Due before the class on 10/02)
- Complete the CodeLab exercise marked as due by 10/04/2018.

##### Reading

- Sections 11.1 - 11.6 of the textbook

##### Resources

Topics: Concept of polymorphism

##### Lecture Notes

##### Assignment

- Complete the CodeLab exercise marked as due by 10/11/2018.

##### Reading

- Sections 11.7 of the textbook

##### Resources

Topics: Dynamic binding and plymorphism

##### Lecture Notes

##### Assignment

- Complete In-Class Exercise C11a-1 in a group in class, and on your own to complete and submit it. (Due before the class on 10/09)
- Prepare for the online quiz to be released on Thursday (10/04/2018).

##### Reading

- Sections 11.7 - 11.9 of the textbook

##### Resources

Topics: Object class, .equals and .toString; arrays of objects with polymorphic method calls

##### Lecture Notes

##### Assignment

- Complete in-class exercise C12d-1 in a group in class, and on your own to complete and submit it. (due before the class on 10/11)
- Complete the CodeLab exercise marked as due by 10/18/2018.

##### Reading

- Sections 11.6, 11.10 - 11.14 of the textbook

##### Resources

Topics: try-catch blocks; throwing exceptions; exception types (including checked vs unchecked); polymorphism and dynamic binding with exceptions; stack trace; defining custom exception types

##### Lecture Notes

##### Assignment

- Complete the CodeLab exercise marked as due by 10/25/2018.
- Prepare for the online quiz on Chapter 10

##### Reading

- Sections 12.1 - 12.6 of the textbook

##### Resources

Topics: try-catch blocks; throwing exceptions; exception types (including checked vs unchecked); stack trace; defining custom exception types

##### Lecture Notes

##### Assignment

- Study the review tests to be released on Blackboard by 10/15/2018

##### Reading

- Sections 12.6 - 12.11 of the textbook

##### Resources

Topics: Review topics discussed in Chapters 9 - 12; Q&A

##### Lecture Notes

##### Assignment

- Review quizzes (Quizzes 1 - 4)
- Review review tests (Review Tests 1 - 2)
- Review CodeLab exercises
- Review weekly programming exsercises
- Review Chapters 9, 10, 11, and 12 in the textbook

##### Reading

- Review relevant sections in Chapters 9-12 in the textbook.

##### Resources

Topics: Midterm Examination (03:40 - 05:20PM, IA 130)

Topics: polymorphism and dynamic binding with exceptions; exceptions and text file I/O

##### Lecture Notes

##### Assignment

- Complete in-class exercise C17a-1 in a group in class, and on your own to complete and submit it. (due before the class on 10/25)
- Complete in-class exercise C17a-2 in a group in class, and on your own to complete and submit it. (due before the class on 10/25)
- Project: a Personal Directory Application: Analysis, Design and Implementation (Analysis and Preliminary Design due: 10/30; Final Design and Implementation due: 11/08)

##### Reading

- Section 12.10 of the textbook

##### Resources

Topics: Abstract class; abstract method

##### Lecture Notes

##### Assignment

- Complete in-class exercise C18a-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/01)
- Complete in-class exercise C18a-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/01)
- Complete in-class exercise C18a-3 in a group in class, and on your own to complete and submit it. (due before the class on 11/01)
- Continue to work the Project: a Personal Directory Application: Analysis, Design and Implementation (Analysis and Preliminary Design due: 10/30; Final Design and Implementation due: 11/08)

##### Reading

- Sections 13.1 - 13.4 of the textbook

##### Resources

Topics: Interface; class design guidelines

##### Lecture Notes

##### Assignment

- Continue to work the Project: a Personal Directory Application: Analysis, Design and Implementation (Analysis and Preliminary Design due: 10/30; Final Design and Implementation due: 11/08)

##### Reading

- Sections 13.5 of the textbook

##### Resources

Topics: Interface; selected interfaces in Java API; class design guidelines

##### Lecture Notes

##### Assignment

- Complete in-class exercise C20c-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/08)
- Complete in-class exercise C20c-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/08)
- Complete in-class exercise C20c-3 in a group in class, and on your own to complete and submit it. (due before the class on 11/08)
- (Optional) Complete in-class exercise C20c-4 in a group in class, and on your own to complete and submit it. (due before the class on 11/08)
- (Optional) Complete in-class exercise C20c-5 in a group in class, and on your own to complete and submit it. (due before the class on 11/08)
- continue to work the project: a personal directory application: analysis, design and implementation (analysis and preliminary design due: 10/30; final design and implementation due: 11/08)

##### Reading

- Sections 13.6 - 13.10 of the textbook

##### Resources

Topics: Recursion, including Mathematical recursive functions (e.g. divide, factorial, Fibonacci numbers)

##### Lecture Notes

##### Assignment

- Complete in-class exercise C21b-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/13)
- Complete in-class exercise C21b-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/13)
- Continue to work the Project: a Personal Directory Application: Analysis, Design and Implementation (Analysis and Preliminary Design due: 10/30; Final Design and Implementation due: 11/08)

##### Reading

- Sections 18.1 - 18.4 of the textbook

##### Resources

Topics: Recursion used for array processing, e.g., linear and binary search; recursive sorts. Time permitting: others examples including Tower of Hanoi and tail recursion.

##### Lecture Notes

##### Assignment

- Complete in-class exercise C21b-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/15)
- Complete in-class exercise C22b-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/15)
- (Due) Project: a Personal Directory Application: Analysis, Design and Implementation (Analysis and Preliminary Design due: 10/30; Final Design and Implementation due: 11/08)

##### Reading

- Sections 18.4 - 18.9

##### Resources

Topics: Generics (including the Comparable<> interface) ArrayList and stacks

##### Lecture Notes

##### Assignment

- Complete in-class exercise C23c-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/20)
- (Optional) Complete in-class exercise C23c-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/20)

##### Reading

- Chapters 19 of the textbook

##### Resources

Topics: ArrayList, LinkedList, Iterator; Enhanced for loop; Generics (including the Comparable<> interface)

##### Lecture Notes

##### Assignment

- Complete in-class exercise C24b-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/29)
- Complete in-class exercise C24b-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/29)

##### Reading

- Sections 20.1 - 20.7, and 20.9 of the textbook

##### Resources

Topics: Sorting and Searching

##### Lecture Notes

##### assignment

- Continue to work on and complete in-class exercise C24b-1 in a group in class, and on your own to complete and submit it. (due before the class on 11/29)
- Continue to work on and complete in-class exercise C24b-2 in a group in class, and on your own to complete and submit it. (due before the class on 11/29)

##### Reading

- Sections 19.6 and 20.9 in the textbook

##### Resources

According to the College Calendar for Fall 2018, no classes are scheduled.

Topics: Stack, Queue, and PriorityQueue

##### Lecture Notes

##### Assignment

- Complete in-class exercise c27b-1 in a group in class, and on your own to complete and submit it. (due before the class on 12/04)
- (Optional) complete in-class exercise c27b-2 in a group in class, and on your own to complete and submit it. (due before the class on 12/04)
- (Optional) complete in-class exercise c27b-3 in a group in class, and on your own to complete and submit it. (due before the class on 12/04)
- Complete online quiz (to be released on blackboard)
- Project: an (improved) personal directory application: analysis, design and implementation (analysis and preliminary design due: 11/29; final design and implementation due: 12/11) (to be released on blackboard)

##### Reading

- Sections 19.6, 20.9, 20.10, and 20.11 in the textbook

##### Resources

Topics: Set (Hash and Tree), Map (Hash and Tree);

##### Lecture Notes

##### Assignment

- Complete online quiz (released on blackboard)
- Continue to work on project: an (improved) personal directory application: analysis, design and implementation (analysis and preliminary design due: 12/06; final design and implementation due: 12/11) (to be released on blackboard)

##### Reading

- Chapter 21 of the textbook

##### Resources

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

##### Lecture Notes

##### Assignment

- Review sample applications
- Complete online quiz (released on blackboard)
- Continue to work on project: an (improved) personal directory application: analysis, design and implementation (analysis and preliminary design due: 12/06; final design and implementation due: 12/11) (to be released on blackboard)

##### Reading

- Sections 15.1 and 15.2 of the textbook

##### Resources

Topics: Handling Events (e.g. ActionEvent) with EventHandler<> classes; Inner Classes; Anonymous Inner Classes and Lambdas;

##### Lecture Notes

##### Assignment

- Review sample applications
- Complete online quiz (released on blackboard)
- Continue to work on project: an (improved) personal directory application: analysis, design and implementation (analysis and preliminary design due: 12/06; final design and implementation due: 12/11) (to be released on blackboard)

##### Reading

- Chapter 15 of the textbook

##### Resources

Topics: Review for the final exma.

.##### Resources

3:30 - 5:30pm, Tuesday, December 18 according to the College's the Final Examination Schedule