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
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

Web Accessibility