|
Tentative Schedule |
The schedule below is approximate, tentative, and subject to change!
Exam Dates:
|
|
Monday |
Wednesday |
Friday |
|
Week 1 |
01 Intro course intro; modern program development |
intro to CVS and Eclipse; hardware; internal representation of data |
software overview; history of programming languages; "What is Object Oriented programming?" |
|
Week 2 |
02 Java Intro intro to Java basics: output, string literals, comments, variables, expressions, statements, main method, System.out.print, local variables, Strings and concatenation |
primitive types; literals; escape sequences; Scanner; arithmetic operators; comparison operators; basic String operators |
Day Lost Due to Snow |
|
Week 3 |
Week Lost Due to Snow |
||
|
Week 4 |
03 Control Structures if-statements; logical operators nesting if-statements; identifier names; camel case |
symbolic constants; Java Code Conventions; "else-if" style; |
while loops; do-while loops; for loops; nesting loops;
04Operators calling static methods; |
|
Week 5 |
passing parameters; commenting of methods and proper style for project #2
increment/decrement operators; side effects; various assignment operators;
|
Precedence; Short circuiting, narrowing/widening conversions; implicit casting; 05 Classes Intro overview of software design; pseudocode; Objects; accessing members (static/instance) |
Classes vs objects; instantiating objects; using "new";heap vs stack; |
|
Week 6 |
primitive types vs. references; memory diagrams |
garbage collection; aliasing; == vs. "equals" |
Constructors, toStirng() method |
|
Week 7 |
JUNIT
|
06 Encapsulation
This, public vs private members, getters and setters, API, javadoc, |
floating point calculations (epsilon);
|
|
3/15 |
Spring Break |
||
|
Week 8 |
libraries; overview of packages; Math class; String class
|
Math class; String class,
|
07 Exceptions and Mutability Break and Continue for Loops exception handling aliasing, mutability and String Buffer
|
|
Week 9 |
08 Debugger
Eclipse debugger; corner cases
|
Finish Debugger connecting to tracing overloaded methods and with junit |
calling instance method from instance method; "this"
default constructor; copy constructor; using "this" in constructors;
|
|
Week 10 |
09 Arrays Intro
arrays of primitives
arrays of references; privacy leaks; copying arrays (reference/shallow/deep) |
Array examples For Each Loop
|
10 Multi Dimensional Arrays
2-dimensional arrays |
|
Week 11 |
12 Interfaces and Wrappers
Java interfaces; polymorphism
|
wrappers; polymorphic arrays |
11 Switch etc
method overloading; ?: ternary operator
|
|
Week 12 |
More switch examples; And review for exam
|
15 Collections Java "generics"; Stack class; ArrayList class; for-each loops; |
Complete Collections with examples
|
|
Week 13 |
15 Packages
package visibility; more about packages |
16 Inheritance
overview of inheritance; inheritance example (CrazyList)
|
over-riding methods; "super"; early vs. late binding;
|
|
Week 14 |
Object class; overloading vs overriding; |
class vs. type; getClass; instanceof; casting; equals reconsidered |
"Why not multiple inheritance?"; other topics TBA |
|
Week 15 |
Review for Final Exam |
No Class |
Final Exam May 14, 4:00-6:00 pm |