> Education Commons > Java > Assignments > CIS

Course Information System

Course file

The course file is a plain-text file with one course description per line. Each description contains the following tab-delimited data:

Course class

Create a Course class to represent a single course. There should be at least two constructors—one which assigns default values and one which accepts the four data listed above—and a full set of accessors and mutators including the following:

Sample documentation can aid your design.

CourseUtility class

Create a CourseUtility class to read and write course data from and to files. Include methods to read and write raw data like those found in the course file described above and methods to read and write Course objects.

When reading, your methods should distinguish between valid and invalid data. Invalid course descriptions and invalid objects should be rejected; these invalid data should be written to an exceptions file.

CourseDatabase class

Create a CourseDatabase class to implement the Course Information System: a database-management system which allows an authorized user to:

In addition, the CIS should allow an authorized user to query the database. Sample queries include:

  1. How many courses are in the database?
  2. How many courses were there for academic year 2000?
  3. Which applied courses are offered at the grade-9 level?
  4. How many history courses are there?
  5. Which IB courses are offered at the grade-11 or grade-12 level in 2018?
  6. Which Special Education courses are available this year?
  7. How many Technology courses are offered to English Language Learners?


Work will be evaluated according to this markscheme. > Education Commons > Java > Assignments > CIS

[This page last updated 2020-12-23 at 12h12 Toronto local time.]