MIT offers the "missing CS course"

  • Thread starter scottdave
  • Start date
  • #1
scottdave
Science Advisor
Homework Helper
Insights Author
1,777
744

Main Question or Discussion Point

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 harborsparrow, hagopbul, kith and 8 others

Answers and Replies

  • #2
DEvens
Education Advisor
Gold Member
1,203
452
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 harborsparrow, jim mcnamara and jedishrfu
  • #3
FactChecker
Science Advisor
Gold Member
5,578
2,056
Parts of it look surprisingly old-fashioned. Doing data reformatting using sed, awk, etc. is, IMHO, primitive compared to Perl (and perhaps Python).
 
  • #4
FactChecker
Science Advisor
Gold Member
5,578
2,056
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 pbuk
  • #5
DEvens
Education Advisor
Gold Member
1,203
452
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 Tom.G and jim mcnamara
  • #6
PeterDonis
Mentor
Insights Author
2019 Award
29,591
8,883
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 Tom.G, jim mcnamara and DEvens
  • #7
FactChecker
Science Advisor
Gold Member
5,578
2,056
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 jedishrfu
  • #8
11,794
5,402
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 Klystron
  • #9
11,794
5,402
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 FactChecker
  • #10
Ibix
Science Advisor
Insights Author
6,422
5,072
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
FactChecker
Science Advisor
Gold Member
5,578
2,056
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 scottdave
  • #12
PeterDonis
Mentor
Insights Author
2019 Award
29,591
8,883
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
1,746
809
I "wrote" and then used a 6-line awk script today that saved me about 2 or 3 hours work.
 
  • #14
DavidSnider
Gold Member
487
131
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
chemisttree
Science Advisor
Homework Helper
Gold Member
3,399
427
What course do you take to know what “GIT” stands for?
 
  • #16
pbuk
Science Advisor
Gold Member
1,427
405
  • Like
Likes Nugatory

Related Threads on MIT offers the "missing CS course"

  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
0
Views
1K
Replies
3
Views
2K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
14
Views
3K
Replies
4
Views
2K
Replies
5
Views
518
Replies
13
Views
1K
  • Last Post
Replies
2
Views
892
Top