Earlier quoted context omitted.
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#.
The Missing Semester of Your CS Education (2020)
121–130 of 347 posts
Re: The Missing Semester of Your CS Education (2020)
#122The 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…
Re: The Missing Semester of Your CS Education (2020)
#123Lots 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…
It seems that the course is only 1 month and runs alongside some student-run classes. So this is from the get go not an essential course of a CS program.
Re: The Missing Semester of Your CS Education (2020)
#124Earlier quoted context omitted.
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.
I think VS Code is just extremely convenient and can address most peoples needs out of the box. It’s therefore also very beginner friendly. You don’t need to constantly fight the tool or spend hours researching how to configure some trivial feature. That being said VS Code is quite heavy and has an enormous amount of GUI elements. I mean they even have buttons for things like git fetch and pull for heavens sake. They…
Re: The Missing Semester of Your CS Education (2020)
#125Lots 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…
If your main usage environment is windows, none of these are that helpful, but the ideas could be translated mostly (windows shell is similar enough, that you can just as easily script them with batch files).
Re: The Missing Semester of Your CS Education (2020)
#126Earlier quoted context omitted.
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 th…
In my class 5 years ago, the differentiating factor was whether the kids who grew up online or not. Students like myself or my roommate who’d spent their formative years in front of a computer, not because they had to, but because it seemed like the thing to do at the time. I never realized how much I was learning during the time I spent scripting RuneScape bots and writing toy “viruses”, I did it because it was more…
Re: The Missing Semester of Your CS Education (2020)
#127Earlier quoted context omitted.
A talented developer who doesn't know how to set a breakpoint sounds contradictory to me.
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…
Re: The Missing Semester of Your CS Education (2020)
#128Earlier quoted context omitted.
There’s absolutely a responsibility to educate on the topics needed for the degree to be granted. This class is an adjacency to an EE or CS candidate. Are universities also failing their students by not offering/requiring a touch-typing class? I don’t think so, in large part because computer science is not programmer occupational training.
A CS course isn't programmer occupational training in name only. Practically, there aren't many CS research jobs and working as a programmer is more often than not the career path for someone with a CS degree. Universities can choose to be puritans about what CS is as you seem to be advocating for, or they can be realists and fill a very real gap in skills and knowledge. Your point about "the topics needed for the de…
I'm willing to bet the answer to both of those questions is a computer programmer.
Re: The Missing Semester of Your CS Education (2020)
#129I remember that after watching that lesson I straight up wrote two big bash scripts that made users download recorded lessons directly from WebEx and MS Teams.
Re: The Missing Semester of Your CS Education (2020)
#130Earlier 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 think there's a sort of horseshoe effect where both beginners and some experienced programmers tend to use print statements a lot, only differently. When you're extremely "fluent" in programming code and good at mentally modelling code state, understanding exactly what the code does by looking at it, stepping through it doesn't typically add all that much. While I do use a debugger sometimes, I'll more often form a…