{"id":19251881,"url":"https://github.com/dekal/genetic-class-schedule","last_synced_at":"2026-05-15T11:32:45.926Z","repository":{"id":96173842,"uuid":"250016828","full_name":"DeKal/genetic-class-schedule","owner":"DeKal","description":"Genetic Class Scheduling Algorithm using Java","archived":false,"fork":false,"pushed_at":"2020-03-28T06:07:59.000Z","size":50,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-05T06:42:11.478Z","etag":null,"topics":["class-schedule","genetic-algorithm","java-8","junit"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeKal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-25T15:29:07.000Z","updated_at":"2020-04-02T06:45:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5ee426f-d751-43fb-9ba9-8260df2bf5f5","html_url":"https://github.com/DeKal/genetic-class-schedule","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeKal%2Fgenetic-class-schedule","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeKal%2Fgenetic-class-schedule/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeKal%2Fgenetic-class-schedule/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeKal%2Fgenetic-class-schedule/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeKal","download_url":"https://codeload.github.com/DeKal/genetic-class-schedule/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240347819,"owners_count":19787234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["class-schedule","genetic-algorithm","java-8","junit"],"created_at":"2024-11-09T18:24:26.829Z","updated_at":"2026-05-15T11:32:40.882Z","avatar_url":"https://github.com/DeKal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Genetic Class Scheduling\nThis source code is inspired by\n[zaneacademy](https://www.youtube.com/watch?v=cn1JyZvV5YA).\n\n## Prerequisites\n- Using *Intellij*\n- Java 8\n- JUnit 5\n\n## Input\n- Input is stored in `src/main/resources/`\n- Consists of `courses.csv`, `departments.csv`, `instructors.csv`, `meeting-times.csv`,`rooms.csv`\n- *Note:* Should use input with the same length as in CSV files, more will break output format!! (Sorry, the original\n output printing is shitty :( )\n \n## Runners\n### Normal Runners\n#### com.dekal.scheduling.runner.RunWithDetailProcess\n- Using this runner to  see all generations.\n\n#### com.dekal.scheduling.runner.RunWithResult\n- Using this runner to get the final schedule result.\n\n\n### Runners with Junit\n- Test cases are store in `src/test/com/dekal/scheduling`\n- Test cases are running with JUnit 5\n- Test cases input are stored in `src/test/resources/`\n \n \n## Sample input\n```\nAvailable Department =\u003e \nname: MATH, courses: [C1, C3]\nname: EE, courses: [C2, C4, C5]\nname: PH, courses: [C6, C7]\nAvailable Courses =\u003e \nCourse #: 325K, name: C1, max student: 25, instructors: [Mr A, Mr B]\nCourse #: 319K, name: C2, max student: 35, instructors: [Mr A, Mr B, Mr C]\nCourse #: 462K, name: C3, max student: 25, instructors: [Mr A, Mr B]\nCourse #: 464K, name: C4, max student: 30, instructors: [Mr C, Mr D]\nCourse #: 360C, name: C5, max student: 35, instructors: [Mr D]\nCourse #: 303K, name: C6, max student: 45, instructors: [Mr A, Mr C]\nCourse #: 303L, name: C7, max student: 45, instructors: [Mr B, Mr D]\nAvailable Rooms =\u003e\nrooms# : R1, max seat: 25\nrooms# : R2, max seat: 45\nrooms# : R3, max seat: 35\nAvailable instructors =\u003e\nid: T1 name: Mr A\nid: T2 name: Mr B\nid: T3 name: Mr C\nid: T4 name: Mr D\nAvailable MeetingTimes =\u003e\nid: MT1, time: MFW 09:00 - 10:00\nid: MT2, time: MFW 10:00 - 11:00\nid: MT3, time: TTH 09:00 - 10:30\nid: MT4, time: TTH 10:30 - 12:00\n```\n\n# Sample Output \n```\n------------------------------------------------------------------------------------------------------------------------------\n\nClass # | Dept | Course (number, max # of students) | Room (Capacity) | Instructor (Id) | Meeting Time (Id)                        \n------------------------------------------------------------------------------------------------------------------------------\n    01  | MATH | C1 (325K, 25)                      | R1 (25)         |     Mr D (T4)   | TTH 09:00 - 10:30 (MT3)                        \n    02  | MATH | C3 (462K, 25)                      | R1 (25)         |     Mr C (T3)   | MFW 09:00 - 10:00 (MT1)                        \n    03  |   EE | C2 (319K, 35)                      | R2 (35)         |     Mr B (T2)   | MFW 09:00 - 10:00 (MT1)                        \n    04  |   EE | C4 (464K, 30)                      | R2 (35)         |     Mr B (T2)   | TTH 09:00 - 10:30 (MT3)                        \n    05  |   EE | C5 (360C, 35)                      | R3 (45)         |     Mr A (T1)   | TTH 10:30 - 12:00 (MT4)                        \n    06  |   PH | C6 (303K, 45)                      | R3 (45)         |     Mr A (T1)   | MFW 09:00 - 10:00 (MT1)                        \n    07  |   PH | C7 (303L, 45)                      | R3 (45)         |     Mr C (T3)   | MFW 10:00 - 11:00 (MT2)                        \n------------------------------------------------------------------------------------------------------------------------------\n\u003e Solution found in 17 generations!\n------------------------------------------------------------------------------------------------------------------------------\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdekal%2Fgenetic-class-schedule","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdekal%2Fgenetic-class-schedule","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdekal%2Fgenetic-class-schedule/lists"}