package courseDirectory;

import java.util.List;
import java.util.ArrayList;

abstract class GrinnellCSCourse1 extends GrinnellCSCourse
{
    /* fields required for implementing CS2013 
     */
    // title not needed for CS2013, since title also in GrinnellCourse
    List<String> knowledgeUnitList;   // list of knowledge units
    List<String> knowUnitPrereqList;  // prerequisites of knowledge units
                // (different from course prerequisites in GrinnellCourse)

    /* additional fields for Grinnell CS Courses
     */
    List<String> paradigmList;
    List<String> supportLangList;

    /* additional getters */
    public List<String> getKnowledgeUnits () {
        return knowledgeUnitList;
    }

    public List<String> getPrereqList () {
        return knowUnitPrereqList;
    }

    public List<String> getParadigms () {
        return paradigmList;
    }

    public List<String> getLangs () {
        return supportLangList;
    }

    // for purposes of demonstration, no modifiers defined here

    public String toString () {
        return super.toString ()
        + "    knowledge units:  " + createList (knowledgeUnitList)
        + "    k. u. prerequisites:  " + createList (knowUnitPrereqList)
        + "    paradigms:        " + createList (paradigmList)
        + "    languages:        " + createList (supportLangList);
    }
}
