|
Schedule |
The schedule below is approximate, tentative, and subject to change!
Exam Dates:
- Midterm #1: Wednesday,
February 29th in Lab section
- Midterm #2: Wednesday,
April 18th in Lab section
- Final Exam: Monday May 14th, 4:00pm -
6:00pm. Location to be announced.
Approximate Lecture Content:
| Monday | Wednesday | Friday | |
| Week 1 01/23 |
Introduction to course; Course tools | Demo of Eclipse IDE; Computer systems overview; Hardware; Memory | |
| Week 2 01/30 |
Operating systems; Software languages; What is Object Oriented Programming? | Why Java? Simple coding examples; Text output; Variables and assignment | Primitive types; Strings; Arithmetic operators; Comparison operators |
| Week 3 02/06 |
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 02/13 |
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 02/20 |
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 02/27 |
Review for Midterm | Midterm #1 in Lab More about static members vs. instance members |
Variable initialization; JUnit testing |
| Week 7 03/05 |
Commenting; Call stack (frames, etc.); Java keyword "this" | Visibility; Encapsulation; "API" | Round-off errors; Intro to Java packages; Java libraries |
| Week 8 03/12 |
Details of String class; Math class; break; continue | Exception handling (throw, try/catch) | "Fun Day" (Topics to be announced...) |
| Week 9 03/19 |
SPRING BREAK | SPRING BREAK | SPRING BREAK |
| Week 9 03/26 |
More exception handling (finally); Begin review example: "Password" class | Continue "Password" example; Mutability; StringBuffer | Eclipse debugger |
| Week 10 04/02 |
Arrays | More details on arrays; Arrays of references | Privacy leaks; Copying arrays (reference/shallow/deep copies); Two-dimensional arrays (ragged) |
| Week 11 04/09 |
Rectangular two-dimensional arrays; Java interfaces; Polymorphism | Wrappers; Examples using Java interfaces | Complexity (Big-O) |
| Week 12 04/16 |
Review for Midterm | Midterm #2 in Lab Project design; Method overloading |
Continue method overloading; Ternary conditional operator |
| Week 13 04/23 |
Switch statements; Command-line Java; Javadoc | Data structures; Syntax for using Java generic collections; Stack; ArrayList | For-each loops; Java packages; package visibility |
| Week 14 04/30 |
Overview of inheritance | Inheritance (with conceptual example) | More about inheritance (Memory model; "super", etc.) |
| Week 15 05/07 |
Even more about inheritance (dynamic binding, etc.); Why no multiple inheritance? | Review for final exam | |
| Week 16 05/14 |
Final Exam |
