GithubHelp home page GithubHelp logo

munanom / ai-class-scheduler Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 6 KB

ai-class-scheduler is an intelligent class scheduling system that leverages artificial intelligence techniques to generate optimized timetables for educational institutions. It aims to efficiently allocate classes, instructors, and classrooms while considering various constraints and preferences.

HTML 61.13% Python 38.87%

ai-class-scheduler's Introduction

Lab Scheduler

This is a Flask application that helps assign labs to classes without collisions. It takes an Excel file as input, which contains class information such as start time, days, course number, section, course title, faculty, and capacity.

Features

  • Reads sample data from an Excel file
  • Assigns labs to classes without collisions using a constraint satisfaction problem
  • Removes duplicate classes
  • Prints the schedule in a table format for both Monday-Wednesday (MW) and Tuesday-Thursday (TR) classes

Getting Started

  1. Clone the repository
  2. Install the required dependencies: pip install flask openpyxl
  3. Run the Flask application: python scheduler.py
  4. Access the application in your web browser at http://localhost:5000

How to Use

  1. Click the "Choose File" button and select the Excel file containing the class information
  2. Click the "Upload" button
  3. The application will assign labs to classes and display the schedule in a table format for both MW and TR classes

File Structure

  • scheduler.py: The main Flask application file
  • uploaded_file.xlsx: The Excel file containing the class information (uploaded by the user)
  • templates/upload.html: The HTML template for the file upload page
  • templates/schedule.html: The HTML template for displaying the generated schedule

Dependencies

  • Flask: A lightweight Python web framework
  • openpyxl: A Python library for reading and writing Excel files
  • constraint: A Python library for solving constraint satisfaction problems (CSPs)

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

ai-class-scheduler's People

Contributors

munanom avatar

Stargazers

Vinícius Rodrigues avatar  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.