+ All Categories
Home > Documents > Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool...

Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool...

Date post: 25-Mar-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
30
Princeton Plan-O-Matic Eirik Bakke Arthi Ramachandran Alison Reynolds David Weiss
Transcript
Page 1: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Princeton Plan-O-Matic

Eirik BakkeArthi Ramachandran

Alison Reynolds David Weiss

Page 2: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Demo

Princeton Plan-O-Matic

Page 5: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Architecture Overview

MySQL ServerMySQL Server DatabaseInterface

DatabaseInterface

Report GeneratorReport Generator

GUIGUI

Data ImportData Import

Page 6: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Back-end

MySQL ServerMySQL Server DatabaseInterface

DatabaseInterface

Report GeneratorReport Generator

GUIGUI

Data ImportData Import

Page 7: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Data Import

Course information downloaded from registrarManually specified program requirementsAutomated database build and update

Page 8: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Database Structure

Users

Groups Memberships

Offerings

Pursuits

Schedules

ScheduleEntries

(Arrows indicate foreign key relationships)

Page 9: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Example: Cross-listings

“Introduction to Logic Design”

cos306

ele206

“Introduction to Programming”

genCourse

cos126

Page 10: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Example: Course Codes

“Rocket Science”

frs137

“Changing Life Through Art”

genST

genHA

Page 11: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Example: Multiple Offerings

cos126 “Introduction to Programming”

Fall 2004

Spring 2005

Fall 2005

Page 12: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Database Interface

MySQL ServerMySQL Server DatabaseInterface

DatabaseInterface

Report GeneratorReport Generator

GUIGUI

Data ImportData Import

Page 13: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Database Interface

Object-oriented (PHP)Abstract all interaction with databaseProcess user loginSearch implementation

Page 14: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Interface Classes

User, Group, Pursuit, Schedule, Semester, PursuitSearchStore primary key of corresponding database row

Page 15: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

GUI

MySQL ServerMySQL Server DatabaseInterface

DatabaseInterface

Report GeneratorReport Generator

GUIGUI

Data ImportData Import

Page 16: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Overview of Data Flow

User

Javascript

HTML/CSS

PHP

Database Interface

Page 18: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Implementation Details

schedulePane

searchPane

Pursuit

Semester

Draggable

Droppable

Collapsible

Pursuit

Page 19: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Report Generator

MySQL ServerMySQL Server DatabaseInterface

DatabaseInterface

Report GeneratorReport Generator

GUIGUI

Data ImportData Import

Page 20: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Initial Parse Tree

6 @ (genHA, genSA, genEM) & ((rel252 & ele302) & cos333)

& ?

6 @ ? & ?

& ?

genSA ? genEM ?

genHA ?

cos333 ?

rel252 ? ele302 ?

Page 23: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Presentation

2 @ (genHA, genSA, genEM) & rel252 & ele302

Page 29: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

Possible Features

Warn about time conflictsGeneric coursesUser overrideHelpful course suggestionsSearch for nearly satisfied programsLink to Student Course Guide reviews

Page 30: Princeton Plan-O-Maticpeople.csail.mit.edu/ebakke/pom/slides.pdf · Princeton Plan-O-Matic A tool for students and advisors to explore possible 4-year schedules Major features: Easy

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?


Recommended