Distributed Computing: Paxos, Bayou, Byzantine Faults, 2 Phase Commit.
Network Security: Had to demonstrate SQL injection, XSS attacks, stack smashing various C programs (one exploit required taking advantage of a double free to gain control).
Programming for Performance: cache / matrix multiplication optimization, finding single source shortest path for the USA road network using a multithreaded implementation on a supercomputer 3 ways (Djikstra, Bellman-Ford, BF with chaos relaxation), and again using CUDA.
Algorithms: graph theory (cycle detection, min-max flow, bipartite detection, Kruskal's, Floyd-Warshall, A*), divide & conquer, recursion / dynamic programming, greedy algorithms.
Other courses: compilers, data structures, combinatorics, probability, linear algebra.
These are just some projects I've done over the years, and only a subset of what was taught. Oh, and I picked up boring stuff like git, unit testing, and 3NF along the way.
> Did anyone actually learn software development from their CS degree?
Yes, yes I did.
Pretty much every one of my classes included a heavy programming load, including Algorithms. Depends on the program.
I guess the how-computers/programs-work type of stuff is pretty important (in a subtle way). I just learned waaaay more by making things I liked in my own free time (games, web apps, tools).
However, the foundations that my CS degree gave me allow me to think much more openly about the possibilities of what can be done with computers. I don't need to depend on what a library can do, I can dream big and then find the code that does what I need or build it if I have to.
And strategic thinking is an orthogonal skill that will elevate anybody no matter what professional discipline they are in. As a professor of mine once said "if the only things you learn at university are covered in your classes, you've attended a very poor university indeed."
"CS 371 - Software specification, design, testing, maintenance, documentation; informal proof methods; team implementation of a large project"[1]
[1] http://catalog.nmsu.edu/previous-years/undergraduate/Undergr...