Arvind Narayanan Profile picture
Princeton CS prof and Director @PrincetonCITP. Coauthor of "AI Snake Oil" and "AI as Normal Technology". https://t.co/ZwebetjZ4n Views mine.

Feb 16, 2020, 6 tweets

Many computer science students choose the major expecting to learn how to code and are shocked to find that that’s not what it is. For example, at my university, under 10% of course content is about teaching coding. So what’s actually involved in a CS major and why is it useful?

CS teaches reasoning about computing:
– what can and can’t be done by computers
– how to get computers to do things efficiently
– breaking down complex problems so they can be tackled by computers
– managing layers of complexity
– what is the role of computing in our society
etc.

To learn to code, the best route is self study rather than CS or any other major. There’s probably no other skill for which there is so much freely available high-quality learning material online. Be wary of coding bootcamps: most of them haven’t lived up to their promises.

Even for students majoring in CS, it takes self study to learn to code fluently. Traditionally, this put students with no prior programming experience at a big disadvantage. So CS programs have recently been increasing the emphasis on coding within or alongside the curriculum.

In short, CS is a much more abstract set of skills than coding. Not everyone needs it, but it’s extremely helpful for developing algorithms, making long-term decisions about computing technology, or simply to more deeply understand the digital world.

Software engineering isn't the same as either coding or CS. Universities aren’t set up to teach it because they are limited to toy projects that end when the course ends. The only way to learn to wrangle a million-line codebase with hundreds of contributors is to actually do it.

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling