CS 108: Application Programming                                                  Fall Semester 2004

Class Meetings:
Tuesday and Thursday 9:30 – 11:00 AM @ CAS 226
Instructor: Aaron Stevens
Office: PSY 228B (enter at 96 Cummington St., behind Warren Towers).
Hours: Wednesdays 2-4pm and by appointment.
Best way to contact me: - email: azs@aaronstevens.net.  Always include “CS108” in the subject.
- MSN Messenger: azs@aaronstevens.net
- AOL IM: azsteven  [link works in Netscape only -- sorry!]
Teaching fellow: Yuting (Dana) Zhang danazh@cs.bu.edu phone # 3-8921
Tutoring hours:
Tuesdays 12-2pm @ MCS 211
Thursdays, 11am-1pm @ the undergraduate lab
 ... and by appointment

ANNOUNCEMENT: Grades will be posted around Friday, December 17, 2004. Thank you for your patience!

Handout for Assignment 1: Phone Book Requirements and Design, due 9/16.
Handout for Assignment 2: Phone Book Basic Implementation, due 9/28
Handout for Assignment 3: Loan Payment Calculator, due 10/5.
Handout for Assignment 4: Phone Book Data Structure with Arrays, due 10/14.
Handout for Assignment 5: GrepLike Pattern-matching Application, due 10/21,
Handout for Assignment 6: Graphical User Interface, due 11/4
Handout for Assignment 7: Advanced Graphical User Interface, due 11/23

Lab handouts

Lab 1 - Introducing NetBeans
D&D's examples from chapters 2 and 3, for use in lab 1.
Lab 2 - Using the NetBeans Debugger
Lab 3 - For loops and switch statements
Lab 4 - Using methods
and parameters

Course objective: Introduce students to computer programming and application development.

Course goals: Stimulating the student’s curiosity with respect to the computer; analyzing business problems for the purpose of developing computer solutions; and articulating a process to develop solutions to these business problems in the form of computer programs.

This course will introduce students to the software development lifecycle (specification, design/planning, implementation/coding, testing), and the major paradigms for software development. A major portion of the course will be dedicated to learning the basics of structured and object-oriented programming in Java. The course will culminate with a software development team project, which will simulate the process used by a team of software development consultants.

At the end of this course, students will be able to:
  • Identify and explain the majors aspects of an object-oriented computer program 
  • Analyze a business problem/situation and describe the process of building a computer program to solve the business problem.
  • Implement a business application with a computer program.

Books and Software:


Deitel and Deitel: Java How To Program, 6th Edition, Prentice Hall, 2005.

Available at the bookstore, and on reserve at the Science and Engineering Library.


Eckel, Bruce: Thinking in Java, 3nd Edition. Prentice Hall, 2002. Available free on the web at www.mindview.net.

Other readings and handouts, TBD.

Java SDK:
We will be using the Java 1.5.0 Development Kit (JDK), available from java.sun.com. Download the JDK.

Java API Specification:
The Java API Specification is the MOST IMPORTANT REFERENCE that you will use while programming.

NetBeans IDE:
We will be using the NetBeans version 3.6.0 Integrated Development Environment (IDE) and debugger to write, compile, and test Java code.

Created by: Aaron Stevens, azs@aaronstevens.net
Last update: 9 december 2004