{"title":"Teaching Complex Scheduling Algorithms","authors":"S. Hunold, Bartłomiej Przybylski","doi":"10.1109/IPDPSW52791.2021.00058","DOIUrl":null,"url":null,"abstract":"We introduce Scheduling.jland show how it can be used for teaching the basics of scheduling theory to Computer Science students. In particular, our course focuses on scheduling algorithms for parallel, identical machines. For these problems, approximation algorithms and approximation schemes exist. However, we believe that students better understand advantages as well as disadvantages of these approximation algorithms when they investigate their implementations and examine how the algorithms work in practice. For that purpose, we have implemented a set of heuristics and approximation algorithms on top of Scheduling.jl. In the present article, we go through some of the implemented algorithms and explain why we believe these algorithms are particularly helpful for students to understand the basic concepts of approximation algorithms. In our experience, students remember algorithmic details much better if we show them examples using Scheduling.jl.","PeriodicalId":170832,"journal":{"name":"2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","volume":"293 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPSW52791.2021.00058","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We introduce Scheduling.jland show how it can be used for teaching the basics of scheduling theory to Computer Science students. In particular, our course focuses on scheduling algorithms for parallel, identical machines. For these problems, approximation algorithms and approximation schemes exist. However, we believe that students better understand advantages as well as disadvantages of these approximation algorithms when they investigate their implementations and examine how the algorithms work in practice. For that purpose, we have implemented a set of heuristics and approximation algorithms on top of Scheduling.jl. In the present article, we go through some of the implemented algorithms and explain why we believe these algorithms are particularly helpful for students to understand the basic concepts of approximation algorithms. In our experience, students remember algorithmic details much better if we show them examples using Scheduling.jl.