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<CourseType> courseTypes;
   public boolean computerLab;
   
}