[HN Gopher] The Missing Semester of Your CS Education ___________________________________________________________________ The Missing Semester of Your CS Education Author : anishathalye Score : 88 points Date : 2020-02-03 17:25 UTC (5 hours ago) (HTM) web link (missing.csail.mit.edu) (TXT) w3m dump (missing.csail.mit.edu) | lkbm wrote: | In the lab for my second or third CS course, the professor was | walking us through intro Unix usage, but he didn't take | attendance so it ended up being just 2-4 of us showing up. After | a few weeks, he cancelled the lectures and told us he'd just be | around to answer questions, help with homework, etc. | | The last lecture before he cancelled things was an intro to Vim. | The next would've been Emacs. | | And that's the story of how I became a life-long Vim user. :-) | trillic wrote: | Here's a link to a similar course offered by UMich EECS. I really | enjoyed it when I took it as an undergrad. | | https://github.com/c4cs/c4cs.github.io | dahfizz wrote: | I really wish this practical stuff was more emphasized. I | graduated with a lot of very smart people who could write great | code - but they could not compile, run, test, or check it into | VCS to save their lives. | | It made group projects hell. | wes1350 wrote: | This course is wonderful! I've read through all the material and | watched all the lectures and I can say it has helped me | tremendously thus far. I'm still trying to master all the tools | they've mentioned but I already feel much more proficient with | e.g. version control, vim, using the command line, etc. If you're | an experienced dev then you might already know all of these | things, but if you feel that you have some gaps in your knowledge | with some of these tools, this course will likely point you in | the right direction. | floatrock wrote: | If you're an experienced dev, you use all these every single | day. | | God save me if I'm asked to implement quicksort though... | theory is nice, but for me, academia largely forgot about this | practical stuff. | Jonhoo wrote: | Over the years, we (@anishathalye, @jjgo, @jonhoo) have helped | teach several classes at MIT, and over and over we have seen that | many students have limited knowledge of the tools available to | them. Computers were built to automate manual tasks, yet students | often perform repetitive tasks by hand or fail to take full | advantage of powerful tools such as version control and text | editors. Common examples include holding the down arrow key for | 30 seconds to scroll to the bottom of a large file in Vim, or | using the nuclear approach to fix a Git repository | (https://xkcd.com/1597/). | | At least at MIT, these topics are not taught as part of the | university curriculum: students are never shown how to use these | tools, or at least not how to use them efficiently, and thus | waste time and effort on tasks that should be simple. The | standard CS curriculum is missing critical topics about the | computing ecosystem that could make students' lives significantly | easier. | | To help mitigate this, we ran a short lecture series during MIT's | Independent Activities Period (IAP) that covered all the topics | we consider crucial to be an effective computer scientist and | programmer. We've published lecture notes and videos in the hopes | that people outside MIT find these resources useful. | | To offer a bit of historical perspective on the class: we taught | this class for the first time last year, when we called it | "Hacker Tools" (there was some great discussion about last year's | class here: https://news.ycombinator.com/item?id=19078281). We | found the feedback from here and elsewhere incredibly helpful. | Taking that into account, we changed the lecture topics a bit, | spent more lecture time on some of the core topics, wrote better | exercises, and recorded high-quality lecture videos using a fancy | lecture capture system (and this hacky DSL for editing multi- | track lecture videos, which we thought some of you would find | amusing: https://github.com/missing-semester/videos). | | We'd love to hear any insights or feedback you may have, so that | we can run an even better class next year! | | -- Anish, Jose, and Jon | floatrock wrote: | Love this. I remember it wasn't until junior year when I was | reading about the theoretical underpinnings of the unix kernel | that I learned what the pipe operator I'd been copy-pasting on | psets really did. I mean, it's great to learn those | underpinnings, but most course 6 classes assumed you already | knew all these tools... if it wasn't theory, it wasn't their | responsibility to teach it. | | "Missing Semester" describes it perfectly. Wish there had been | something like this back in my day... I remember I felt as if I | had learned all the theory behind fluid mechanics but didn't | know the first thing about fixing a leaky faucet in my kitchen. | Keep up the good work! | ericd wrote: | Ha some MIT alum friends and I were just talking about how | great it would be if something like this existed, rather than | having it be left to one's first years as a junior engineer in | a company. Thanks for doing this, it's sorely needed. ___________________________________________________________________ (page generated 2020-02-03 23:00 UTC)