Downloaded, Ran and Modified Three of Them

Downloaded, Ran and Modified Three of Them

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Automation for CSUN Computer Science Department Course Scheduling A thesis submitted in partial fulfillment of the requirements For the degree of Master of Science in Computer Science By Rayna Burgess May 2017 SIGNATURE PAGE The thesis of Rayna Burgess is approved: Dr. Adam Kaplan Date Dr. John Noga Date Dr. Rick Covington, Chair Date California State University, Northridge ii TABLE OF CONTENTS Signature Page .................................................................................................................... ii List of Figures ..................................................................................................................... v Abstract ............................................................................................................................. vii 1 INTRODUCTION ...................................................................................................... 1 1.1 The Problem ......................................................................................................... 1 2 LITERATURE REVIEW ........................................................................................... 5 2.1 Timetabling Strategies.......................................................................................... 5 2.2 Available Timetabling Systems ........................................................................... 6 2.3 Time Table Tool Selection ................................................................................... 8 2.4 OptaPlanner Constraint Satisfaction Engine ........................................................ 9 2.4.1 Constraint Satisfaction Problem ................................................................... 9 2.4.2 OptaPlanner Problem .................................................................................. 10 2.4.3 CSUN Scheduler Problem .......................................................................... 11 2.4.4 OptaPlanner Constraint Rules ..................................................................... 12 2.4.5 OptaPlanner Algorithm Configuration ....................................................... 13 2.4.6 OptaPlanner Engine Integration .................................................................. 15 2.5 Web Application Design and Development ....................................................... 16 2.5.1 Spring Boot – Java Server Framework ....................................................... 20 2.5.2 AngularJS – JavaScript Browser Framework ............................................. 23 3 ANALYSIS AND REQUIREMENTS ..................................................................... 24 3.1 Current Manual Process for Schedule Creation ................................................. 24 3.2 Instructor Preferences Automation..................................................................... 25 3.3 Schedule Generation Automation ...................................................................... 26 3.3.1 Schedule of Classes Hard Constraints ........................................................ 26 3.3.2 Schedule of Classes Soft Constraints .......................................................... 27 4 DESIGN OF SOLUTION ......................................................................................... 28 4.1 Web Architecture ............................................................................................... 28 4.1.1 Java Spring Boot ......................................................................................... 29 4.1.2 MySQL Database ........................................................................................ 29 4.1.3 AngularJS .................................................................................................... 30 4.2 Database Design ................................................................................................. 30 iii 4.3 Web Server Design............................................................................................. 33 4.3.1 Web Server File Structure ........................................................................... 35 4.4 Front End Single Page App Design.................................................................... 36 5 IMPLEMENTATION ............................................................................................... 39 5.1 Web Front End Implementation ......................................................................... 39 5.1.1 Instructor Page ............................................................................................ 39 5.1.2 Home Page .................................................................................................. 44 5.2 Web Server Implementation............................................................................... 44 5.2.1 Typical Data Request .................................................................................. 45 5.2.2 OptaPlanner................................................................................................. 51 5.3 Challenges and Lessons Learned ....................................................................... 61 5.3.1 Selecting the Development Stack ............................................................... 61 5.3.2 Acquiring adequate hardware ..................................................................... 62 6 CONCLUSIONS ....................................................................................................... 63 6.1 Practical Schedule Generation ........................................................................... 63 6.2 Instructor Preferences Automation..................................................................... 63 7 FUTURE ENHANCEMENTS ................................................................................. 64 7.1 Authentication and Authorization ...................................................................... 64 7.2 Web Sockets for Engine Controls ...................................................................... 65 7.3 Remaining Constraints ....................................................................................... 65 7.4 Feature Tags for Rooms and Courses ................................................................ 66 7.5 More Flexible Instructor Time Preferences ....................................................... 66 References ......................................................................................................................... 67 Appendix A – User Stories ............................................................................................... 69 Appendix B – Current Instructor Preferences Paper Memo ............................................. 71 iv LIST OF FIGURES Figure 1 Published Schedule of Classes (SOLAR screenshot) ........................................... 1 Figure 2 Timetabling Solution Space Size.......................................................................... 3 Figure 3 Timetabling Tool Choices .................................................................................... 7 Figure 4 General Constraint Satisfaction Problem and Solution ...................................... 10 Figure 5 OptaPlanner Problem and Solution .................................................................... 11 Figure 6 CSUN Scheduler Problem and Solution............................................................. 12 Figure 7 Drools File and Rule Format Definitions ........................................................... 13 Figure 8 OptaPlanner Phases and Configurable Algorithms ............................................ 14 Figure 9 OptaPlanner Engine Integration ......................................................................... 16 Figure 10 Web Application Terms and Concepts ............................................................. 19 Figure 11 Spring Boot Relation to Spring ........................................................................ 20 Figure 12 Current Method of Generating Schedules ........................................................ 25 Figure 13 High Level Architecture ................................................................................... 29 Figure 14 Database High Level Entity Relationship Diagram ......................................... 32 Figure 15 Database Solution Entity Relationship Diagram .............................................. 32 Figure 16 Database Instructor Entity Relationship Diagram ............................................ 33 Figure 17 Web Server Architecture .................................................................................. 35 Figure 18 Web Server Code File Structure ....................................................................... 36 Figure 19 Front End Architecture ..................................................................................... 38 Figure 20 CSUN Scheduler Navigation Bar ..................................................................... 39 Figure 21 User Time Preference Grid ............................................................................... 41 v Figure 22 Instructor Course Preference Selection with No Courses ................................ 42 Figure 23 Add Courses Modal .......................................................................................... 42 Figure 24 Add Courses Modal Search Box ...................................................................... 43 Figure 25 Get List of Terms Sequence Diagram .............................................................. 45

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    79 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us