|
Tentative Schedule |
The schedule below is approximate, tentative, and subject to change!
Exam Dates:
- Midterm #1: Monday 10/13 in your discussion (lab) session
- Midterm #2: Wednesday 11/19 in your discussion (lab) session
- Final Exam: Tuesday 12/16, 4:00pm - 6:00pm. Location to be announced.
| Monday | Wednesday | Friday | |
|---|---|---|---|
| Week 1 9/1 |
No Classes | course intro; modern program development | intro to CVS and Eclipse; hardware; internal representation of data |
| Week 2 9/8 |
software overview; history of programming languages; "What is Object Oriented programming?" | intro to Java basics: comments, expressions, statements, main method, System.out.print, local variables, Strings and concatenation | primitive types; Scanner; arithmetic operators; comparison operators; basic String operators |
| Week 3 9/15 |
if-statements; logical operators | short-circuiting; nesting if-statements; "else-if" style; indentifier names; camel case | symbolic constants; proper style for project #1; while loops; do-while loops |
| Week 4 9/22 |
for loops; nesting loops; calling static methods; passing parameters; commenting of methods and proper style for project #2 | literals; escape sequences; increment/decrement operators; various assignment operators; precedence | narrowing/widening conversions; overview of software design; pseudocode; Objects |
| Week 5 9/29 |
classes; instantiating objects; primitive types vs. references; memory diagrams | using "new"; garbage collection; aliasing; == vs. "equals" | Example of a typical class |
| Week 6 10/6 |
static vs. instance; static variables; summary of accessing members | initialization of variables; passing parameters (memory diagrams); proper style for project #3 | Review for midterm |
| Week 7 10/13 |
exception handling Midterm #1 in Lab |
libraries; overview of packages; Math class; String class | visibility; public/private; getters/setters; API; Encapsulation |
| Week 8 10/20 |
JUnit | calling instance method from instance method; "this" |
default constructor; copy constructor; using "this" in constructors; mutable vs. immutable |
| Week 9 10/27 |
floating point calculations; review (elaborate example) |
Eclipse debugger; corner cases | arrays of primitives |
| Week 10 11/3 |
arrays of references; privacy leaks; copying arrays (reference/shallow/deep) |
method overloading; ?: ternary operator
|
switch statements; break; continue |
| Week 11 11/10 |
Java interfaces; polymorphism | wrappers; polymorphic arrays | algorithms; intro to Big-O |
| Week 12 11/17 |
Review for midterm |
design of large projects; Java from the command prompt; start
2-dimensional arrays Midterm #2 in Lab |
continue 2-dimensional arrays; package visibility; more about packages |
| Week 13 11/24 |
more about commenting; internal vs. external commenting; Javadoc | Fun Day -- topics to be determined | Holiday -- No Class |
| Week 14
12/1 |
Java "generics"; Stack class; ArrayList class; for-each loops; StringBuffer | overview of inheritance; inheritance example (CrazyList) | over-riding methods; "super"; early vs. late binding; Object class |
| Week 15 12/8 |
class vs. type; getClass; instanceof; casting; equals reconsidered | "Why not multiple inheritance?"; other topics TBA |
Review for Final Exam
|
