Giter Site home page Giter Site logo

aaronlaw / schedule-creator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from techwithtim/schedule-creator

0.0 1.0 0.0 2.71 MB

A schedule creator used to create timetables for a summer camp. Created using python and the Qt Library.

Python 100.00%

schedule-creator's Introduction

Schedule-Creator

A schedule creator used to create timetables for a summer camp. Created using python and the Qt Library.

Running The Program

To run the program simply execute the script ui.py.

Program Information

Purpose: This scheduling software was used by the office staff at one of my previous jobs, a summer camp. It was used to generate a set of group schedules for campers based on a variety of constraints given to me.

Schedule Layout: The schedule for each group has 6 periods. 2 in the morning and 4 in the afternoon. The morning contains 2 sports. While the afternoon consists of a lunch, a swim and 2 sports. Lunch and swim will always happen the same period each day.

Schedule Rules: Each schedule has a set of rules that must be followed if possible.

  • No group may have the same activity more than 3 times a week (2 if possible)
  • No group may have the same activity on the same day
  • No two groups can have the same activty at the same time
  • If an activity exists twice in a week it should be at least one day apart from the last time it occured
  • If an activty exists more than twice in a week it should be in the oppsoite part of the day. Meaning if for example: soccer occurs in the monring, then if it occurs again it will be in the afternoon
  • Group 2 will never place tennis

Details: Each week the office staff manually create a schedule for each group of campers expected in the following week. The goal when creating this schedule is to keep each one as diverse as possible. Meaning that each group particiaptes in as many activites as possible. This is tedious and very difficult to do. Having sometimes up to 10 groups a week doing this effectively becomes very diffuclt due to the mathematical complexity of balancing activities between the groups and within the individual schedules. I compare it to solving a more advanced version of sudoku.

Limitations: Sometimes the constraints selected in the program interface are impossible to generate a schedule for. Take for example the case in which you have 10 groups and only 8 activities available in the morning. Since no activity can run at the same time the schdule is impossible to generate.

schedule-creator's People

Contributors

techwithtim avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.