Week |
Session |
Reading |
HW Due |
Topics |
Resources |
Programs |
1 |
1
Mon Nov 26
Details
|
|
|
- Brief Course Introduction
- Introduction to "static Java" Java including program structure, main, import, integer types, constants, user input, exceptions, arrays for caching, formatted output, command-line arguments, reading and writing files
|
|
Small Java Programs
|
1 |
2
Tue Nov 27
Details
|
- Syllabus
- Weiss Chapter 1
- Sections 2.1-2.2.7
|
|
- Course and Instructor intro
- Using the test scripts
- Command-line arguments
|
|
Small Java Programs
|
1 |
3
Thu Nov 29
Details
|
- Rest of Chapter 2
- Sections 3.1 and 3.2
|
|
- Exception handling
- Reading and Writing Sequential Files
- Strings
- Two-dimensional arrays and ragged arrays in Java
- Dynamically allocating arrays
|
|
Small Java Programs
|
2 |
4
Mon Dec 3
Details
|
- 3.3-3.7
- 4.1-4.1.8
- First two pages of this intro to UML Class Diagrams
|
|
- Basics of Java classes: constructors, mutators and accessors, equals, toString, static fields and methods, this, constructors, calling constructors from constructors
- Using the Java API documentation
- Javadoc comments and document generation
- overriding and overloading
- instanceof, class casts
- instance and static members
- Annotations (Override, SuppressWarnings)
|
|
Small Java Programs
|
2 |
5
Tue Dec 4
Details
|
- 4.2-4.4.4
- Appendix B.1 and B.2
|
|
- Version control review - using Subclipse.
- Review of UML Class Diagram basics
- Basics of inheritance: type compatibility, dynamic dispatch, visibility, super
- IS-A and HAS-A
- Abstract methods and classes
- Interfaces
- Shape examples (hierarchy, polymorphism)
- Unit Testing and JUnit.
|
|
BigRational
|
2 |
6
Thu Dec 6
Details
|
|
|
- Inheritance recap
- Abstract Classes, Interfaces
- Shape hierarchy and Polymorphism
|
|
BigRational
|
3 |
7
Mon Dec 10
Details
|
|
- HW 6
- ANGEL Quiz 5
- PigLatiner Unit Testing from Day 6 class
|
- Java GUI intro: Swing
- JFrame, JComponent, Drawing
- Colors
- Drawing Objects
- User input via JOptionPane
- Components, and containers
- JButton and JLabel
- Layout managers
|
|
Simple Swing Programs
|
3 |
8
Tue Dec 11
Details
|
|
- HW 7
- Complete BigRational Program from HW5 (with Unit Tests)
|
|
|
Swing warm-up
|
3 |
9
Thu Dec 13
Details
|
- Nothing new. Look at Key Concepts
|
- HW 8
- Includes SwingWarmup, due at 11:59 PM
- Includes ANGEL Quiz 6, due at 8:05.
|
- TextFields, Labels, LayoutManagers
- Communities of interacting objects
- work on Swing warm-up
- Interacting objects
- UML Class diagrams
- Violet demo
|
|
Swing warm-up / BallWorlds
|
4 |
10
Mon Dec 17
Details
|
|
- HW 9
- Includes installation of Violet.
- Includes using Violet to create a UML class diagram.
|
- Returnhing multiple values - composite.
- More on UML Class diagrams and interacting Objects
- BallWorlds
|
|
BallWorlds
|
4 |
11
Tue Dec 18
Details
|
|
- HW 10 except BallWorlds, but I strongly suggest that you get everything but through Shrinker done before this session
|
- Generics via Polymorphism, wrappers, auto-boxing
- Generics via parameterized types
- intro to algorithm analysis.
|
|
MineSweeper
|
4 |
12
Thu Dec 20
Details
|
|
- BallWorlds is due at 5 PM on Friday.
- Minesweeper IEP also due Friday at 5:00.
|
|
|
MineSweeper
|
5 |
13
Mon Jan 7
Details
|
|
- HW 11
- The Ballworlds and Minesweeper parts were due before the break.
|
- Threads and Animation
- Asymptotic Analysis, Big-oh and its cousins
- Limits and Asymptotic Analysis
- Work on Minesweeper
|
- Slides
- Example Threads programs are in your individual SVN repository
|
MineSweeper
|
5 |
14
Tue Jan 8
Details
|
- Review Sections 1.1-4.7.1 for the Key concepts quiz.
|
- HW 13
- Note the new "cheat" requirement for Minesweeper; details on discussion forum.
|
- Key Concepts Quiz (on ANGEL)
- Efficient programming and big-Oh
- Function object intro
- Work on MineSweeper
|
|
MineSweeper
|
5 |
15
Thu Jan 10
Details
|
|
- HW 14
- includes three written exercises
|
- Recap: Big-oh and limits
- Function Objects
- Comparable vs. Comparator
- Work on Minesweeper
|
|
MineSweeper
|
6 |
16
Mon Jan 14
Details
|
|
- HW 15
- It's Minesweeper time! (Project is due at 8:05 AM).
|
- Complete the Function Objects exercise
- Generic methods.
- Static search (sequential, binary, interpolation)
- Abstract Data Types and Data Structures
|
|
Hardy's Taxi
|
6 |
17
Tue Jan 15
Details
|
|
- HW 16 includes:
- ANGEL Quiz 8
- Peer evaluation of your Minesweeper team members due at 5 PM (ANGEL survey)
- Begin Hardy's Taxi
|
- BinaryInteger exercise
- More low-level Data Structures
- Data Structures Grand Tour begins
|
|
Hardy's Taxi
|
6 |
18
Thu Jan 17
Details
|
|
- HW 17 Includes:
- Written problem
- Finish BinaryInteger
- Make good progress on Hardy's Taxi program (Due Monday)
- Evaluation of other team's Minesweeper programs due Monday at 8:05
|
- Data Structures Grand Tour continues
- Work on Hardy's Taxi
|
|
Hardy's Taxi
|
7 |
19
Mon Jan 21
Details
|
|
- HW 18 Includes:
- Finish Hardy's Taxi program.
- Written problem on Triangular Arrays
- Review of other Teams' Minesweeper projects.
|
- Data Structures Grand Tour Wrap-up
- Markov Introduction
- FixedLengthQueue -- with your Markov partner
|
|
Markov Part 1
|
7 |
20
Tue Jan 22
Details
|
|
- HW 19 Includes:
- Read Markov documents carefully
- Take ANGEL quiz over Markov
|
- Java Collections classes, iterators.
- Linked List implementation
|
|
Markov Part 1
|
7 |
21
Thu Jan 24
Details
|
|
- HW 20 Includes:
- 4 written problems
- Make substantial progress on Markov
|
- Linked List implementation
- Resources: * Slides
|
|
Markov Part 1 / Markov Part 2
|
8 |
22
Mon Jan 28
Details
|
|
- HW 21 Includes: * Markov Milestone 1 * Written problems
|
- linked-List inplementation: Header nodes
- mini-project intro
|
|
Markov Part 2
|
8 |
23
Tue Jan 29
Details
|
|
- HW 23 Includes:
- Mini-project partner survey: Due at 4:00 on Day 22
|
- [15 min] Exam Questions From Students
- [10 min]Minesweeper tricks
- [35 min] Hardy solution
- [5 min] Break
- [20 min] Hardy timing
- [10 min] Doubly-linked Lists
|
|
Markov Part 2 Mini-project
|
8 |
24
Thu Jan 31
Details
|
|
- Markov Milestone 2 due Monday 8:05 AM.
|
- Exam 2
- If you wish, you may do the non-computer part 7:10-7:50 AM.
- Then you will have the full two class periods for the computer part.
|
|
Mini-project
|
9 |
25
Mon Feb 4
Details
|
- 8.4 (not 8.4.1)
- 8.5-8.5.2
|
- Markov Milestone 2 (8:05 AM)
|
- Exam retrospective
- Begin Elementary sorting methods:
- bubble, selection, insertion, Shell, merge
- Begin project work
|
|
Mini-project
|
9 |
26
Tue Feb 5
Details
|
|
|
- More on Sorting
- Project work
|
|
Mini-project
|
9 |
27
Thu Feb 7
Details
|
|
- HW 26 Includes:
- ANGEL survey about Markov partner(s)
- Finish the UML Class Diagram and Iterative Enhsncement Plan by midnight Tuesday.
- Two written problems.
|
- Finish Sorting overview
- Non-text files, random-access, serialization
- Project work
|
|
Mini-project
|
10 |
28
Mon Feb 11
Details
|
- Articles on Serialization:
- Chapter 13 intro and Section 13.1 of Learning Java, 3rd Edition, available through Safari Books Online. See the syllabus for instructions for how to find the Safari books.
|
- HW 27
- Be ready to demo the state of your spell-checker so far.
|
- More on non-text I/O
- Networking
- Project work
|
|
Mini-project
|
10 |
29
Tue Feb 12
Details
|
|
- Continue project work
- Outline of your presentation due by 5:00 PM
(Commit it to your repository)
|
- Networking
- HTTP protocol (examine via telnet)
- Client program
- Read client/server example later
- Project work
|
|
Mini-project
|
10 |
30
Thu Feb 14
Details
|
|
- Mini-project due (in your repository) before your class.
- Mini-project team member peer evaluation due Friday at noon.
|
- Spell-checker due at beginning of class
- 5-7 minute (including Q&A) mini-project presentation and demo by a randomly-selected member of each team
- Course evaluations.
|
|
Final Exam Week 11 (Monday 6 PM)
|