Sophomore Fall

July 31, 2015

It's time to choose classes at Stanford!

Unfortunately (fortunately?) there are too many cool CS classes to take at Stanford during the fall. Classes currently on my radar that are only offered fall quarter are:

  • CS144 - Networking
    • in this class you basically learn how the internet works. It's inverted classroom style, so you watch videos about theory at home and talk about it in class. Having watched some videos out of curiosity, I can say that they're really fascinating, and the professors do a great job detailing the internet, one of the greatest engineering feats of modern technology. The class is known to be one of the harder(est?) CS classes at Stanford though, because you literally have to implement a lot of networking protocols in C. I think the first assignment is writing a TCP server from a provided bare-bones implementation of a UDP server. -- Really excited to take this one!
  • CS251 - Bitcoin
    • This one is taught by Dan Boneh, (one of?) the world's greatest expert(s) on computer security. I'm taking this one probably half because I want to take a class with Dan and half because I think bitcoin is interesting itself as a technology (and I want to know what the fuss is about, as I've never actually looked into it).
  • CS229 - Machine Learning
    • This was Andrew Ng's famous class, so I feel somewhat obligated as a Stanford CS kid to take it. It's actually known to not be the most organized class (it had more students than CS106a last fall!) and I hear some things are brushed over rather quickly, so it's imperative I put in some extra time on learning the material if I actually want to know it. But I still think it'll be super cool.
  • CS221 - AI
    • A lot of older CS students told me to take this instead of 229, while others told me it was a relatively easy class. In any case, I don't have space on my schedule to take this class because it conflicts with 251, but I'll definitely keep my ears perked to see what my friends have to say about it. Who knows, I might even take a look at their problem sets or course notes from time to time.
  • CS131 - Computer Vision
    • This just sounds cool. Not many of my friends have talked about it, but I think it would be super interesting. However, not tryna take 4 CS classes this next quarter so it'll have to wait...
  • CS145 - Databases
    • I already took a databases class in HS where we talked about 6 normal forms in relational databases and went over basic queries. We also talked about NoSQL databases like MongoDB, Riak, HBase, and Neo4J, of which I've only used PostgreSQL and MongoDB semi-extensively. We also learned about the CAP theorem and ACID compliance and the pros and cons of various databases, but at the end of the day it wasn't so rigorous as it was only a HS class. Hopefully this class will bring some rigor into what I learned before and teach me new things when I take it next year.

I'm also looking at taking Social Dance which is one of the most highly demanded classes at Stanford, (aka click enroll at exactly midnight!) and Math110 which is Number Theory. I figured I had to throw a math class in there to keep me thinking rigorously. Also I miss math, as I only took 1 math class last year :(.


So those are my plans for now, and I'll append an update to this post when I actually finalize my schedule!

Tags: Stanford