SCOF: A Standardised, Customisable Online Feedback Tool
DVMProgram_Schedule_150915
1. DVM Program Scheduler
(4th Year Practicum)
[Formerly known as Senior Practicum]
Presented by
Patrick McDougle
2. Old Way Was
• ColdFusion
• Hard to update/fix/modify
• UI is old and dated
• Students hate it!
(which application do they not hate???)
• 10+ hours to run
• Year selection issues
• Page errors out (404’ed)
• One person developed application
• Many people have maintained it
3. New Way Should
• C#, MVC
• Easy to Update/Fix
• UI new and improved and responsive
• Students should love it!
(Fingers Crossed)
• Take only a few minutes to run
• No timeouts
• No errors during the use of the application
• 3 people developing
• Little to no maintenance required
4. Defining Terms
• Practicum
• A practicum is a graduate level course, often in a specialized field of study,
that is designed to give students supervised practical application of a
previously or concurrently studied theory.
• Rotation
• A rotation is a period in which a medical student in the practicum part of
his/her education passes through various “working” services in 2-4 week
blocks.
• Track
• A track is a study program or level of curriculum to which a student is
assigned on the individual’s interest. Multiple rotations make up a track.
5. Student Can Do:
• Track selection
• Elective ranking
• View one’s own schedule
• View rotation’s roster
7. Admin Can Do:
• Setup a practicum year
• Open & close dates
• Tracks
• Rotations
• Students
• View information
• Students
• Schedules
• Rankings
• Preferences
• Duty rosters
• Capacity
• Run Scheduler & Checks
10. Genetic Algorithm:
• In the field of artificial intelligence, a genetic algorithm is
a search heuristic that mimics the process of natural selection.
• This heuristic (also sometimes called a metaheuristic) is routinely
used to generate useful solutions to optimization and search
problems.
• Genetic algorithms belong to the larger class of evolutionary
algorithms, which generate solutions to optimization problems using
techniques inspired by natural evolution, such as crossover, mutation,
inheritance, and selection.
• Genetic algorithms are simple to implement, but their behavior is
difficult to understand.
11. Scheduler Process:
1. Generate a full schedule
2. Evaluate/Score/Fitness schedule
3. Generate children schedules
4. Permutate child schedule
5. Fill child schedule
6. Evaluate/Score/Fitness child schedule
7. Select best schedule
X 200
12. 1. Generate a Full Schedule:
1. Pre-scheduled rotations
2. Schedule odd week length rotations (Anesthesia & Radiology)
3. Schedule even week length core rotations (must haves)
4. Schedule any elective rotations
5. Schedule vacation
13. 2. Evaluate/Score/Fitness :
1. Score individual students
a. Core is not scheduled (Very Bad)
b. Top electives (Not so good)
c. Odd length back to back (Not so good)
d. Double booked
e. No blanks/full schedule
f. No back to back
2. Score individual rotations
a. Under capacity (Very Bad)
b. Over capacity (Not so good)
c. Standard deviation (Even things out)
3. Score whole schedule
a. All Student Scores + All Rotation Scores
16. Feedback Is A Gift
Questions??? Feedback!!!
• Any Questions?
• Any Comments?
• Any Feedback?
Editor's Notes
The symbol is a reference to the artist formally known as Prince.
The old web site. It’s old.
The goals of the new system.
Rotations:
Core
Elective
Special Core & Elective
Tracks:
Large Animal
Small Animal
General
Logo
Menu (Admin and Students)
Quick access menu buttons (Admin and Faculty/Staff)
Start page links, help menu, user who is logged in.
Year selection dropdown when available.
Used:
Bootstrap – HTML, CSS and JavaScript framework for developing responsive, mobile first project on the web.
Jquery – Fast, small and feature-rich JavaScript library that can manipulate elements, event handling, animation, and Ajax.
DataTables – Adds advanced interaction controls to any HTML table.
HTML5
Crossover – a process of taking more than one parent solutions and producing a child solution from them.
Mutation – Alters one or more values from its initial state.
Inheritance – A child solution acquires characteristics of it’s parent.
Selection - During each successive generation, a proportion of the existing population is selected to breed a new generation. Individual solutions are selected through a fitness-based process, where fitter solutions (as measured by a fitness function) are typically more likely to be selected.
Clear a % of bad rotations and a % of random rotations. Same goes for students.