{"title":"Parallelism in practice: experiences teaching concurrency and parallelism in an undergraduate OS course","authors":"Charlie Curtsinger","doi":"10.1145/3358711.3361624","DOIUrl":null,"url":null,"abstract":"Parallelism and concurrency are important topics that, according to ACM guidelines, should be part of every undergraduate computer science education. At Grinnell College, these concepts are covered in CSC 213, the operating systems course. In this course, students complete a series of four labs on concurrency to learn the basics of threads and data-parallel computation, how to deal with concurrency errors, and how to write efficient, scalable parallel code. This paper describes these labs and our experience using them for three sections of CSC 213.","PeriodicalId":190350,"journal":{"name":"Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3358711.3361624","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Parallelism and concurrency are important topics that, according to ACM guidelines, should be part of every undergraduate computer science education. At Grinnell College, these concepts are covered in CSC 213, the operating systems course. In this course, students complete a series of four labs on concurrency to learn the basics of threads and data-parallel computation, how to deal with concurrency errors, and how to write efficient, scalable parallel code. This paper describes these labs and our experience using them for three sections of CSC 213.