Live data from Hacker News

The Missing Semester of Your CS Education

missing.csail.mit.edu

121–130 of 200 posts

Re: The Missing Semester of Your CS Education

#121
post #96

Earlier quoted context omitted.

"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it." -- Bill Gates Some people just accept absurd drudgery interacting with computers; it never even occurs to them to seek an easier way. But if you can teach the students to be "lazy" when it comes to that kind of repetitive drudgery, they'll be set for life.

I think the problem is more a lack of imagination. They just keep doing things the way they always have. I seem to have a surplus both of "there has to be a better way"-itis, and some skill in finding such ways.

I call it a lack of curiosity instead of a lack of imagination. Both are useful, but to me imagination is more about coming up with new solutions than understanding how something that already exists can be bent to your will.

Re: The Missing Semester of Your CS Education

#122
post #26

Earlier quoted context omitted.

I'm entirely self-taught and can entirely understand wanting that belief to be true, but it just isn't. A university can give you so much more than just learning some programming language. At the very least, it's going to force you to dabble in some languages you wouldn't ordinarily touch. The same obviously goes for theory. Assuming there are at least some things that require a minimum effort that is uncomfortable b…

> Assuming there are at least some things that require a minimum effort that is uncomfortable before allowing you to see their benefits, you will discover more guided by qualified people and well-designed curricula than on your own. Perhaps, but sitting in the lecture hall isn't the only way you can get thorough instruction from professionals. Books exist, and they don't suffer from the same monetary, timing, and pac…

I think that structure, accountability, and community are the big draws towards school. For young people I think that these are extremely important- when I was in school- taking 6 classes meant I spent a roughly 40 hour work week on school stuff. I had a really hard time doing half of those hours when I wasnt in school.

Obviously that's more of a me issue than an issue inherent to self-learning, but many of us have me issues.

If you're not the type of person who would benefit from structure and community- the value proposition clearly doesn't make sense. Even if you would benefit from those things- the value proposition isnt clear at all- its tremendously expensive.

Re: The Missing Semester of Your CS Education

#123

Metaprogramming has an actual meaning and it means something completely different from what it is used for on this website: "Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data." [1] i.e.: it's a programming technique and not something related to any process related to building code. I understand the idea of giving some more practical side of us…

Students will presumably learn about actual metaprogramming in one of the non-missing semesters, so maybe it's meant as a pun?

Re: The Missing Semester of Your CS Education

#124
post #2

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…

That’s cool. Now, on to my possibly unpopular opinion: This isn’t what computer science is about. In fact, you don’t even need to use a computer to do computer science.

Sure, some stuff you learn in CS can make you a better software engineer. CS cannot make you a software engineer.

CS can definitely not make you adept at using computers and neither should it. That’s something earlier education institutions must tackle.

It’s always good to have optional courses for various topics of interest. _Requiring_ students to learn, say, MS Office (I had to), is just plain ridiculous.

Re: The Missing Semester of Your CS Education

#125
post #121

Earlier quoted context omitted.

I think the problem is more a lack of imagination. They just keep doing things the way they always have. I seem to have a surplus both of "there has to be a better way"-itis, and some skill in finding such ways.

I call it a lack of curiosity instead of a lack of imagination. Both are useful, but to me imagination is more about coming up with new solutions than understanding how something that already exists can be bent to your will.

I think they go hand-in-hand. You have to have some imagination about how something must work (however off-base) to be curious enough to find out how it really works. It often seems to me that people who aren't curious lack it because they can't even imagine something different than what is in front of them.

They don't wonder how a car works because they can't even begin to deduce how it might work, from the observable outside in, because they lack the imagination to make those deductions. Someone who's curious might see a car and think, "How does this work? I can see the wheels spin and propel it forward, but something must be making those wheels turn. How do they all spin at the same time? What turns the push of the pedal into making the wheels turn?" etc.

I see curiosity and imagination as two sides of the same personality trait expressed in different ways.

Re: The Missing Semester of Your CS Education

#126
post #105
post #2

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…

We previously had the same problem at University of Copenhagen, it was called "the hidden curriculum" among students. When the undergraduate programme was reformed a few years ago these subjects where integrated into various courses, so they could be taught in a learning-by-doing fashion. As part of the first programming and problem-solving class (F#), we also teach LaTeX, Emacs and basic use of the command line, as…

Um, quick question: so should one use Emacs as the University of Copenhagen, or VIM as MIT is teaching?

(Just kidding)

Re: The Missing Semester of Your CS Education

#127
In my graduate program (Neurosciences) the students with a computational background usually realize after about two years that all of our colleagues desperately need a basic orientation for how to actually use a computer to do real work. The only institutions that I know of that teach the kinds of courses we need are community colleges.

The curriculum presented here is an enormous community resource and I hope the other institutions recognize the desperate need for a course like this and allocate the resources to teach it.

Re: The Missing Semester of Your CS Education

#128
University of Michigan had this as an elective three or four years back, and it's served me well to understand things like piping, output redirection, and reflog. I'm glad MIT's making this public. It seems like it could fill a big gap for people who don't have the mentorship to know what they don't know.

Re: The Missing Semester of Your CS Education

#129
post #2

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…

You use Vim in your example. Get your students out of it and into something like IntelliJ IDEA or VS Code or (at a bare minimum) Eclipse.

Re: The Missing Semester of Your CS Education

#130
post #116
post #114

There are two sides to this kind of teaching. If you're MIT, you can afford to hire great lecturers who know to teach the students fundamental and deep truths about the tools they're using and not trivia. That way, they can generalize onto other tools, so anyone who studied git can quickly adapt to using cvs or svn. My university (in a developing country) is on the other side. Last semester was a disaster. We had an…

I find it very weird to see something like an AWS course in a university-level CS curriculum.

AWS and Windows Server courses are definitely not university-level CS courses.
Post reply on HN