Giter VIP home page Giter VIP logo

senior-seminar-burroughs's Introduction

Senior-Seminar-Burroughs

Optimization of a senior seminar based on choices provided

This will sort the students into five different classes based on their choices. It will prioritize first choices, and attempt to add each class to the soonest possible time frame. If it cannot add the class to the soonest possible time frame it will try the next one until it finds a place it can add it or it cannot add the class at any time. The time frames will be organized in a 2d array since there are 5 time frames, and 5 classes per time frame.

12/18/24: Today I loaded the students into the program and sorted them by time. I am in the middle of trying to put the people without times at the end of the list instead of the beginning. I finished the student class, the course class, and I setup the data class to carry all of the data.

1/22/24: Today I finished getting all of the people and courses into arraylists. I also created a 2d array for the schedule and added popularity to the courses.

1/24/24: Today I started creating the course structure, and I started adding the classes that conflicted to each course.

1/26/24: Sorted the courses by interest. I also started trying to populate the schedule based on the conflicts using for loops. I may switch to populating a slightly different way.

1/27/24-1/28/24: This weekend I assigned the courses to a time based on the courses they conflicted with. I made sure that the courses that were able to happen twice were accounted for and that they did not occur twice during the same time frame. I also started adding more courses to the conflicts of each course if 75% of the students interested in one course were also interested in another course. I plan to continue adding courses to the conflicts and then use the pre-placed courses to add the students based on how early they submitted their choices.

1/30/24: Today I made a duplicate course if the course should occur twice. This allowed me to check if a student was taking the course. I also changed the way I am adding the students. Now it will go through each row of the schedule and assign the students. I need to complete adding the students.

2/1/24: Today i finished the outline for my algorithm. I was able to add the students to five courses, with no one getting less than three of their courses. I need to make my code more optimized. Specifically, I need to make the course population more optimized and I need to make the student adding more optimized. I will do this by checking the interest for each course in the row to determine which placement would be more optimal for each student.

Update to 2/1/24: I implemented an algorithm to place students that have multiple interests per time slot in the course with less interest from the other people.

2/3/24: Today I made the percent calculations in my scheduler class actually dynamic, so it finds the best value based on the average number of students choices they get assigned to. I also started cleaning up files and adding comments.

Update to 2/3/24: I added functions to search for a student's roster, and to search for a course's roster.

2/4/24: Today I finished adding comments and cleaning up code. Project is complete.

senior-seminar-burroughs's People

Contributors

burrojas26 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.