{"title":"The Gap Between Industry and CS Education","authors":"Titus Winters","doi":"10.1145/3502718.3534205","DOIUrl":null,"url":null,"abstract":"Industry practitioners and CS educators seem to operate in different worlds these days. My fellow industry leaders often have surprising ideas about what all can be covered in a 4 year degree program. We are seemingly unaware of the huge challenge in making novices into algorithmic thinkers and programmers, to say nothing of imparting mastery in the ever-expanding array of computing sub-disciplines. At the same time, the day-to-day operations in industry have a very different set of core skills and tools than what is traditionally presented in a CS curriculum. Communication skills, experimentation, reasoning, code comprehension, caching, threading, and concurrency models are a huge fraction of the toolkit for a software practitioner. Hashing is essential. Constants matter. Implementing data structures really doesn't. In practical terms, almost nobody should be using a linked list anymore. This talk will surface what I see as the disconnects on both sides, and suggestions for what we can do about it. (I will also probably be wrong, since I can only speak from my perspective and experience - but that's where important dialogues start.)","PeriodicalId":424418,"journal":{"name":"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1","volume":"239 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3502718.3534205","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Industry practitioners and CS educators seem to operate in different worlds these days. My fellow industry leaders often have surprising ideas about what all can be covered in a 4 year degree program. We are seemingly unaware of the huge challenge in making novices into algorithmic thinkers and programmers, to say nothing of imparting mastery in the ever-expanding array of computing sub-disciplines. At the same time, the day-to-day operations in industry have a very different set of core skills and tools than what is traditionally presented in a CS curriculum. Communication skills, experimentation, reasoning, code comprehension, caching, threading, and concurrency models are a huge fraction of the toolkit for a software practitioner. Hashing is essential. Constants matter. Implementing data structures really doesn't. In practical terms, almost nobody should be using a linked list anymore. This talk will surface what I see as the disconnects on both sides, and suggestions for what we can do about it. (I will also probably be wrong, since I can only speak from my perspective and experience - but that's where important dialogues start.)