- About
- Features
- Requirements
- Installation
- Usage
- Data Configuration
- Example Output
- Contributing
- License
EduSchedulerX is a sophisticated Java-based timetable management system designed for academic institutions. It automates the process of creating and managing class schedules while considering various constraints such as course types, faculty availability, and classroom assignments. The system provides an intuitive interface for generating, viewing, and managing academic schedules efficiently.
- π Automated timetable generation from CSV data
- π« Support for multiple batches and departments
- π Handling of different course types (lecture, practical, minor)
- π― Intelligent time slot allocation with conflict prevention
- π Free slot finder functionality
- π Multiple output formats (Console, CSV, PNG)
- π Save and load timetable states
- π½οΈ Automatic lunch break scheduling
- π± User-friendly console interface
- Java Development Kit (JDK) 8 or higher
- Minimum 1GB RAM (2GB recommended for large datasets)
- CSV file support for data input
git clone https://github.com/yourusername/EduSchedulerX.git
cd EduSchedulerXmkdir -p timetable_data time_tablePlace the following CSV files in the timetable_data directory:
courses.csvbatches.csv
javac *.java- Start the application:
java Main- Interactive Menu Options:
- View all timetables
- View specific timetable
- View free slots
- Generate timetable images
- Generate timetable CSV files
- Exit and save changes
| Column | Description |
|---|---|
| id | Unique course identifier |
| courseCode | Course code |
| name | Course name |
| courseType | Course type (Elective/Core) |
| branch | Academic branch |
| section | Course section |
| lecture | Lecture details |
| theory | Theory hours |
| practical | Practical hours |
| credits | Course credits |
| hoursPerWeek | Total hours per week |
| eligibleFacultyIds | IDs of eligible faculty |
01234,DS457,Industrial Social Psychology,Elective,DSAI,A,2023,0,0,0,3,4,F085| Column | Description |
|---|---|
| id | Unique batch identifier |
| batchName | Name of the batch |
| year | Academic year |
| strength | Number of students |
| courseIds | Semicolon-separated course IDs |
| lectureRoomIDs | Lecture room identifiers |
| practicalRoomIDs | Practical room identifiers |
B012,DSAI-A-2021,450,DS401;CS457;CS451;CS472;DS452;DS457,C401,C002
βββββββββββββββ βββ βββββββββββ ββββββββββ ββββββββββββββββββ βββ ββββββ βββββββββββββββ βββ βββ
βββββββββββββββββββ ββββββββββββββββββββββ ββββββββββββββββββββββ ββββββ ββββββββββββββββββββββββ
ββββββ βββ ββββββ ββββββββββββββ ββββββββββββββ βββ ββββββ ββββββ ββββββ ββββββββ ββββββ
ββββββ βββ ββββββ ββββββββββββββ ββββββββββββββ βββ ββββββ ββββββ ββββββ ββββββββ ββββββ
ββββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββ βββββββ βββ
βββββββββββββββ βββββββ ββββββββ ββββββββββ ββββββββββββββββββ βββββββ βββββββββββββββββββ ββββββ βββ
Welcome to EduSchedulerX - Automating Academic Excellence
A Java-based solution for managing academic timetables
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Number of course lines: 82
Number of courses loaded: 47
Number of batch lines: 32
Number of batches loaded: 12
ββββββββββββββββββββββββββββββββββ
β Timetable Management System β
β βββββββββββββββββββββββββββββββββ£
β 1. View All Timetables β
β 2. View Specific Timetable β
β 3. View Free Slots β
β 4. Generate Timetable Image β
β 5. Generate Timetable CSV β
β 6. Exit β
ββββββββββββββββββββββββββββββββββ
Choose an option: 1
=== All Timetables ===
Timetable for CSE-A-2023:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Timetable for CSE-A-2023 β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β Time β Monday β Tuesday β Wednesday β Thursday β Friday β
β βββββββββββββββͺβββββββββββββͺβββββββββββββͺβββββββββββββͺβββββββββββββͺβββββββββββββ£
β 08:00-09:00 β β CY201 β β β GEN406 β
β 09:00-10:30 β CS207 β CS201 β MA201 β CS208 β CS208 β
β 10:45-12:15 β MA201 β MA201 β HS206 β CS202 β CS201 β
β 14:30-16:00 β CS208 β CS208 β CS201 β CS201 β MA201 β
β 16:00-17:30 β CS202 β CS207 β CS207 β CS207 β CS207 β
ββββββββββββββββ§βββββββββββββ§βββββββββββββ§βββββββββββββ§βββββββββββββ§βββββββββββββ
Course Details:
βββββββββββββββ
Code β Name β Type β Credits β Branch/Section β Hours β Faculty IDs
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
CY201 β Minor in cybersecurity β minor β 1-0-0-0-1 β CSE/A β L-1 T-0 P-0 β F001
GEN406 β Minor in genai β minor β 1-0-0-0-1 β CSE/A β L-1 T-0 P-0 β F001
MA201 β Probability β Theory β 3-1-0-0-4 β CSE/A β L-3 T-1 P-0 β F001
CS201 β Discrete Mathematics β Theory β 3-1-0-0-4 β CSE/A β L-3 T-1 P-0 β F051
CS207 β Object Oriented Programming β Theory β 3-0-2-0-4 β CSE/A β L-3 T-0 P-2 β F052
CS208 β Computer Architecture β Theory β 3-0-2-0-4 β CSE/A β L-3 T-0 P-2 β F004
CS202 β Design & Analysis of Algorithms β Theory β 3-1-2-0-5 β CSE/A β L-3 T-1 P-0 β F053
HS206 β Industrial Social Pschology β Theory β 3-0-0-0-3 β CSE/A β L-2 T-0 P-2 β F006
Minor Courses:
βββββββββββββββ
CY201 β Minor in cybersecurity β TUE 08:00-09:00
GEN406 β Minor in genai β FRI 08:00-09:00
Press Enter to continue to the next timetable...
Contributions are welcome! Please follow these steps:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
[Add your license information here]
Made with β€οΈ by Anas
