MC697
Object-Oriented Programming Using Java


Class Information

Instructor Brian Bernier
Meeting Times Tuesdays and Thursdays 4:30 - 5:45pm
Classroom Fulton 110
Labs & Homework Use personal computer or Fulton 160.
To use Fulton 160 you need a password.
If you don't already have one, see Jane Costello in Fulton 460.

Contact Information

Office Address 207F Waul House 
Boston College 
256 Hammond Street 
Chestnut Hill, MA  02467
Phone (617) 552-3079
Email bernier@bc.edu
Office Hours by appointment
TA
Dan Allen
allendd@bc.edu
(617) 277-9715

Grades

Homework (policy on homework) 30%
Midterm 20%
Final Exam 30%
Quizzes 20%

Resources

Textbook Core Java Volume 1 - Fundamentals 6th edition 
by Horstmann and Cornell
Sun's web site http://java.sun.com/docs/books/tutorial/java/index.html
API documentation http://java.sun.com/j2se/1.4.1/docs/api/index.html

Goals of Class

Provide an understanding of Java syntax and existing Java classes.
Introduce basic object-oriented design concepts. 
Apply these OO concepts using Java.
Introduce some advanced Java topics including JDBC and servlet programming.

Course Outline

Tuesday 
September 3
Course Introduction 
Introduction to Object-Oriented Programming 
Basic structure of a java program
Lab #1 Homework #1 Lecture Notes
Thursday 
September 5
Fundamental Programming Structures in Java: 
Comments, Data Types, Variables, Assignments, Operators
Lab #2 Homework #2 Lecture Notes
Tuesday 
September 10
Fundamental Programming Structures in Java: 
Control Flow, Arrays and Vectors
Lab #3 Homework #3 Lecture Notes
Thursday 
September 12
Fundamental Programming Structures in Java: 
Strings
Lab #4 Homework #4 Lecture Notes
Tuesday 
September 17
Quiz #1 see answers to quiz
Basic OOP Concepts and Terms
Lab #5 Homework #5 Lecture Notes
Thursday 
September 19
Applying OO Concepts Using Java  Lab #6 Homework #6 Lecture Notes
Tuesday 
September 24
Applying OO Concepts Using Java (continued)  Lab #7 Homework #7 Lecture Notes
Thursday 
September 26
Inheritence  Lab #8 Homework #8 Lecture Notes
Tuesday 
October 1
Inheritence (continued)  Lab #9 Homework #9 Lecture Notes
Thursday 
October 3
Interfaces  Lab #10 Homework #10 Lecture Notes
Tuesday 
October 8
Inner Classes
Review for midterm

Lab #11 Study for midterm Lecture Notes
Thursday 
October 10
Football Game - No Class


Tuesday 
October 15

Midterm




Thursday 
October 17
Graphics Programming  Lab #12 Homework #12 Lecture Notes
Tuesday 
October 22
Graphics Programming (continued)  Lab #13
Lecture Notes
Thursday 
October 24
Event Handling  Lab #14 Homework #14 Lecture Notes
Tuesday 
October 29
Event Handling (continued)  Lab #15
Lecture Notes
Thursday 
October 31
Swing User Interface Components  Lab #16 Homework #16 Lecture Notes
Tuesday 
November 5
Swing User Interface Components (continued)  Lab #17
Lecture Notes
Thursday 
November 7
Quiz #2 see answers to quiz




Tuesday 
November 12
Accessing a Database Using JDBC Lab #19 Homework #19
Lecture Notes
Thursday 
November 14
Accessing a Database Using JDBC (continued) Lab #20


Tuesday 
November 19
Streams and Files Lab #21 Homework #21
Lecture Notes
Thursday 
November 21 
Streams and Files (continued)  Lab #22

Tuesday 
November 26
Thanksgiving Vacation - No Class


Thursday 
November 28
Thanksgiving Vacation - No Class


Tuesday 
December 3
Exceptions and Debugging Lab #23
Lecture Notes
Thursday 
December 5
Presentation of Final Projects


Description of
Final Projects
and Teams