Database Management System - demo by the last lab


In this lab you will implement a simple database. To do so, you will use most of what you have learned throughout this course. Your program will read information from files to create lists of records (or, as we say in the object paradigm, Objects); then it will manipulate those lists and records (Objects) in response to user actions from a GUI you have built.

This program is large enough that you may become confused if you do not design your program well, or if you attempt to implement too much at once. Therefore, start small, and practice stepwise implementation; this requires discipline on your part, there is a great temptation to jump right in before thinking a problem through.

Due date and Extra Credit

  1. By Friday week 13 (i.e 11/21, Friday before T'day break): Design.
  2. Friday, December 5 (last day of classes): LATE PROGRAMS WILL NOT BE ACCEPTED.
  3. EXTRA CREDIT: Early programs will receive a bonus of 4% per day -- unlimited. For example, if you demo the lab by Fri, 11/21 (i.e. 14 days early), you can gain 14*4%=56%! NB: Extra credit points are limited to the percentage of the code that is operational when you demo; thus, if you demo a program that does nothing at all, it would receive zero points, and 56% of zero is, well, zero.


You may choose either the database lab detailed below, or, if you wish, propose your own.


  1. Data files -- Sample data file is here
  2. GUI
    1. Use menus for Save, Load, Edit, etc as needed.
    2. use Combo boxes, for the courses to be added, deleted, or edited
    3. Use additional Frames or Dialogs for editing (or JOptionPanes! google "java tutorial JOptionPane)

Problem solving advice

There are many different problem solving strategies that people employ when programming. Here, problem solving is the behavior that one engages in when one does not know how to proceed.

Some of the most common debugging strategies are: