Interactive software research consultant. Drummer, samplista, free software and free culture hacktivist
2 stories
·
1 follower

Computer Science Courses that Don't Exist, But Should

7 Comments and 22 Shares

CSCI 2100: Unlearning Object-Oriented Programming
Discover how to create and use variables that aren't inside of an object hierarchy. Learn about "functions," which are like methods but more generally useful. Prerequisite: Any course that used the term "abstract base class."

CSCI 3300: Classical Software Studies
Discuss and dissect historically significant products, including VisiCalc, AppleWorks, Robot Odyssey, Zork, and MacPaint. Emphases are on user interface and creativity fostered by hardware limitations.

CSCI 4020: Writing Fast Code in Slow Languages
Analyze performance at a high level, writing interpreted Python that matches or beats typical C++ code while being less fragile and more fun to work with.

CSCI 2170: User Experience of Command Line Tools
An introduction to UX principles as applied to command line programs designed as class projects. Core focus is on output relevance, readability, and minimization. UNIX "ls" tool is a case study in excessive command line switches.

PSYC 4410: Obsessions of the Programmer Mind
Identify and understand tangential topics that software developers frequently fixate on: code formatting, taxonomy, type systems, splitting projects into too many files. Includes detailed study of knee-jerk criticism when exposed to unfamiliar systems.

Read the whole story
pangelo
3373 days ago
reply
I'd be up for unlearning OO, studying classic software, making command line programs more usable and better understand programmer obsessions. Not so sure about the fast code in slow languages one (I would probably end up being the annoying student trying writing C++ code to run 10x faster than the profs examples :P)
Porto, Portugal
popular
3374 days ago
reply
Share this story
Delete
6 public comments
jimwise
3371 days ago
reply
This. This. Really, really, this.
mindless
3373 days ago
reply
Differential diagnosis 101
Zagreb, Croatia
jlvanderzwan
3374 days ago
reply
That last one should come first, then they have the required skills to stay focussed on the other ones
rlauzon
3374 days ago
reply
I already took these classes at the School of Hard Knocks.
glenn
3374 days ago
reply
What if some day you could get a Classical Studies degree that included study of 80s software and video games
Waterloo, Canada
jlvanderzwan
3374 days ago
We're on our way; pretty sure that the original Super Mario Brothers has been deconstructed to death in various game studies
jepler
3375 days ago
reply
A+++++ would enroll again
Earth, Sol system, Western spiral arm
copyninja
3374 days ago
Same here :-)