MIT offers the "missing CS course"

  • Thread starter Thread starter scottdave
  • Start date Start date
  • Tags Tags
    Course Cs Mit
Click For Summary

Discussion Overview

The discussion centers around MIT's new computer science course titled the "missing semester," which covers topics such as shell scripting, command line usage, and version management. Participants express varying opinions on the course content and the tools it emphasizes, particularly GIT and traditional UNIX tools.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants find the course interesting, highlighting its focus on practical skills like shell scripting and version management.
  • Others criticize the emphasis on GIT, suggesting that it should be introduced after foundational concepts of version management are taught.
  • There are claims that using tools like sed and awk is outdated compared to more modern languages like Perl or Python, although some argue these tools are still useful in certain contexts.
  • One participant compares learning GIT to teaching an auto-mechanic by starting with complex machinery instead of basic tools, suggesting a need for foundational instruction.
  • Another participant argues that a plain text editor is a more fundamental tool for writing than Word, which is contested by others who feel Word is essential for document creation.
  • Some participants share personal experiences with using UNIX tools effectively, noting their utility in scripting and programming tasks.
  • There is a question raised about what course teaches the meaning of "GIT," with a reference to an interview with its creator.

Areas of Agreement / Disagreement

Participants express multiple competing views regarding the effectiveness and relevance of the tools taught in the course, particularly GIT and traditional UNIX utilities. There is no consensus on the best approach to teaching version management or the necessity of specific tools.

Contextual Notes

Some participants note the limitations of the course content, including the potential outdatedness of certain tools and the assumptions made about students' prior knowledge. The discussion reflects a range of experiences and opinions regarding the teaching of programming and version control.

scottdave
Science Advisor
Homework Helper
Insights Author
Messages
2,009
Reaction score
974
MIT has created a new course they call the "missing semester" in computer science. https://missing.csail.mit.edu/
It looks interesting - shell scripts, command line, version management, to name a few.
 
  • Like
  • Love
  • Wow
Likes   Reactions: harborsparrow, hagopbul, kith and 8 others
Technology news on Phys.org
Their idea of "version management" is to toss you at GIT. Sigh. Maybe *after* you learn version management you can look at GIT.
 
  • Like
Likes   Reactions: harborsparrow, jim mcnamara and jedishrfu
Parts of it look surprisingly old-fashioned. Doing data reformatting using sed, awk, etc. is, IMHO, primitive compared to Perl (and perhaps Python).
 
DEvens said:
Their idea of "version management" is to toss you at GIT. Sigh. Maybe *after* you learn version management you can look at GIT.
GIT should be as fundamental a tool for a programmer as Word is to a person writing a document.
 
  • Like
Likes   Reactions: pbuk
FactChecker said:
GIT should be as fundamental a tool for a programmer as Word is to a person writing a document.

That's as may be. But if you were trying to teach somebody to be an auto-mechanic, somebody who had never seen a hand tool, would you sit them down on the seat of a bulldozer equipped with a jet engine? Or would you *start* with "Now this is a wrench. You hold this end. You use it to tighten or loosen nuts. This is is a nut. Let's tighten it a bit."

Also, Word is not a *fundamental* tool to an author. It's a "place for my stuff." And I would not consider "Here, start up Word" to be any kind of instruction on how to author a document.
 
  • Like
Likes   Reactions: Tom.G and jim mcnamara
FactChecker said:
GIT should be as fundamental a tool for a programmer as Word is to a person writing a document.

I write lots of documents without using Word. If there is a fundamental tool for writing documents, it's a plain text editor.
 
  • Like
Likes   Reactions: Tom.G, jim mcnamara and DEvens
The first time a programmer modifies a file of code, version.c, and names the modified file version2.c, he needs to start using GIT instead. My guess is that it will happen in the first couple of days of programming.
 
  • Like
Likes   Reactions: jedishrfu
FactChecker said:
Parts of it look surprisingly old-fashioned. Doing data reformatting using sed, awk, etc. is, IMHO, primitive compared to Perl (and perhaps Python).
Years ago, I asked an engineer who was using vi why wasn't he using emacs. His answer was simple vi is everywhere on UNIX. This is still true today. I use vim a lot but every so often it's not there but vi is (as in a minimal docker image). The same goes for sed, awk and other "old fashioned tools". They are useful to get the job done quickly and arcanely in a script.

Usually, when my scripts become unwieldy maintenance-wise or comprehension-wise I switch and rewrite using pure python or python that calls UNIX commands. While you can use python as a script, sometimes the old tools make the script simpler to write.
 
  • Informative
Likes   Reactions: Klystron
PeterDonis said:
I write lots of documents without using Word. If there is a fundamental tool for writing documents, it's a plain text editor.

Sadly, it gets harder and harder to use the simple text editor and one is forced to write using Word. The only intermediate way is to use markdown markup language in plain text. However for markdown, formatting varies from tool to tool.
 
  • Like
Likes   Reactions: FactChecker
  • #10
jedishrfu said:
Years ago, I asked an engineer who was using vi why wasn't he using emacs.
I have vim on my phone - an excellent editor for a tiny keyboard.
 
  • #11
I used Word as an example simply because I have had this exact argument over GIT with management who disallowed open-source software. They appreciated the value of Word, email, etc., but saw no need for programmers to have a basic tool like GIT.
 
  • Like
Likes   Reactions: scottdave
  • #12
FactChecker said:
I used Word as an example simply because I have had this exact argument over GIT with management who disallowed open-source software. They appreciated the value of Word, email, etc., but saw no need for programmers to have a basic tool like GIT.

I agree that does seem like a bad policy decision on management's part.
 
  • #13
I "wrote" and then used a 6-line awk script today that saved me about 2 or 3 hours work.
 
  • #14
One of the best programming exercises I ever did was reimplementing a large portion of the unix core utils from scratch using the man page as a spec (cat, find, grep, sort, echo, tee, head, tail, split etc). I don't know if "More Python the Hard Way" was the first place to ever suggest this, but it's a great idea.

You learn how to program *and* learn how to use all these great tools.
 
  • #15
What course do you take to know what “GIT” stands for?
 
  • #16
chemisttree said:
What course do you take to know what “GIT” stands for?
One given by https://www.linuxfoundation.org/blog/2015/04/10-years-of-git-an-interview-with-git-creator-linus-torvalds/.
 
  • Like
Likes   Reactions: Nugatory

Similar threads

  • · Replies 1 ·
Replies
1
Views
10K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
6
Views
565
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 13 ·
Replies
13
Views
5K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K