Live data from Hacker News

The Missing Semester of Your CS Education (2020)

missing.csail.mit.edu

91–100 of 347 posts

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

#91
post #66

Earlier quoted context omitted.

There is a world of programming where debuggers don't serve much purpose. Individual microservices are usually trivial, but push complexity into the interactions between services. Debuggers are not much use there; distributed tracing is more relevant. Functional programming, which is a growing part of the industry, really emphasizes code you can easily reason about. That's arguably the whole point of functional progr…

I'm not a talented developer but I did spend my day on an F# piece of code that builds a databale based on a record type using reflection (and eventually realized it was going to need to be recursive) and I probably would've just quit if I wasn't allowed to use a debugger. Now maybe if I was better that wouldn't be the case, but even the cleanest "wish i thought of that" functional code i've seen still looks like it'…

> 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#.

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

#92
post #2

The content taught here is the highest payout thing you can learn, in my opinion. Certainly more important than actually writing code or learning algos. What this content covers should unlock iteration speed, which is the single greatest lever in learning and growing faster (on a computer). Thus it gives you more cycles to go back to improving your code, experimenting with algos, etc. Probably also highly correlated…

I have this feeling that the kids who appear better at uni are the ones who happened to pick up certain not-quite-programming skills before they started. Basics of networking, how installation of programs happens, how to use the command line, that kind of thing.

I looked over her shoulder as my wife was doing a CS degree, and I realised there's a bunch of these little things that make life a lot easier if you know them.

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

#94
post #2

The content taught here is the highest payout thing you can learn, in my opinion. Certainly more important than actually writing code or learning algos. What this content covers should unlock iteration speed, which is the single greatest lever in learning and growing faster (on a computer). Thus it gives you more cycles to go back to improving your code, experimenting with algos, etc. Probably also highly correlated…

I sat with a talented developer whilst we wrestled with a threading issue this past week. I wanted to inspect the value of a variable within a method during execution and asked him to set a breakpoint. He didn't know how to do that in the IDE, which he'd been using for over a year. Debugging is indeed a skill which needs learning.

Well. a big part is curiosity, and apparently he isn’t curious not interested in what his tools do.

I used to read every help file on windows / visual c++, the FreeBSD manual, plowed through the file system and tested this it. Just because I was curious

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

#95
What's has only a single, passing mention in the article, and none here, is how this fits in to MIT's curriculum. The content is supremely useful, but does not properly fit into a traditional college semester 10-week course schedule. MIT has this weird 'half semester' in which to fit this, and similar shaped content, for all disciplines. It is largely student run, as we see here.

> Independent Activities Period (IAP) is a four-week period in January during which faculty and students are freed from the rigors of regularly scheduled classes for flexible teaching and learning and for independent study and research. IAP is part of the academic program of the Institute—the "1" month in MIT's "4-1-4" academic calendar. Students are encouraged to explore the educational resources of the Institute by taking specially designed subjects, arranging individual projects with faculty members, or organizing and participating in IAP activities. They may also pursue interests independently either on or off campus.

http://catalog.mit.edu/mit/undergraduate-education/academic-...

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

#96

Earlier quoted context omitted.

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.

I find I use the stepping debugger less and less as I get more experienced. Early on it was a godsend. Start program, hit breakpoint, look at values, step a few lines, see values, make conclusions. Now I rely on print statements. Most of all though, I just don't write code that requires stepping. If it panics it tells me where and looking at it will remind me I forgot some obvious thing. If it gives the wrong answer…

It’s because we moved to request-response, and allow for deep linking / saved states. Soo the state of the session is more easily reproduced

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

#97
I personally don't like the undertone of the class (tho very grateful that this material exists!!!) - this idea that universities are failing their students by not teaching them necessary material. I think a better phrasing is that students are failing themselves by not learning the material. I've personally never considered it the responsibility of my university to educate me - some of the classes are certainly useful for learning, but the ultimate onus falls on me to gain the skills that will lead me to success. I find it kind of distasteful how classes encourage a sort of passive victim mentality when it comes to learning - as if students need to be bribed with credits and cudgeled with a gpa to be forced to learn genuinely useful things.

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

#98

Earlier quoted context omitted.

I sat with a talented developer whilst we wrestled with a threading issue this past week. I wanted to inspect the value of a variable within a method during execution and asked him to set a breakpoint. He didn't know how to do that in the IDE, which he'd been using for over a year. Debugging is indeed a skill which needs learning.

Well. a big part is curiosity, and apparently he isn’t curious not interested in what his tools do. I used to read every help file on windows / visual c++, the FreeBSD manual, plowed through the file system and tested this it. Just because I was curious

[deleted]

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

#99

I personally don't like the undertone of the class (tho very grateful that this material exists!!!) - this idea that universities are failing their students by not teaching them necessary material. I think a better phrasing is that students are failing themselves by not learning the material. I've personally never considered it the responsibility of my university to educate me - some of the classes are certainly usef…

You don't consider paying tens of thousands of dollars as creating responsibility to educate?

Of course, students need to be active in the learning process. But in my experience, it is more likely that professors and departments are terrible at educating than it is for students to not be motivated to learn.

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

#100
post #2

The content taught here is the highest payout thing you can learn, in my opinion. Certainly more important than actually writing code or learning algos. What this content covers should unlock iteration speed, which is the single greatest lever in learning and growing faster (on a computer). Thus it gives you more cycles to go back to improving your code, experimenting with algos, etc. Probably also highly correlated…

I sat with a talented developer whilst we wrestled with a threading issue this past week. I wanted to inspect the value of a variable within a method during execution and asked him to set a breakpoint. He didn't know how to do that in the IDE, which he'd been using for over a year. Debugging is indeed a skill which needs learning.

It's interesting. I mainly use functional-first languages, and I rarely need breakpoints. Programming is much more compositional with certain languages.
Post reply on HN