princeton plan-o-matic · princeton plan-o-matic eirik bakke arthi ramachandran alison reynolds...
TRANSCRIPT
![Page 1: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/1.jpg)
Princeton Plan-O-Matic
Eirik BakkeArthi Ramachandran
Alison Reynolds David Weiss
![Page 2: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/2.jpg)
Motivation
Long-term academic planning is hardDepartments and programs have complicated requirementsNo centralized mechanism for experimentation
Current systems inadequateSCORE / Degree Progress ReportStudent Course Guide
![Page 3: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/3.jpg)
Princeton Plan-O-Matic
A tool for students and advisors to explore possible 4-year schedulesMajor features:
Easy access to degree, major, program, and other requirementsImmediate feedbackSimple, visually driven interfaceExperiment with multiple schedules
![Page 4: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/4.jpg)
Demo
Princeton Plan-O-Matic
![Page 5: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/5.jpg)
Architecture Overview
MySQL ServerMySQL Server DatabaseInterface
DatabaseInterface
Report GeneratorReport Generator
GUIGUI
Data ImportData Import
![Page 6: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/6.jpg)
Back-end
MySQL ServerMySQL Server DatabaseInterface
DatabaseInterface
Report GeneratorReport Generator
GUIGUI
Data ImportData Import
![Page 7: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/7.jpg)
Data Import
Course information downloaded from registrarManually specified program requirementsAutomated database build and update
![Page 8: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/8.jpg)
Database Structure
Users
Groups Memberships
Offerings
Pursuits
Schedules
ScheduleEntries
(Arrows indicate foreign key relationships)
![Page 9: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/9.jpg)
Example: Cross-listings
“Introduction to Logic Design”
cos306
ele206
“Introduction to Programming”
genCourse
cos126
![Page 10: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/10.jpg)
Example: Course Codes
“Rocket Science”
frs137
“Changing Life Through Art”
genST
genHA
![Page 11: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/11.jpg)
Example: Multiple Offerings
cos126 “Introduction to Programming”
Fall 2004
Spring 2005
Fall 2005
![Page 12: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/12.jpg)
Database Interface
MySQL ServerMySQL Server DatabaseInterface
DatabaseInterface
Report GeneratorReport Generator
GUIGUI
Data ImportData Import
![Page 13: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/13.jpg)
Database Interface
Object-oriented (PHP)Abstract all interaction with databaseProcess user loginSearch implementation
![Page 14: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/14.jpg)
Interface Classes
User, Group, Pursuit, Schedule, Semester, PursuitSearchStore primary key of corresponding database row
![Page 15: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/15.jpg)
GUI
MySQL ServerMySQL Server DatabaseInterface
DatabaseInterface
Report GeneratorReport Generator
GUIGUI
Data ImportData Import
![Page 16: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/16.jpg)
GUI Design & Implementation
Design GoalsIntuitive, easy to useDisplay lots of information in clear mannerVisually appealing across browsers
Implementation GoalsEfficiencyMaintainable, Modular
![Page 17: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/17.jpg)
Overview of Data Flow
User
Javascript
HTML/CSS
PHP
Database Interface
![Page 18: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/18.jpg)
Implementation Details
schedulePane
searchPane
Pursuit
Semester
Draggable
Droppable
Collapsible
Pursuit
![Page 19: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/19.jpg)
Report Generator
MySQL ServerMySQL Server DatabaseInterface
DatabaseInterface
Report GeneratorReport Generator
GUIGUI
Data ImportData Import
![Page 20: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/20.jpg)
Prerequisite Expressions“PHY 103 and PHY 104 are prerequisites, MAT 203 is a corequisite.”
phy103 & phy104 & mat203 $ same
“Three HA courses and five ST or STX courses.”
3 @ genHA & 5 @ (genST, genSTX)
“Three courses distributed among four areas of concentration (no more than one course from each area may count towards the total of three).”
3 @ (1 % cheBio, 1 % cheEnt, 1 % cheEnv, 1 % cheMat)
![Page 21: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/21.jpg)
Prex ( ) Parsing
”Six courses from three distribution areas, as well as three specific other courses.”Suppose you have taken COS 333 as well as one SA course and three HA coursesOperators are ; & | @ % $
PRerequisite EXpression
6 @ (genHA, genSA, genEM) ; cos333 & rel252 & ele302
![Page 22: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/22.jpg)
Initial Parse Tree
6 @ (genHA, genSA, genEM) & ((rel252 & ele302) & cos333)
& ?
6 @ ? & ?
& ?
genSA ? genEM ?
genHA ?
cos333 ?
rel252 ? ele302 ?
![Page 23: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/23.jpg)
After credits resolved
6 @ (genHA=3, genSA=1, genEM) & ((rel252 & ele302) & 1)
& ?
6 @ ? & ?
& ?
genSA 1 genEM ?
genHA 3
1
rel252 ? ele302 ?
Note: course references disappear, groups stay
![Page 24: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/24.jpg)
Bubble up constant terms
2 @ (genHA, genSA, genEM) & ((rel252 & ele302) & 1)
& 0
2 @ 0 & 0
& 0
genSA 0 genEM 0
genHA 0
1
rel252 0 ele302 0
![Page 25: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/25.jpg)
Eliminate fulfilled branches
2 @ (genHA, genSA, genEM) & ((rel252 & ele302) & 1)
& 0
2 @ 0 & 0
& 0
genSA 0 genEM 0
genHA 0rel252 0 ele302 0
![Page 26: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/26.jpg)
Collapse associative chains
2 @ (genHA, genSA, genEM) & (rel252 & ele302)
& 0
2 @ 0 & 0
genSA 0 genEM 0
genHA 0
rel252 0 ele302 0
![Page 27: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/27.jpg)
Collapse associative chains
2 @ (genHA, genSA, genEM) & rel252 & ele302
& 0
2 @ 0
genSA 0 genEM 0
genHA 0
rel252 0 ele302 0
![Page 28: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/28.jpg)
Presentation
2 @ (genHA, genSA, genEM) & rel252 & ele302
![Page 29: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/29.jpg)
Possible Features
Warn about time conflictsGeneric coursesUser overrideHelpful course suggestionsSearch for nearly satisfied programsLink to Student Course Guide reviews
![Page 30: Princeton Plan-O-Matic · Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss. Motivation Long-term academic planning is hard Departments and programs](https://reader030.vdocuments.site/reader030/viewer/2022040410/5ecad71067650774826e5437/html5/thumbnails/30.jpg)
Fun FactsLanguages used: awk, Java, Javascript, PHP, C, yacc, HTML, CSS, bash, SQLCurrent lines of code:
>1000 interfaces, >1500 GUI, >1000 import, >1300 report generator
Database:2508 pursuits, 3542 groups, 8672 memberships
SVN commits: 310 revisions (34/week avg.)
…Questions?