Week |
Session |
Reading |
HW Due |
Topics |
Resources |
Programs |
1 |
1
Mon Mar 7
Details
|
|
|
- Brief course introduction
- Getting started with Java (printing, defining and calling static methods, declaring variables, looping, the summing loop pattern)
- Eclipse and Subclipse (running a program, checking out and committing a project)
- Javadoc comments
|
|
|
|
1 |
2
Tue Mar 8
Details
|
- Big Java Chapter 1 (just skim §1.1–1.2 and 1.6 (1.5 in ed3), read the rest)
- Big Java, §2.1–2.7
|
|
- Variables. Using and constructing objects. Calling methods, accessor and mutator methods.
- The String class
- Primitive types
- UML Class Diagram for a single class
- Java API documentation
|
|
|
|
1 |
3
Thu Mar 10
Details
|
- Big Java, §2.8–2.10
- First two pages of this intro to UML Class Diagrams
- Big Java, §3.1–3.8, Pay particular attention to §3.8
|
|
- Unit tests with JUnit
- Object references
- Object-Oriented Encapsulation
- Implementing Classes in Java
- Fields, Constructors, Methods
- Implementing an Interface
- Documented Stubs
- Test-first Programming, JUnit tests
|
|
WordGames
|
|
2 |
4
Mon Mar 14
Details
|
- Big Java, §2.11–2.13
- Big Java, §3.9 and Summary of Learning Objectives at the end of ch 3 ("Chapter Summary" in ed3)
|
|
- Reviewing Grader Comments in Eclipse
- Implementing Classes in Java
- Introduction to Java GUIs
- Swing: JFrame, JComponent, how to draw Shapes in a JComponent
- Shape classes
|
|
WordGames
|
Faces
|
2 |
5
Tue Mar 15
Details
|
- Big Java, Ch. 4 This is long, but §4.1–5 should be review. Read §4.6–7 on Strings and Reading Input carefully.
|
|
- More fundamental data types
- Strings
- Constants
|
|
Faces
|
|
2 |
6
Thu Mar 17
Details
|
|
|
- Reading console input
- More text formatting
-
if statements
-
== and equals()
- Selection operator
-
switch statements and enumerated types
- Test coverage
|
|
|
|
3 |
7
Mon Mar 21
Details
|
- Big Java, Ch. 6 This should be review
|
|
-
while and for loops
- Debugging
|
|
|
|
3 |
8
Tue Mar 22
Details
|
- Big Java, §7.1–7.6 (7.1-5 in ed3)
|
|
- Arrays
- ArrayLists
- Wrapper classes and auto-boxing
- Enhanced
for loop
|
|
|
|
3 |
9
Thu Mar 24
Details
|
- Big Java, §7.7–7.8 (7.6-8 in ed3)
|
|
- Two-dimensional arrays
- Copying arrays (shallow copies)
- Software engineering techniques:
- regression testing
- pair programming
- version control
|
|
Conway’s Game of Life
|
|
4 |
10
Mon Mar 28
Details
|
|
|
- Game of Life
- Exam Review – bring your questions
|
|
Conway’s Game of Life
|
|
4 |
11
Tue Mar 29
Details
|
- Review for Exam 1 over topics in Big Java, Chapters 1–7
|
|
|
|
Conway’s Game of Life
|
|
4 |
12
Thu Mar 31
Details
|
- Big Java, §13.1–13.2 (13.1,13.3 in ed 3)
|
|
- Recursion
- Recursive helper methods
|
|
Sierpiński Triangle
|
|
5 |
13
Mon Apr 4
Details
|
- Big Java, §13.3–13.5 (13.2,13.4-5 in ed3)
- Big Java, §14.1–§14.3
- Selection Sort
|
|
- Sierpiński Triangle
- Recursion and efficiency
- Mutual recursion
|
|
Sierpiński Triangle
|
|
5 |
14
Tue Apr 5
Details
|
|
|
- Sorting
- Algorithm analysis
|
|
|
|
5 |
15
Thu Apr 7
Details
|
|
|
- Merge sort recap
- Intro. to function objects,
Comparable
- Intro. to Fork-Join
|
|
|
|
6 |
16
Mon Apr 11
Details
|
|
|
- Convocation schedule
- Cohesion and Coupling
- Immutable classes
- Side effects
- UML class diagrams, relationships
- Static fields and methods
|
|
|
|
6 |
17
Tue Apr 12
Details
|
- Big Java, §9.1–9.6 (9.1-9.5 in ed3)
|
|
- Scope
- Packages
- Interfaces and polymorphism
|
|
BigRational
|
|
6 |
18
Thu Apr 14
Details
|
- Big Java, §9.7–9.11 (9.6-9.10 in ed3)
|
|
- Swing containers, Layout Managers
- Event-based programming
- Listeners, callbacks, and inner classes
- Buttons and other Swing objects
|
|
BigRational
|
|
7 |
19
Mon Apr 25
Details
|
- Big Java, §10.1–10.6 (10.1-10.7 in ed3)
- Be sure to read Special Topic 10.1—Abstract Classes on p. 437
- Skim the remainder of UML Class Diagrams intro
|
|
- Inheritance
- Polymorphism
- Access control
|
|
|
|
7 |
20
Tue Apr 26
Details
|
- Big Java, §10.7–10.8 (10.8-10.11 in ed 3). Skip anything about clone().
|
|
|
|
BallWorlds
|
|
7 |
21
Thu Apr 28
Details
|
|
|
- Object-oriented design
- Case-study
|
|
BallWorlds
|
|
8 |
22
Mon May 2
Details
|
|
|
- Exam review
- File I/O
- Exception handling
- Team Roles
- Vector Graphics design
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
8 |
23
Tue May 3
Details
|
- Review for Exam 2 over topics in Big Java Ch. 1–§14
|
|
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
8 |
24
Thu May 5
Details
|
|
|
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
9 |
25
Mon May 9
Details
|
|
|
- Function objects revisited
- Search algorithms
- Strategy design pattern: pluggable algorithms
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
9 |
26
Tue May 10
Details
|
|
|
- Intro. to linked lists
- Linked list implementation
- Abstract data types
- Data-structure-palooza: stacks and queues (and maybe sets and maps)
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
9 |
27
Thu May 12
Details
|
- Big Java, §16.1–16.4 (skim sections 3 and 4)
|
|
- Abstract data types
- Set and Map implementation sketches
- Intro. to Markov Chaining
- Make-Up Exam 2
7-9pm, O267
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
10 |
28
Mon May 16
Details
|
|
|
|
|
Vector Graphicssee spec. for deliverable due dates
|
Markov Part 1
|
10 |
29
Tue May 17
Details
|
|
|
- Project presentations
In Class
- Exam review
- Markov work time if time remains
|
|
Markov Part 1
|
|
10 |
30
Thu May 19
Details
|
- Big Java, Ch. 17 (skim)
- No ANGEL quiz over this reading
|
- HW 29
- Markov Part 1 assignment due Friday at 5 pm.
|
- Generic programming
- Type variables
- Generic methods
- Course evaluations
- Final Exam, Mon. 6pm
Curt's section in O159 Delvin's section in O157
|
|
Markov Part 1
|
|