Any student can sit down, go to webpage, make account, and pick a major. The system shows the requirements: they can check off classes and the system remembers which classes they've checked off. Colors could be used to indicate what’s needed and what’s been fulfilled. The user could click a button and the system would show the user everything that's still needed.

Some requirements are “fixed” requirements: the user has to take them no matter what.

Some requirements are “select from” requirements: the user has the choice of taking different classes. This could be in the form of pick x of the following y classes, or take x amount of credit hours from the following y classes.

Should the system just show major requirements, or should it also show general education requirements? For now, maybe just consider the major requirements. If general education requirements were added in the future, they could be treated like a major.

For now, just consider the majors Math, BS in Computer Science and BA in Computer Science.

Nothing about the majors should be coded. Everything needs to be represented by some meta-language (most likely an XML document representing a set of requirements).

XML documents could be used for specification of a major. A normal person would be able to tweak the XML. There could also possibly be a user interface on the website that allows someone to create major requirment XML documents. Start with figuring out how a major would be represented using XML.

An SQL database could store a person’s fulfillments towards a major and a person’s bio.

Majors would need some versioning method. (CS 2012-2013 and CS 2013-2014 could hypothetically be different majors.)

The user interface could have multiple pulldowns, one for the major and one for the year if there are different versions.

Should the system include prerequisites? For now, start with basics to make sure some system gets finished.

The system has to be flexible. It also has to be simple to use. A user needs to be able to change the majors. It needs to be easy to change the majors.

Cross-listed courses (courses in a major and a minor) need to be correctly merged.

Usernames and passwords can just be stored in the SQL database with the table for a person.

You could use a text field where people could type in when they're planning on taking a course or when they took the course.

Dump all the course numbers and course names into the SQL database. When the major requirements XML documents are created, they would pull the class information from the SQL database.

Registration process for both a student and a professor. Students can say which professors can see their profile.

-- MattKraly - 2012-02-28

Topic revision: r1 - 2012-02-28 - MattKraly
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback