95-712: Object-Oriented Programming in Java
MISM/MSIT, Carnegie
Mellon University
This page is subject to change.
I will be mostly following the lecture material of Prof.
Steven Roehrig. You can find his lecture notes at http://www.heinz.cmu.edu/~roehrig/Java.
If a link is inactive, it means I'm revising it. Links will be available
Tuesday night before the lecture.
September 1, 2004
- Topics: Administrative stuff,
object-oriented programming, Java vs. C++, writing and running a Java
program.
- Reading: Core Java, Chapters 1 & 2
- Homework: For the
first homework, do not submit anything but do the following:
- Download and setup
the Java development environment and an IDE of your choice.
- Run the sample
programs from the lecture notes in your IDE.
- Notes:
Lecture
notes
- Notes:
Information regarding the recommended downloads from Steve's notes:
Suggested downloads,
javaPrompt,
September 8, 2004
- Topics: Java Language Features, Program control,
Strings, Arrays, Some Eclipce Features
- References: Core Java, Chapters 1 and 3
- Homework: Homework 1
due to Sept. 15, 2004, at the beginning of class.
- Notes: Lecture Notes
- Lecture Slides: Program Control
- Reading Assignment: Core Java, Chapters 4 and 5
September 15, 2004
- Topics: Objects and Classes, Initialization and
Cleanup, Comments, Coding Convention
- References: Chapter 4 of Core Java, Chapters 1 and
2 of Thinking in Java
- Homework: Homework 2
due to Sept. 29, 2004, at the beginning of
class.
- Notes: Lecture
Notes
- Lecture Slides: Initialization and Cleanup
- Reading Assignment: Core Java, Chapter 5
September 22, 2004
- Topics: Packages, Access Specifiers, Composition,
Inheritance, Finals, Class Loading
- References: Chapters 4 and 5 of Core Java, Chapters 5
and 6 of Thinking in Java
- Homework: Homework 3
due to Oct. 6, 2004, at the beginning of
class.
- Notes: Lecture
Notes
- Lecture Slides: Access Control and Reuse
- Reading Assignment: Core Java, Chapters 5 and 6
September 29, 2004
- Topics: Polymorphism, Casting, Abstract
Classes, Reflection, Stream Tokenizers, Basic File I/O
- References: Chapters 5 and 12 of Core Java, Chapters 6,
7 and 12 of Thinking in Java
- Homework: Homework 4
due to Oct. 13, 2004, at the beginning of
class.
- Notes: Lecture
Notes
- Lecture Slides: Polymorphism
- Reading Assignment: Core Java, Chapter 6
October 6, 2004
- Topics: Continue with Abstract Classes and
Reflection
- References: Chapter 5 of Core Java, Chapters 6 and 7
of Thinking in Java
- Homework: No new homework this week.
- Notes: Lecture
Notes
- Lecture Slides: Polymorphism
- Reading Assignment: Core Java, Chapter 6
October 13, 2004
- Topics: Interfaces, inner
classes, Events, Callbacks via Inner Classes, Class Design Principles
- References: Chapters 6 of Core Java, Chapter 8 of
Thinking in Java
- Homework: Homework 5
due to Oct. 27, 2004, at the beginning of
class.
- Notes: Lecture
Notes
- Lecture Slides: Interfaces and Inner
Classes
- Reading Assignment: None. Study for Bmidterm exam
October 20, 2004
- Midterm exam given this
week
at the
class time.
- Sample solutions for
programming exercises in midterm exam
- Reading Assignment: Read Core Java, Chapters 7, 8, 9 and 10 for
next week.
October 27, 2004
- Topics: GUI Basics, Graphics Programming
- References: Chapters 7 of Core Java, Chapter 14 of
Thinking in Java
- Homework: Homework 6
due to Nov. 17, 2004, start of class.
- Notes: Lecture
Notes
- Reading Assignment: Core Java, Chapters 8, 9 and 10
November 3, 2004
- Topics: Event Handling, Swing GUI Components, Layout
Managers
- References: Chapters 8, 9 of Core Java, Chapter 14
of Thinking in Java
- Homework: No new homework this week.
- Notes: Lecture
Notes
- Reading Assignment: Core Java, Chapters 9 and 10
November 10, 2004
- Topics: Advanced Swing Components, Applets and
Applications
- References: Chapter 10 of Core Java, Chapter 14
of Thinking in Java
- Homework: Homework 7
due to Dec. 1, 2004, start of class.
- Notes: Lecture
Notes
- Lecture Slides: Applications, Applets & Swing
- Reading Assignment: Core Java, Chapters 11, 12
November 17, 2004
- Topics: Exceptions, Java IO
- References: Chapters 11 and 12 of Core Java
- Homework: no new homework this week.
- Notes: Lecture
Notes
- Lecture Slides: Exceptions
, Java IO
- Reading Assignment: Chapter 15 of Thinking in Java
November 24, 2004
- No class this week. Enjoy the thanksgiving holiday.
December 1, 2004
- Topics: Collection Classes, Iterators
- References: "Collections of Objects" Chapter of Thinking in Java
- Homework: The Optional Homework
due to Monday, December 13, 2004, 7pm.
- Notes: Lecture Notes
- Lecture Slides: Collection Classes
- Reading Assignment: "Concurrency" Chapter of Thinking in Java
December 8, 2004
- Topics: Threads, JDBC
- References: "Concurrency" Chapter of Thinking in Java
- Homework: no new homework this week.
- Notes: Lecture Notes
- Lecture Slides: Threads and JDBC
- Reading Assignment: None. Study for final exam.
December 15, 2004