|
|
Tentative Schedule |
The schedule below is approximate, tentative,
and subject to change!
Exam Dates:
|
|
Monday |
Wednesday |
Friday |
|
Week 1 |
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 |
HOLIDAY
– NO CLASS |
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 |
if-statements;
logical operators Last Day of
Schedule Adjustment |
short-circuiting;
nesting if-statements; "else-if" style; identifier names; camel
case |
symbolic
constants; proper style for project #1; while loops; do-while loops |
|
Week 4 |
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 |
classes;
instantiating objects; primitive types vs. references; memory diagrams |
using
"new"; garbage collection; aliasing; == vs. "equals" |
Example of a
typical class |
|
Week 6 |
static vs.
instance; static variables; summary of accessing members |
Midterm #1 in Lab |
initialization
of variables; passing parameters (memory diagrams); proper style for project
#3 |
|
Week 7 |
exception
handling |
libraries; overview of packages; Math class;
String class |
visibility;
public/private; getters/setters; API; Encapsulation |
|
Week 8 |
JUnit |
calling
instance method from instance method; "this" |
default constructor; copy constructor; using
"this" in constructors; mutable vs. immutable |
|
Week 9 |
floating point calculations; review (elaborate example) |
Eclipse
debugger; corner cases |
arrays of
primitives |
|
Week 10 |
arrays of
references; privacy leaks; copying arrays (reference/shallow/deep) |
2-dimensional
arrays |
method overloading; ?: ternary operator |
|
Week 11 |
switch
statements; break; continue Last Day to
Drop with a W |
Java
interfaces; polymorphism |
wrappers;
polymorphic arrays |
|
Week 12 |
algorithms;
intro to Big-O |
Midterm #2 in Lab |
design of
large projects; Java from the command prompt; |
|
Week 13 |
package
visibility; more about packages |
more about
commenting; internal vs. external commenting; Javadoc |
HOLIDAY
– NO CLASS |
|
Week 14 |
Java
"generics"; Stack class; ArrayList class; for-each loops;
StringBuffer |
overview of
inheritance; inheritance example |
over-riding
methods; "super"; early vs. late binding; Object class |
|
Week 15 |
class vs.
type; getClass; instanceof; casting; equals reconsidered |
"Why not
multiple inheritance?"; other topics TBA |
Review for Final Exam |