Live data from Hacker News

The Missing Semester of Your CS Education (2020)

missing.csail.mit.edu

191–200 of 347 posts

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

#191

Except this is just software engineering and has nothing to do with computer science.

In approximately the same way that knowing how to type has nothing to do with computer science.

True, that also has nothing to do with computer science.

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

#192
post #176

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) - Ther…

It would seem this would be the perfect kind of class for online learning. Perhaps even as a wiki to crowd source helpful contributions. Most learning doesn't even have to be directed, but just point students in the right direction. This is a ripe area to find ways to better facilitate individual initiative, because a moderate level of effort yields tremendous reward. Plus, you can easily determine if you are doing i…

Same in another school (EPITA).

You start with 2 weeks of only Linux C + POSIX shell, and during this you're only allowed to use i3 + vim/emacs.

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

#193

Earlier quoted context omitted.

Am I unique in not romanticizing computer science? I see it more as a trade. There can certainly be some beauty to it. I’m sure coal miners hold some of their own in special regard too.

Well after they spend 4-8yrs of their life learning CS, damn right they’re going to romanticize and gatekeep it every chance they get. Meanwhile I agree with you, software engineering jobs are a trade 90% of the time. It’s why so many highly educated folks are being laid-off right now, while the doers keep-on building and making bank.

> while the doers keep-on building and making bank.

It’s spelled Doerr

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

#194
post #138

Earlier 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…

There's definitely a thing with CS that, at least at more elite schools, there's an assumption that you more or less know how to program--at least a language like Python--and you also more or less know your way around a computer well enough to use it as a tool for programming. (Or you pick it up quickly on the side along with your full course load.) This is more or less unique among college majors outside of some art…

My school handled this cleverly by taking people with prior programming experience into a Haskell sequence, which suitably kicked our asses to the same degree as what the first-time programmers were getting.

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

#195

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) - Ther…

> I do not know many others who implemented something like that. the school I did in france, ENSEIRB-MATMECA, started with three weeks where you only learn shell commands, emacs, LaTeX etc before doing anything else. Here are the slides (in french sorry, although they all have useful reference cards at the end): - intro: http://mfaverge.vvv.enseirb-matmeca.fr/wordpress/wp-content/... - unix, shell: https://cours-mf.g…

LaTeX? Is this a dual math-cs program?

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

#196

Earlier quoted context omitted.

I agree you should know how to use a debugger, however will also note that some companies mandate use of a specific IDE (or heavily encourage). I have seen devs scoff at the thought of print debugging, but I recall that in systems programming there are many times you can’t use a debugger or need to rely on other tool. I’d rather schools teach the concept of step debugging vs runtime debugging. Teach students to try t…

> I agree you should know how to use a debugger, however will also note that some companies mandate use of a specific IDE (or heavily encourage). The debuggers in most popular IDEs (IntelliJ IDEA/any JetBrains IDE, Visual Studio, VSCode, Eclipse) work the same way. You set breakpoints (typically by clicking somewhere around the line number), step into and out of functions, and look at the memory state. If you learned…

The biggest hurdle for beginners when using built-in IDE debuggers in my experience is the requirement to set up the debug run configuration to properly execute their program. Even though this amounts essentially to "how do you run the program on the command line? Write that in the IDE configurator", newbies don't know how to run the program from the command line (and can't debug any startup errors they might get), so can't properly set up the debugger in their IDE, and revert back to print debugging everything.

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

#197
post #138

Earlier quoted context omitted.

There's definitely a thing with CS that, at least at more elite schools, there's an assumption that you more or less know how to program--at least a language like Python--and you also more or less know your way around a computer well enough to use it as a tool for programming. (Or you pick it up quickly on the side along with your full course load.) This is more or less unique among college majors outside of some art…

My school handled this cleverly by taking people with prior programming experience into a Haskell sequence, which suitably kicked our asses to the same degree as what the first-time programmers were getting.

UWaterloo does this.

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

#198

Earlier quoted context omitted.

> I do not know many others who implemented something like that. the school I did in france, ENSEIRB-MATMECA, started with three weeks where you only learn shell commands, emacs, LaTeX etc before doing anything else. Here are the slides (in french sorry, although they all have useful reference cards at the end): - intro: http://mfaverge.vvv.enseirb-matmeca.fr/wordpress/wp-content/... - unix, shell: https://cours-mf.g…

LaTeX? Is this a dual math-cs program?

We had plenty of math classes in CS

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

#199
Instead of smashing tools into a single class, they should be incorporated early and throughout the curriculum so they can aid students as they progress.

For example we have a sophomore fall class called Linux/Unix Programming that covers about half of these topics and a sophomore spring class called Open Source Software Development that covers the rest (and philosophy, history, etc.). We have an advantage for this sort of work, though, in that we’re not a prestigious research university, but instead a small teaching college that calls ourselves “professionally focused.” Meaning while we have a CS degree, we acknowledge that 90% of our graduates will become software developers. That approach means that while theory is still important, tools for software development are very intentionally incorporated as part of the core of what we teach. Think of it as a blend of CS and software engineering (which is also one of our concentrations for a deeper dive).

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

#200
post #101

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

It's an interesting phenomenon because F# is far easier to learn than C#.

Perhaps if you already know C#, otherwise I doubt it. Of course it depends on ones prior experience, but F# is functional but still requires you to understand OO in order to interact with the framework.
Post reply on HN