The Gap Between Industry and CS Education
Titus Winters · 2022
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.)