COMS S1007

Object-Oriented Programming and Design in Java

Summer 2007

Announcements

The full description for the final project is now available.

Teaching Staff

Instructor: Chris Murphy (cmurphy@cs.columbia.edu)
Office hours: 608 CEPSR, TR 3:30-4:30

TA: Hila Becker, (hila@cs.columbia.edu)
Office hours: 6LE1 CEPSR, MW 4:00-5:00

Syllabus (Tentative)

Date Topics Covered Reading Notes Assignments
Jul 3 Course introduction
Review of Java basics
  slides
Employee.java
CuteRatPopulation.java
Quiz.java / Student.java
 
Jul 5 Designing classes
NetBeans IDE
8.1 - 8.9 slides
NetBeans tutorial
in-class assignment
 
Jul 10 Interfaces and Polymorphism
Inheritance
9.1 - 9.5
10.1 - 10.8
 
Jul 12 Basic Graphics 2.11 - 2.13, 3.9 GraphicsTest.java
Circle.java
CircleViewer.java
Assignment #1 due
Jul 17 Event Handling
Threads
9.6 - 9.10
20.1 - 20.2
slides
MouseMove.java
PainterThread.java
RandomCircles.java
 
Jul 19 More Graphics
Software Testing
2.8, 3.6, 5.5, 7.8 slides
Square.java
SquareViewer.java
Assignment #2 due
Jul 24 Graphical User Interfaces 18.1 - 18.4    
Jul 26 Networked applications 21.1 - 21.5 slides
MathServer.java
MathClient.java
MathClientUI.java
Assignment #3 due
Jul 31 Exceptions
Thread synchronization
Data structures
11.1 - 11.6
20.3 - 20.5
15.1 - 15.3
slides
MathServer.java (revised)
MathClient.java (revised
MathClientTest.java
LinkedList.java
 
Aug 2 More data structures
Advanced topics
15.4, 16.1 - 16.7 slides
 
Aug 7 Final Project presentations
Final Exam review
  slides
practice question (solution)
 
Aug 9 Final Exam     Final Project due

All readings are from Big Java by Cay Horstmann, Third Edition.

Class Policies
Exams There will be an in-class final exam on the last day of classes. No makeup exams will be given.
 
Grading Grades will be assigned using the following guidelines:
Homeworks 35%
Final Exam 40%
Final Project 25%
 
Late Policy Because of the tight schedule, it is important that assignments be submitted on time. Late homeworks will not be accepted without previous permission from the instructor.
 
Academic Honesty Please familiarize yourself with the Computer Science Department's academic honesty policy.


cmurphy@cs.columbia.edu