A 4 year CS degree at Rice University in 5 minutes
My $200,000+ college education summed up so you coding boot-campers can feel better about not wasting your money.
Freshman
COMP 140 Computational Thinking:
- Coding is tough
- D.R.Y.
- Think before typing
- Readability matters:
- No single letter variable names (lesson to be unlearned later)
- Method names begin with action verbs
- Snake case
- Uppercase letters for classes, lowercase for others
- Be very worried when a professor has open-book and open-Internet exams
COMP 182 Algorithmic Thinking:
- Maybe coding isn't so difficult, but coming up with an algorithm is
- Dynamic programming is a bitch
- Whole lot of set theory, whole lot of graph theory
- LaTeX is pretty useful
- Go to office hours (Luay is not that scary in person)
Sophomore
COMP 215 Intro to Object Oriented Programming:
- Functional programming is a cult following
- Here are a few big words: Inheritance, Polymorphism, Encapsulation, Abstraction
- A monad is just a monoid in the category of endofunctors, what's the problem?
COMP 330 Tools & Models for Data Science:
- There are too many tools and models used for data science
- SQL, scikitlearn, pandas, numpy, MapReduce, Spark, Hadoop, AWS
- Hack AWS Education plan by signing up alias emails for free credits
COMP 321 Introduction to Computer Systems:
- Low-level programming is a bitch
- C programming is a bitch
- I never want to touch machine code or assembly language ever again...
- Pointers and memory allocation is a thing
COMP 322 Intro to Parallel Programming:
- Tell the computer to do things in parallel, when possible
- Data races are problematic
- Protect against them using semaphores, locks, mutexes, monitors
Junior
COMP 382 Reasoning about Algorithms:
- Dynamic programming is still a bitch
COMP 310 Advanced Object Oriented Programming:
- Documentation can easily make or break a project
- Building software with a large group of peers can quickly get political. It can easily turn into the nerdy software version of Lord of the Flies.
COMP 576 Intro to Deep Learning:
- GANs are cool
- Backprop holy crap...
- Artificial art questions what art really is, just like AI questions what intelligence really is
COMP 480 Randomized Algorithms:
- A problem with a memory-constrained environments and strict time requirements makes a good candidate for a randomized algorithm
- Randomized algorithms give up certainty for efficiency. They're the algorithmic equivalent of saying "fuck it, let's try any of these options"
COMP 421 Operating Systems:
- Low-level programming is still a bitch
- C programming is still a bitch
COMP 301 Ethics:
- Computers might kill us
- Computers might discriminate against us
- Basically the moral behind the story of Pied Piper
Senior (in progress)
COMP 410 Systems Design:
- TBD
COMP 411 Programming Languages:
- TBD