Project Description
When given a collection of tasks to finish which have deadlines, which one should be prioritized first? How much time should be assigned to each task? Is it even possible to finish them all? The study of scheduling in computer science is about figuring out the optimal schedule to run programs in order fulfill quality of service metrics. This project will focus on finding the best algorithms to address a series of scheduling problems in the context of distributed computing – where there are a bunch of programs to run and also a bunch of computers to run them on! In this project, students will be learning about algorithm design, efficiency, and approximation algorithms. Discussing algorithm design problems in person is most productive for research, especially in the beginning. We can also switch to more flexible meetings later on if you wish to do so. The hope is that we discover an algorithm which works well and then we can submit the result for publication. In any case, this should be an interesting glimpse into the process of algorithm design.
Prerequisites
This project does not require any programming. However, it is preferable if you have taken CSCI-111 OR CSCI-112.
Special Comments
Students who are currently taking or have taken CSCI-211 will be starting off ahead as they will have a lot of additional context. I highly encourage you to set up a quick chat if you have questions about the project.
Project Information (subject to change)
Estimated Start Date: 6/9/2025
Estimated End Date: 8/15/2025
Estimated Project Duration: 10 weeks
Maximum Number of Students Sought: 2
Research Location: On campus
Contact Information: Kefu Lu (email: klu@wlu.edu)