Introduction to Object-Oriented Programming

Comp 170-005 / ISOM 370-005, Spring 2009 (lab sections are 006)

Instructor: Peter Dordal     TA: Nimisha Sharma Joshi

MW 4:15-5:30, 25 EP Room 201, Lab Mon 3:10-4:00
The labs are required. On occasion, I may reverse the order on Mondays and do the lecture first and then the lab.

Spring 2022:
I am generally in my office on Mondays from noon to a little before 4:00.
Sometimes I have meetings or come in late, so check first.
I am also available other times via Zoom, by appointment. Contact me via email for the Zoom meeting ID.

Text: Barnes & Kölling, Object First with Java: A Practical Introduction Using BlueJ, Fourth edition (3rd edition is ok).

We will be using the BlueJ java environment. On their downloads page, in the blue box at the righthand side, are links to the Sun Java Developers Kit packages, JDK5 and JDK6. I recommend JDK6 unless space or download bandwidth is at a premium.

Topics:


Survey link: the course survey is here, until 6:00 am Monday April 27.

The final exam is Monday, April 27, 4:15 pm.

There will be two in-class exams prior to the final. Exam 1 is Wednesday, Feb 18 (week 6).

Exam 2 is Wednesday, April 8 (week 12).

Here is the exam 1 study guide. Here are (selected) solutions.

Here is the exam 2 study guide. Here are solutions.

Here is the final exam study guide, and solutions.

Here is the Notebook source code, that you will be given on exams 1 and 2 as a source of syntax examples.


Labs (tentative schedule): Project:
course notes

Week 1: Jan 12 Week 2: Jan 19 (no class Jan 19) Week 3: Jan 26
Week 4: Feb 2 Week 5: Feb 9 Week 6: Feb 16 (exam 1 Feb 18)
Week 7: Feb 23 Week 8: Mar 9 Week 9: Mar 16
Week 10: Mar 23 Week 11: Mar 30 Week 12: Apr 6
Week 13: Apr 13 (no lab Apr 13) Week 14: Apr 20


As a rough guide, the grading breakdown will be as follows:

But this is sort of approximate. I reserve the right to change things +/- 5% or so. I also might make individual adjustments to the proportions above, but only in your favor.

Labs should be done during the lab period. If you're not able to do that, they should be submitted by the following lab session.

Sometimes you may be asked to resubmit assignments; as a general rule a resubmitted assignment will never receive a higher grade than that of someone who I didn't feel needed to resubmit. You do, however, get some grace regarding lateness when you resubmit. It is always better to submit what you have on time.

I may have you pair up to do some assignments.

My general course groundrules are here.


Some demo files

These are either mine or are modified from B&K's

Week 1:
Hello.java, LabClass.java

Week 2:
picdemo (pld version of Picture), Picture.java from picdemo.

Week 4:
numerics, also Numerics.java

Week 5: weblog_graph


Links and book projects

Here's the full set of B&K example projects, same as the CD in the book.

Here are some individual projects from the above set:

Chapter 1: lab-classes

Chapter 2: Naive TicketMachine, Better TicketMachine.

Chapter 3: Clock-Display, Mail-System

Chapter 4: Notebook version 1, Notebook v2
                auction, weblog

Chapter 5: