Programming 622 Assignments
Programming 622 Assignments
Date Submitted:
Moderator’s Comments:
5. Assignments submitted without citations and accompanying reference lists will be penalized.
6. Students are not allowed to share assignments with fellow students. Any shared assignments will
attract stiff penalties.
7. The use of, and copying of content from websites such as chegg.com, studocu.com,
transtutors.com, sparknotes.com or any other assignment-assistance websites is strictly
prohibited. This also applies to Wiki sites, blogs and YouTube.
8. Any pictures and diagrams used in the Assignment should be properly labelled and referenced.
9. Correct formatting as indicated on the Cover Page should be followed (font-size 12, font-style
Calibri, line spacing of 1.0 and margins justified).
10. All Assignments must be saved in PDF using the correct naming-convention before uploading on
Moodle. E.g. StudentNumber_CourseCode_Assignment (402999999_WBT512A_Assignment).
11. For each question in the assignment, paste the screenshot of the output. Below
this screenshot, paste all the code for that question.
QUESTION 1 (20 MARKS)
Assume you are a Junior C++ Developer at Richfield, Richfield's library needs a modern, efficient
catalog system to manage its growing collection of academic resources.
Design a Resource class that can represent various types of academic materials (books,
journals, digital resources). Use inheritance if appropriate.
Implement a Catalog class using an appropriate STL container. This class should efficiently
manage the entire resource collection.
In the Catalog class, create methods to:
o Add new resources to the system
o Remove outdated or damaged resources
o Search for resources using multiple criteria (title, author, ISBN, type)
o Generate a report of all resources, grouped by type
Ensure your implementation demonstrates advanced OOP principles and effective use of
const correctness.
Bonus: Implement a simple command-line interface for librarians to interact with your system.
Richfield needs a new course scheduling system. As an outsourced Junior C++ developer, you
have been tasked to develop an intelligent system to optimize class schedules, room allocations,
and student registrations.
Richfield wants to improve its student club management system. As a Junior C++ developer, you
are tasked with creating "ClubHub", a program to manage club memberships and activities.
END OF ASSIGNMENT