Academic Scheduler (Version 2.1.1)
The Academic Scheduler program was created to aid in the scheduling of an
academic department. The program is a drag-and-drop enabled
system for rapid placement and movement of classes. It has many features to track
different aspects of an academic schedule. Finally it offers reporting facilities for
printing schedule lists, professor schedule cards and room schedule cards.
The Windows and Linux (Ubuntu 20.04) distributions were created
using pyinstaller and do not need you to have Python3 or PySide2 installed to run.
For the Mac or other platforms the source code can be used, these require your system
to have both Python3 and PySide2 installed.
Downloads
Note: The software is distributed as very large stand-alone applications. Since there is a lot to load before the program can execute, there is some delay in the startup of the program, in some cases as much as 15-20 seconds.
Windows Install Program
Instructions: Download and run the AcademicScheduler_Setup.exe program
and follow the instructions on the screen. This will install the Academic Scheduler program and
place links to the Academic Scheduler program in your Start menu.
Windows Portable Version (No Install)
Instructions: The Academic Scheduler program is a single executable file (AcademicScheduler.exe) that can be run on any Windows machine.
Linux
Instructions: Download and unzip the AcademicScheduler_Ubuntu_20-04.zip file. This will extract
the executable program AcademicScheduler and a program icon. Runs on 20.04 and 22.04.
Source Code
Screen Shots: Images open in new window.
Example Schedule
Example schedule for testing.
Test Base
- Ubuntu 20.04: Linux Mint 20.3 and Mint 21
- Windows: Windows 10
- Mac: Monterey 12.4
Program Features
- Drag-and-drop enabled system for rapid placement and movement of classes.
- Many features to track different aspects of an academic schedule.
- Professor schedule viewer.
- Room schedule viewer.
- Course and section overlap tracker.
- Course/Lab linking facility.
- Mass section number editing interface.
- Note editor.
- File saving, loading, and merging.
- Automatic window tiling features.
- Reporting facilities for printing schedule lists, professor schedule
cards and room schedule cards.
For Users of the Old Version (1.8.3)
- Scheduling process is still the same, drag and drop courses from the course window to the faculty assignments window, then drag and drop the course from the faculty assignments window to one of the room viewers.
- Still supports a course properties dialog for non-drag and drop changes.
- User interface is still a MDI (Multiple Document Interface). Although MDI interfaces have gone out of favor it still seemed to be the best interface for the flexibility needed in scheduling.
- Still uses the same types of databases, course, faculty, standard timeslot, room, and overall schedule that links all of these together.
- Still has a course linking stage for lecture/lab classes.
- The schedule and all supporting databases are still stored in a single file.
- The files from the old version are not compatible with the new version.
- Added a schedule merge option to merge two schedule files. Also included a merge report option to report the additions and possible conflicts in the merge.
- The database entry interface for courses, timeslots, faculty, and rooms is now a table interface. This allows the user to copy and paste previous entries into other rows and save both typing and time.
- Added a note editor.
- Course listing and faculty assignments listing are now separate windows.
- Each report now has two ways to view them, either as a document or as a table. Document format can be printed directly or exported to a PDF and the table output can be copied and pasted into a spreadsheet.
- Movable toolbar.
- More ways to invoke editors for the databases.
- Mass section number editor that also allows the editing of section numbers, subtitles, and designations.
- All classes can have a subtitle, which can be blank. Also, all classes can have designations, which can also be blank. Subtitles and designations are free-form text.
- Section numbers are no longer numeric and are now free-form text. So section numbers can take the form 002H.
- Better use of vertical space for easier manipulation.
- More use of standard GUI controls in place of ones I created.
- Status bar on room viewers to show the class hovered over. In addition, the room viewers have a course listing at the bottom that is collapsible.
- Setting for both rooms and faculty to a "non-real" room or professor. This allows a room to or professor to not be checked for time conflicts. For the room, this would come in handy to create an online room and for the faculty you can create a single Staff member to hold all your staff courses.
- Status bar on the course position viewer that lists all courses being hovered. This allows the user to see which courses are overlapping.
- More options for the insert modes on the room viewers.
- Automatic font resizing for the weekly schedule images in the room and professor viewers. The font will resize to best fit the available space. The program also has an option to set a minimum font size so that it does not get too small.
- For a courses, it now takes the number of minutes the course is to meet per week instead of the schedule hours and assuming that one hour is 50 minutes. This is not a huge advantage but it would allow the creation of say a 7-week course and the time tracking would work.
- Removed the office hour feature. We did not use it here and it can be achieved in a better way just using the office hour as a course.
- Create a course named OFFICE with number HOUR (or O. and H. or O and H, whatever). Put in the minutes the faculty needs to have, e.g. 300 for 5 hours a week. Give it 0 workload hours unless you are lucky enough to have these count toward your annual load.
- Add in faculty offices to the room database.
- Give each faculty member one office hour class.
- Schedule the office hours in their office like any other class.
- The only weird part here is that as a class the program will assign a section number to it. You can go into the section number editor and change those to the faculty member's initials if you would like.
- Added in the ability to schedule classes on the weekend.
- The reporting for linked classes is now more explicit. The old version tried to combine this, but that led to difficult to understand output in some reports, especially when there were different instructors for the lecture and lab. Now the program will report the linked classes with the output of the lecture class and the lab class will have the full class report listing.
- Added the ability to have more than one professor for a class, e.g. team-taught courses. This will also evenly divide the course workload between all faculty teaching the class in the workload reports.
- Removed some intermediate popup dialogs. In some of the reports in the old version an intermediate popup box opened with some viewing options. These were removed and the most complete output is the default. For example, some asked if you wanted to see the full faculty name or their short designation, now the full faculty name is used.
- The printed output of room and faculty schedule cards has been greatly improved.
- More printing output features now have a very functional print preview option as well.
License
This software is distributed under the GNU General Public License version 3
Copyright (C) 2022 Don Spickler
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details
http://www.gnu.org/licenses/.
Update History
- 8/31/22: Version 2.1.1