Course Information System
The course file is a plain-text file with one course description per line. Each description contains the following tab-delimited data:
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 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
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 to implement the Course Information System: a database-management system which allows an authorized user to:
- retrieve courses from secondary storage
- edit courses
- delete courses
- create courses online or from data stored in files
- store courses for later retrieval
- examine exceptions data
In addition, the CIS should allow an authorized user to query the database. Sample queries include:
- How many courses are in the database?
- How many courses were there for academic year 2000?
- Which applied courses are offered at the grade-9 level?
- How many history courses are there?
- Which IB courses are offered at the grade-11 or grade-12 level in 2018?
- Which Special Education courses are available this year?
- How many Technology courses are offered to English Language Learners?
Work will be evaluated according to this markscheme.
[This page last updated 2020-12-23 at 12h12 Toronto local time.]
© 2007–2021 Hersch, Bear & Company Limited. All rights reserved. “Grammar Authority,” “grammarauthority.com,” “touque.ca,” and “Canada’s Thinking Cap” are trademarks of Hersch, Bear & Company Limited. All other trademarks and copyrights are the property of their respective owners.