|
Schedule |
The schedule below is approximate, tentative, and subject to change!
Exam Dates:
- Midterm #1: Wednesday,
October 6th in Lab section
- Midterm #2: Wednesday,
November 17th in Lab section
- Final Exam: Tuesday December 14th, 4:00pm -
6:00pm. Location to be announced.
Approximate Lecture Content:
| Monday | Wednesday | Friday | |
| Week 1 8/30 |
Introduction to course; Course tools | Demo of Eclipse IDE; Computer systems overview; Hardware; Memory | Operating systems; Software languages; What is Object Oriented Programming? |
| Week 2 9/6 |
HOLIDAY - NO CLASS | Why Java? Simple coding examples; Text output; Variables and assignment | Primitive types; Strings; Arithmetic operators; Comparison operators |
| Week 3 9/13 |
Last day of schedule adjustment Input via the Scanner; If and if/else statements; Logical operators |
More details on if and if/else statements; Rules for Java identifiers | Camel case convention; Symbolic constants; while loops; do-while loops |
| Week 4 9/20 |
For-loops; Blocks; Nesting of loops | Writing static methods; Increment/decrement; Other assignment operators | Rules of precedence; Short-circuiting; Widening/narrowing conversions; Intro to design |
| Week 5 9/27 |
Intro to objects and classes; Instance members | Java memory model (call stack and heap); Garbage collection; equals method; Begin example of detailed Java class ("Student") | Continue "Student" example; Constructors; toString; equals |
| Week 6 10/4 |
Review for Midterm | Midterm #1 in Lab More about static members vs. instance members |
Variable initialization; JUnit testing |
| Week 7 10/11 |
Commenting; Call stack (frames, etc.); Java keyword "this" | Visibility; Encapsulation; "API" | Round-off errors; Intro to Java packages; Java libraries |
| Week 8 10/18 |
Details of String class; Math class; break; continue | Exception handling (throw, try/catch) | More exception handling (finally); Begin review example: "Password" class |
| Week 9 10/25 |
Continue "Password" example; Mutability; StringBuffer | Eclipse debugger | Arrays |
| Week 10 11/1 |
More details on arryas; Arrays of references | Privacy leaks; Copying arrays (reference/shallow/deep copies); Two-dimensional arrays (ragged) | Rectangular two-dimensional arrays; Java interfaces; Polymorphism |
| Week 11 11/8 |
Last day to drop with a 'W' Wrappers; Examples using Java interfaces |
Complexity (Big-O) | Project design; Method overloading |
| Week 12 11/15 |
Review for midterm | Midterm #2 in Lab Continue method overloading; Ternary conditional operator |
Switch statements; Command-line Java; Javadoc |
| Week 13 11/22 |
Data structures; Syntax for using Java generic collections; Stack; ArrayList | "Fun Day" -- topics to be announced | HOLIDAY - NO CLASS |
| Week 14 11/29 |
For-each loops; Java packages; package visibility | Overview of inheritance | Inheritance (with conceptual example) |
| Week 15 12/6 |
More about inheritance (Memory model; "super", etc.) | Even more about inheritance (dynamic binding, etc.); Why no multiple inheritance? | Review for final exam |
