{"title":"First Assignment in a Scalable Computing Course","authors":"A. Rosenbloom","doi":"10.1145/3502717.3532160","DOIUrl":null,"url":null,"abstract":"The University of Toronto has been running CSC409 Scalable Computing, since 2018. This paper outlines the first assignment in this course. It exposes students to a large range of scalability concepts, requiring them to architect and implement solutions in plain old Java. They are exposed to orchestration, caching, load balancing, replication and partitioning, consistency, performance and reliability measures, scaling, etc., all in one assignment. They experience, first hand, the complexities and architectural solutions behind building distributed, scalable systems. This prepares them for exposure to common tools such as Docker, Redis, Cassandra, etc. having built shadows of these themselves. We discuss the assignment, its implementation and marking. The assignment can be found at http://www.cs.toronto.edu/~arnold/research/iticse2022/","PeriodicalId":274484,"journal":{"name":"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 2","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 2","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3502717.3532160","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The University of Toronto has been running CSC409 Scalable Computing, since 2018. This paper outlines the first assignment in this course. It exposes students to a large range of scalability concepts, requiring them to architect and implement solutions in plain old Java. They are exposed to orchestration, caching, load balancing, replication and partitioning, consistency, performance and reliability measures, scaling, etc., all in one assignment. They experience, first hand, the complexities and architectural solutions behind building distributed, scalable systems. This prepares them for exposure to common tools such as Docker, Redis, Cassandra, etc. having built shadows of these themselves. We discuss the assignment, its implementation and marking. The assignment can be found at http://www.cs.toronto.edu/~arnold/research/iticse2022/