CS 159: Advanced Programming
James Madison University, Spring 2022 Semester

This schedule is subject to change throughout the course.

Eclipse Setup    Gradescope    Java API    Java Visualizer    Practice-It

Week Tuesday Thursday Homework
1
Jan 18  Jan 20
Welcome Back
Jan 20  Jan 22
Java Visualizer
P1: Classes
and Objects
(due 01/31 at 11:00pm)
2
Jan 25
Memory Diagrams
Jan 27
Arrays of Arrays
3
Feb 01
2D Array Lab
Feb 03
Exceptions
P2: Arrays
and Exceptions
(due 02/14 at 11:00pm)
4
Feb 08
Assessment Day
Feb 10
Debugger Lab
5
Feb 15
Review for Exam #1
Feb 17
Midterm Exam #1
 
6
Feb 22
File Input/Output
Feb 24
File I/O Lab
P3: File I/O
and Testing
(due 03/09 at 11:00pm)
7
Mar 01
ArrayList Objects
Mar 03
Unit Testing Lab
8
Mar 08
Enum Types
Mar 10
Extending Classes
P4: Inheritance
and Polymorphism
(Part A due 03/22)
(Part B due 03/24)
(Part C due 03/28)
 
Mar 15
Spring Break
Mar 17
Spring Break
9
Mar 22
Inheritance Lab
Mar 24
Polymorphism
10
Mar 29
Review for Exam #2
Mar 31
Midterm Exam #2
 
11
Apr 05
Abstract Classes
Apr 07
Polymorphic Design
P5: Interfaces and
Abstract Classes
(Part A due 04/12)
(Part B due 04/18)
12
Apr 12
Interfaces Lab
Apr 14
Sets and Maps
13
Apr 19
Collections Lab
Apr 21
Recursive Drawings
P6: Collections
and Recursion
(due 05/02 at 11:00pm)
14
Apr 26
Directories Lab
Apr 28
Tracing Recursion
15
May 03
Linked Structures
May 05
Review for Final Exam
 
 
May 10
Section 6 Final (1:00pm)
May 12
Section 5 Final (10:30am)
 

Unless otherwise noted, the materials on this website are freely available under the
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.