CMSC 131 -- Object Oriented Programming I

Sections 010x/020x/030x -- Fall 2010

Fear the Turtle!

Schedule


The schedule below is approximate, tentative, and subject to change!

Exam Dates:



Approximate Lecture Content:

  MondayWednesdayFriday
Week 1
8/30
Introduction to course; Course tools Demo of Eclipse IDE; Computer systems overview; Hardware; Memory Operating systems; Software languages; What is Object Oriented Programming?
Week 2
9/6
HOLIDAY - NO CLASS Why Java? Simple coding examples; Text output; Variables and assignment Primitive types; Strings; Arithmetic operators; Comparison operators
Week 3
9/13
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
9/20
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
9/27
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
10/4
Review for Midterm Midterm #1 in Lab
More about static members vs. instance members
Variable initialization; JUnit testing
Week 7
10/11
Commenting; Call stack (frames, etc.); Java keyword "this" Visibility; Encapsulation; "API" Round-off errors; Intro to Java packages; Java libraries
Week 8
10/18
Details of String class; Math class; break; continue Exception handling (throw, try/catch) More exception handling (finally); Begin review example: "Password" class
Week 9
10/25
Continue "Password" example; Mutability; StringBuffer Eclipse debugger Arrays
Week 10
11/1
More details on arryas; Arrays of references Privacy leaks; Copying arrays (reference/shallow/deep copies); Two-dimensional arrays (ragged) Rectangular two-dimensional arrays; Java interfaces; Polymorphism
Week 11
11/8
Last day to drop with a 'W'
Wrappers; Examples using Java interfaces
Complexity (Big-O) Project design; Method overloading
Week 12
11/15
Review for midterm Midterm #2 in Lab
Continue method overloading; Ternary conditional operator
Switch statements; Command-line Java; Javadoc
Week 13
11/22
Data structures; Syntax for using Java generic collections; Stack; ArrayList "Fun Day" -- topics to be announced HOLIDAY - NO CLASS
Week 14
11/29
For-each loops; Java packages; package visibility Overview of inheritance Inheritance (with conceptual example)
Week 15
12/6
More about inheritance (Memory model; "super", etc.) Even more about inheritance (dynamic binding, etc.); Why no multiple inheritance? Review for final exam

Web Accessibility