package resources.course; import java.util.Collection; import resources.Resources; /** * A Course object is the attributes that define what it means to be a course * offered by a university. * * Each course has a subject, course number, course title, course units, work * time units, course types, required equipment, whether or not it needs a * computer lab, a class capacity, and optional comments. A CourseSubject is * either computer science (CSC) or computer engineering (CPE). A course also * has a number like CPE 101. A course also has a title (e.g. CPE 101 is called * Fundamentals of Computer Science I). There is also an amount of units * assigned to a course. Similarly, a course also has work time units for * instructors. A course can either be a Lecture, Lab, Activity, or Seminar. * There are also courses that include a lecture and a lab so you may enter * multiple course types. A course can also require a room that is a Smartroom, * has an overhead projector, or computer connection to a projector. A course * also has the option, if it has a lab, to require a computer lab room. There * is a student capacity associated with a class. An administrator may also * give an optional comment on the course. * * @author aakoeppe * */ public abstract class Course extends Resources { public CourseSubject subject; public int courseNumber; public String courseTitle; public int courseUnits; public int workTimeUnits; public Collection courseTypes; public boolean computerLab; }