|
Schedule |
The schedule below is approximate, tentative, and subject to change!
Exam Dates:
- Midterm #1: Friday,
March 2th in Lecture section
- Midterm #2: Wednesday,
April 4th in Lecture section
- Final Exam: Monday, May 14th, 4:00pm -
6:00pm. Location to be announced.
Approximate Lecture Content:
| Monday | Wednesday | Friday | |
| Week 1 1/23 |
no class | Introduction to course; Course tools | Demo of Eclipse IDE; Computer systems overview; Hardware; Memory |
| Week 2 1/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 2/6 |
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 2/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 2/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 2/27 |
More about static members vs. instance members | Variable initialization; JUnit testing | Exam 1 in lecture |
| Week 7 3/5 |
Commenting; Call stack (frames, etc.); Java keyword "this" | Visibility; Encapsulation; "API" | Round-off errors; Intro to Java packages; Java libraries |
| Week 8 3/12 |
Details of String class; Math class; break; continue | Exception handling (throw, try/catch) | More exception handling (finally); Begin review example: "Password" class |
| Week 3/19 |
Spring Break | No Class | Have Fun |
| Week 9 3/26 |
Array Intro | Arrays | Eclipse debugger |
| Week 10 4/2 |
More details on arryas; Arrays of references | Exam 2 in lecture | Privacy leaks; Copying arrays (reference/shallow/deep copies); Two-dimensional arrays (ragged) |
| Week 11 4/9 |
Rectangular two-dimensional arrays; Java interfaces; Polymorphism | Last day to drop with a 'W' Wrappers; Examples using Java interfaces |
Complexity (Big-O) |
| Week 12 4/16 |
Project design; Method overloading | Continue method overloading; Ternary conditional operator | Switch statements; Command-line Java; |
| Week 13 4/23 |
Finish Command-line Java; Writing Javadoc | Data structures; Syntax for using Java generic collections; Stack; ArrayList | For-each loops; Java packages; package visibility |
| Week 14 4/30 |
Overview of inheritance | Inheritance (with conceptual example) | More about inheritance (Memory model; "super", etc.) |
| Week 15 5/7 |
Even more about inheritance (dynamic binding, etc.); Why no multiple inheritance? | Review for final exam | No Class - Study Day |
