Live data from Hacker News

The Missing Semester of Your CS Education (2020)

missing.csail.mit.edu

161–170 of 347 posts

Re: The Missing Semester of Your CS Education (2020)

#161

Vim? Really? No text editor will make you a good programmer. I barely use/know Vim with 20 years of programming experience.

The first thing I do on any linux box is remove Vim for nano

Vim is like Dvozak keyboard. Consistency and standardisation is more important than 1% performance improvement.

Re: The Missing Semester of Your CS Education (2020)

#162
post #36
post #15

Earlier quoted context omitted.

I use (Neo)vim as my daily driver, professionally (for the past 4 years, coming from Goland). I've found every other editor to be too heavy/slow (VScode/Jetbrains), or too noisy (regarding features). Neovim allows me to specify the precise minimum I desire to have a fully functional IDE-like experience (basically treesitter + LSP + DAP + minimal extra plugins). It's super fast, I'm already in my shell, and my memory…

Once I learned how to use vs code productively it really changed my mind. The other day I needed to do a quick base64 encode and vs code had that. Same goes for formatting some json or doing a diff. It's all available in a single tool with no learning curve. Hell it even has git and git blame in there.

Vs Code is the gateway drug of real IDE's. Last time I checked, it still cant do things like navigate to definition, or rename a calss along with all mentions of it in comments. Or count TODO: comments

Re: The Missing Semester of Your CS Education (2020)

#164

Earlier quoted context omitted.

> I'm not a talented developer > [uses F#] That has to be humblebragging. The average .net developer is terrified of or doesn't even know about F#.

I’ve encountered the same thing. I’m a terrible programmer but find f# way clearer than most C#/java. But I work with tons of great developers who would rather cut off their finger than learn f#, it bothers me because it exposes some fundamental difference between us I dont like to believe exists.

Job vs craft. Or, maybe, they just don’t want to pollute the codebase with a new thing that breaks. Consistency is a virtue in old codebases.

Re: The Missing Semester of Your CS Education (2020)

#165

Earlier quoted context omitted.

>Basics of networking, how installation of programs happens, how to use the command line, that kind of thing. um yea thats my job dude and i fought for it so other people should too these people waltzing in not knowing shot should not get into CS

One of those cases that some people are so unreasonable, you can't tell what's sarcas m

I sort of get that, in this day and age, it would probably seem a bit unusual for someone to show up at Stanford or MIT and be like "I've only ever used a computer to play video games but I think I'll major in CS." On the other hand, I also don't think programming had to be an all-consuming passion for the past 10 years as some seem to deeply believe.

Re: The Missing Semester of Your CS Education (2020)

#166

Earlier quoted context omitted.

>Basics of networking, how installation of programs happens, how to use the command line, that kind of thing. um yea thats my job dude and i fought for it so other people should too these people waltzing in not knowing shot should not get into CS

One of those cases that some people are so unreasonable, you can't tell what's sarcas m

I'm not sarcastic.

Re: The Missing Semester of Your CS Education (2020)

#168
post #67

Lots of laudatory comments here about this being essential but missing teaching but I have a different take. The content looks good, nothing wrong with teaching these things. But these things can be and are learned on the job fairly quickly for anyone interested enough in the field and with enough aptitude. In fact, I would say these things can be learned on your own time as a side effect of being interested in compu…

I think it can be useful to distinguish between the "known and unknown unknowns" here. For example, everyone will quickly realise that that they need to know git, and they will learn what they need to know (a known unknown). A university course would maybe save them time, but it would not really change what you know after 2 years in industry. Compared to e.g awk or shell scripting which can be incredible usefull, but…

Totally agree. Further, these skills actively support rapid iteration on learning other core university outcomes. In CS it’s very easy to waste lots of time doing things the wrong way that could otherwise be spent doing something useful.

Re: The Missing Semester of Your CS Education (2020)

#169

Earlier quoted context omitted.

A talented developer who doesn't know how to set a breakpoint sounds contradictory to me.

Hi! I'm that person! Senior engineer, decade of experience. I've used debuggers in the past, both for running code and looking at core dumps, but I really don't find them to be cost effective for the vast majority of problems. Just write a print statement! So when I switched from C to python and go a couple jobs ago, I never bothered learning how to use the debuggers for those languages. I don't miss them.

It depends what you're doing. Sometimes inserting a print and capturing state works. Sometimes you're not sure what you need to capture, or it's going to take a few iterations. That's where pdb / breakpoint() / more interactive debuggers can be very helpful.

Re: The Missing Semester of Your CS Education (2020)

#170
I have tried in vain to get this implemented at our uni. I can say a few things I find interesting:

  - Students used to get this stuff but no longer do, for example all workstations  used to be unix, so when you left, you "knew" "unix" (shell, vim, etc)
  - Due to things like ABET, classes are crammed with need-to-know-for-accreditation info so, well, some items need to go by the wayside (many are in the MIT list)
  - There is a huge push, even by ABET, for security and crypto to be somehow integrated into nearly every class. 
  - Professors seem aware that we need this "missing class", but it is hard for administrators to implement, because: Universities were pressured into lowering credits to grad, so some courses were removed, so there is no room left for another course. 
I am not pushing one way or another, and I only have the vision of working at two universities, but I think unis need to take a real hard look at their courses from a holistic point of view. I recall stumbling across that MIT course at least 5 years ago. I do not know many others who implemented something like that.
Post reply on HN