
Computer Science Courses That Don't Exist, but Should - 0xCMP
http://prog21.dadgum.com/210.html?y=2018
======
Digital-Citizen
Here's a few more:

Ethics of computing: explaining and considering the principles of free
software, practical reasons for respecting software freedom, and reviewing
corporate-minded disclosure policies such as so-called "embargoes" on when
security flaws may be revealed by independent actors who haven't agreed to
keep secrets for businesses. Plenty of discussion and debunking of the latest
corporate-written news stories.

Reverse engineering protocols and file formats: we are saddled with a lot of
network protocols and file formats that need to be documented so we can write
fully compatible free software. A free software Skype client wouldn't protect
any user from the calls routed through a central Skype server, but it would
allow users to tell their Skype-using friends and family to consider switching
to a free software client where their calls aren't copied by default by
Microsoft (a known NSA spying partner).

Writing documentation for IT professionals and non-technical computer users:
too few people I know in IT jobs write documentation at all (even something as
trivial as updating a ticket explaining what they did to resolve an issue).
Some IT pros don't use complete sentences when they speak or write leading to
unclarity and needless confusion, and further exacerbating an 'insiders club'
mentality. This is a course aimed at showing technically-minded people (or
those who aim to become such) the value of speaking clearly, writing clearly,
and committing things to writing instead of depending on memory and verbal
"hand-off" between IT professionals.

------
kwillets
CSCI 586: Single-threaded programming

Advanced optimization techniques for distributed applications: data and
instruction localization, SISD (Single Instruction Single Datastream)
architectures, cache reuse.

------
gravypod
Are these Computer Science courses or Software Engineering courses?

I think we loose track of what we are. I'd much rather be a SE than a CS.
Unfortunately no colleges have a dedicated tack for this.

------
solipsism
Testing Software

I can think of no single class that would have been more useful in my CS
curriculum. Don't know if it's offered these days, but I deal with interns
from top schools regularly, and without exception every one is lacking the
basic fundamentals.

I think CS departments need to come to terms with the fact that 99.9% of their
students are going to become software engineers in the field.

