Week |
Session |
Reading |
HW Due |
Topics |
Resources |
Programs |
1 |
1
Mon Nov 29
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 Nov 30
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
|
|
|
|
1 |
3
Thu Dec 2
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
|
|
- API documentation, Javadoc
- 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 Dec 6
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)
|
|
- 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 Dec 7
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
|
|
WordGames
|
Faces
|
2 |
6
Thu Dec 9
Details
|
|
|
- Reading console input
- More text formatting
-
if statements
-
== and equals()
- Selection operator
-
switch statements and enumerated types
- Test coverage
|
|
|
|
3 |
7
Mon Dec 13
Details
|
- Big Java, Ch. 6 This should be review
|
|
-
while and for loops
- Debugging
|
|
|
|
3 |
8
Tue Dec 14
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 Dec 16
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 Jan 3
Details
|
|
|
- Game of Life
- Exam Review – bring your questions
|
|
Conway’s Game of Life
|
|
4 |
11
Tue Jan 4
Details
|
- Review for Exam 1 over topics in Big Java, Chapters 1–7
|
|
|
- One-page summaries of some of the topics we have discussed
|
Conway’s Game of Life
|
|
4 |
12
Thu Jan 6
Details
|
- Big Java, §13.1–13.2 (13.1,13.3 in ed 3)
|
|
- Recursion
- Recursive helper methods
|
|
|
|
5 |
13
Mon Jan 10
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
|
|
|
|
5 |
14
Tue Jan 11
Details
|
|
|
- Sorting
- Algorithm analysis
|
|
|
|
5 |
15
Thu Jan 13
Details
|
|
|
- Merge sort recap
- Intro. to function objects,
Comparable
- Intro. to Fork-Join
|
|
|
|
6 |
16
Mon Jan 17
Details
|
|
|
- Cohesion and Coupling
- Immutable classes
- Side effects
- UML class diagrams, relationships
- Static fields and methods
|
|
|
|
6 |
17
Tue Jan 18
Details
|
- Big Java, §9.1–9.6 (9.1-9.5 in ed3)
|
|
- Scope
- Packages
- Interfaces and polymorphism
|
|
BigRational
|
|
6 |
18
Thu Jan 20
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 Jan 24
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 Jan 25
Details
|
- Big Java, §10.7–10.8 (10.8-10.11 in ed 3). Skip anything about clone().
|
|
|
|
BallWorlds
|
|
7 |
21
Thu Jan 27
Details
|
|
|
- Object-oriented design
- Case-study
|
|
BallWorlds
|
|
8 |
22
Mon Jan 31
Details
|
|
|
- Exam review
- File I/O
- Exception handling
- Team Roles
- Vector Graphics design
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
8 |
23
Tue Feb 1
Details
|
- Review for Exam 2 over topics in Big Java Ch. 1–§14
|
|
- Exam 2
- Students in section 1 may begin the exam as early as 7:10 a.m.
- Students in section 2 have until the end of 10th period to complete the exam
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
8 |
24
Thu Feb 3
Details
|
|
|
- Curt's section: Project work time
- Delvin's section: Exam 2 Rescheduled
- Students in section 2 have until the end of 10th period to complete the exam
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
9 |
25
Mon Feb 7
Details
|
|
|
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
9 |
26
Tue Feb 8
Details
|
|
|
- Function objects revisited
- Search algorithms
- Strategy design pattern: pluggable algorithms
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
9 |
27
Thu Feb 10
Details
|
|
|
- Intro. to linked lists
- Linked list implementation
- Abstract data types
- Data-structure-palooza: stacks, queues, sets, maps
- Intro. to Markov Chaining
- Make-up Exam
O267, 7:30–9:00pm
|
|
Vector Graphicssee spec. for deliverable due dates
|
|
10 |
28
Mon Feb 14
Details
|
- Big Java, §16.1–16.4 (skim sections 3 and 4)
|
|
- Abstract data types
- Set and Map implementation sketches
- Intro. to Markov Chaining
|
|
Vector Graphicssee spec. for deliverable due dates
|
Markov Part 1
|
10 |
29
Tue Feb 15
Details
|
|
|
- Generic programming
- Type variables
- Generic methods
- Course evaluations
- Exam review
- Project presentations
WEDNESDAY O233, 1:30–5:30pm
- Presentation schedule
|
|
Markov Part 1
|
|
10 |
30
Thu Feb 17
Details
|
|
- HW 29
- Markov Part 1 assignment due Friday at 5 pm.
|
- Optional class
- Exam review
- Markov worktime
- Final Exam, Tuesday, 1-5pm
Curt's section in O257 Delvin's section in O259
|
|
Markov Part 1
|
|