![]() ![]() Cascading deletesĭeleting from courses will delete corresponding sections.ĭeleting from courses will delete the courses from users' planners.ĭeleting from sections will delete the sections from users' schedulers. (user_id, course_id) is used as the primary key. scheduler_notes: notes that users have added to courses Column Note that courses.year and courses.term are used to determine which term's scheduler the section belongs to. This also prevents the same section from being added multiple times to a user's scheduler. (user_id, course_id, section_number) is used as the primary key. Scheduler_sections: sections that users have added to their scheduler Column We don't really validate this, who knows what happens if users use negative numbers, NaN, or Infinity? □ We may support super-senior years in the future. planner_placeholders: placeholder courses that users have added to their planners Columnįrosh: 1, Sophomore: 2, Junior: 3, Senior: 4. This also prevents the same course from being added multiple times to the same year of a user's planner. (user_id, course_id, planner_year) is used as the primary key. planner_courses: courses that users have added to their planners Columnįrosh: 1, Sophomore: 2, Junior: 3, Senior: 4. (course_id, section_number) is used as the primary key. lol remember when courses used to meet in classrooms □ Sections: sections for all courses ColumnĮ.g. Grades_types: table that interns grading types, to save on storage space Columnįor now, only LETTER, PASS-FAIL, and the empty string are used. Some sections have 2 instructors, so needs to be long enough to store both names. instructors: table that interns instructor names, to save on storage space ColumnĮ.g. Always seems to be an integer.Ĭourses can be uniquely identified by (year, term, department, course_number). We don't currently get this from the Registrar, so we can't display it.īlame Psy and SS departments for offering courses with units 1.5-0-1.5Ĭomputed automatically from units_lecture + units_lab + units_homework. In courses.sql: courses: all current and historical courses Column Now we have courses and sections tables with all the course/section data needed for both the scheduler and planner.Ī single courses/utils/import_registrar.py script populates these tables. On legacy Donut, the two tools were developed separately, so they used completely separate tables (generated by separate import scripts). The main change internally is that the scheduler and planner share the same courses data. We show locations and grading schemes of sections in the scheduler (since the Registrar already gives us this).We use a scoring mechanism so courses are ordered by how well they match the search. Searching for courses happens on the client by filtering the full list of courses.Users can see their progress towards core requirements based on their planner courses (for future Devteam's sake, I really hope these requirements don't change).Users can add "placeholder courses" to their planners to reflect courses that weren't offered in the past year, or to reserve units for an unknown course.We don't delete courses from past terms, so users can keep their old schedules (and old courses they've added to their planner).However, we added some new requested features: The course scheduler and planner were obviously inspired by those tools on legacy Donut. Total unit counts are displayed for each term.īoth tools can be used without an account, but when logged in, they automatically save the selected courses and sections to the user's account. ![]() It lists the courses offered during a sample year, with the terms they were offered.Ī course can be added to any year during a term when it is offered. The course planner is used to select courses to take over multiple years and terms. If courses conflict, they will be shrunk to fit side-by-side, which makes it easy to identify conflicts. ![]() You can add any course sections you want and it will show the time slots they take up during the week. The course scheduler is used to select courses for a term.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |