Sophomore Spring Semester Classes at Carnegie Mellon

It’s here. Finally. My biannual blog post about my college classes. Why am I posting this in August nearly 3 months after the end of the spring semester you might ask? Well, I started trying to write this blog post back in late May, but I only made it through half-way before hitting a writer’s block.

To be honest, the delay mostly has been because I’ve felt that I’ve lost some sense of purpose as to why I’m even writing these posts anymore. I started off writing about my classes because I thought it would be helpful for freshmen to learn a bit more about what certain freshmen classes at CMU were like for a CS major. But now that I’m wrapping up my sophomore year and about to turn the corner on my junior year, I’ve realized the classes I’m taking are probably increasingly less interesting to freshman and most non-freshman have been at CMU long enough to have talked with various other upperclassmen about different classes that they’re interested in. I’m also at a point where I’m starting to take more classes for my additional major than I am taking my Computer Science degree now, so my take on classes probably won’t be as meaningful or helpful as it may have once was. But in reflecting and trying to find a new source of motivation in writing these posts, I’ve decided that I’m not writing these for you the reader as much as I am writing these posts for me because in doing so I can force myself to reflect on my experiences, which is where the true value of experiences comes from. (Also so that when I’m 40 and have been deeply engrossed in working in industry or whatever future job I’m in for longer than I care to remember and I look back at my college experience, it won’t seem like an absolute blur and I will have at least partially captured in words my academic experience when I think back and wonder why I paid so much money for a piece of paper, but I digress.) Before I ramble even more and stumble into full-on existential crisis reflection territory, let’s actually get into what this post is supposed to talk about: My Sophomore Spring Semester Classes at CMU.

15-210 Parallel and Sequential Data Structure and Algorithms

So to preface my review of my 210 experience, I reread my “review” of 150 back when I took it freshman spring, and boy was I generous with my description. In my current state of having taken 4 semesters worth of classes now, I think 150 might be my most disliked CS class, content-wise, at CMU. This isn’t even coming from a “haha I’m a 122 TA so I don’t like 150” perspective. After struggling a lot through 150, I thought functional programming was the absolute worse and I was so terrified of taking a “harder” version of 150, aka what I perceived 210 to be, that I pushed it off to be my last 200 level CS class. In retrospect, even though I genuinely thought I forgot how to code in SML after a full year of not using it, I was able to pick it up again in the first few weeks of 210 and I slowly grew to enjoy and appreciate the class despite my bad experience with 150. It turned out that for a lot of the reasons that I like 122, (i.e. learning data structures, trees, graph algorithms, etc.), I also liked 210 for its more advanced data structure and algorithm topics, and this, at least for me, overshadowed the fact that I still had to code up all my homeworks functionally. One of the reasons I also think I enjoyed taking 210 as much as I did was because I discovered I hardly felt like I was ever learning something 100% new for the first time. This was a strange and new sensation. Even though I was definitely learning new ideas and topics in 210, they somehow still felt familiar in that I could somewhat trace them back to foundations and fundamentals I had learned from taking 150, 122, and Probability Theory. This sense of familiarity and my slightly increased confidence made me finally realize, “wow maybe, just maybe, I have learned something in the last 2 years of gruelingly hard CS classes.” But I don’t know if this would have been the case had I taken 210 earlier. So, despite the many days being stuck on figuring out an algorithm, messing up cost bounds, or flailing through midterm exams, 210 was better than I initially expected.

10-315 Introduction to Machine Learning

“I am interested in Artificial Intelligence and Machine Learning.” If you’ve never spoken these words as a high schooler or as an incoming freshman, I commend you. I for one was definitely a part of the subset of high schoolers that thought AI and ML sounded so cool, but in reality had absolutely no idea what AI and ML were beyond some sort of abstract concept that was supplemented by visuals from various sci-fi movies that I had watched. So, to not seem like a complete fool, be slightly more educated on this ML trend, and figure out why it’s supposedly all the rage, I decided to take Intro to Machine Learning as my AI Elective this semester and here are my main takeaways: ML is not elegant. I’ve never really considered myself much of a math person. But, my thus far CS background has helped me at least see math as a clean and concise way to problem solve and prove why things work the way they do. But from taking Into to ML, for a novice such as myself, ML is a sea of almost unintelligible math in the form of scary looking matrices and linear algebra computations that are so undesirable to solve that the realistic solution just seems to be to have a computer rather than a human compute it for you. This is definitely an oversimplification of the field as a whole, but the best way I personally would sum up my experience in this class. I still think ML is interesting, and the applications for it are incredibly profound, but the build-up of excitement to figure out whats lies beneath the black box that is ML to everyday outsiders, I’ve realized, for me at least, is not as elegant or exciting as I thought it would be. I may or may not be an anomaly in this opinion. However, I’m still incredibly glad that I learned this about myself and about ML, and resolved my curiosity and initial cluelessness through taking this class. Surprisingly enough, this class has become quite valuable for the thesis work I’m doing using ML models and so I definitely have this class to thank for the semblance of ML fundamentals I have to know how to work with these models.

15-296 Women in Computing

After CMU switched us all to remote learning after spring break, I realized I had a ton more time on my hands at home given that I didn’t have to walk to go to classes anymore or take the bus for lunch or dinner (thank you mom and dad’s cooking ❤️). So, naturally, as one does during a global pandemic, I decided to overload and take on Women in Computing as my 6th class this semester. I didn’t have particularly high expectations going into the class, thinking that a lot of the content would focus information that I already briefly knew about like lack of female diversity in computing, bias against women in tech, etc. However, I was pleasantly surprised Week 2 of the class when we read a chapter from Cracking the Digital Ceiling: Women in Computing Around the World titled “An Inegalitarian Paradox: On the Uneven Gendering of Computing Work around the World.” This article discussed how contrary to popular belief, there is a negative correlation between Human Development Index (HDI) and Gross National Income with representation of women in tech. In other words, research shows that the more affluent a country is, the greater gender inequality in tech there is. If you’re like me this is a really shocking statistic, especially when you consider about how diversity focused and progressive America seemingly tries to be. The article goes on to talk about how this finding is likely because in more affluent “postmaterialist” cultures where the pursuit of one’s true passion is more encouraged, young girls are comparatively more susceptible to cultural stereotypes that women should be in more people-centered interactive work rather than in tech work. This new information I learned, along with other tidbit facts , I think justified my decision to take on this mini and I’m glad I did.

85-102 Introduction to Psychology

If you read my last update on my sophomore fall semester classes, you might be surprised to learn that I signed up to take Intro to Psychology this semester, as it’s rather backward to have taken a 200 level psychology class, only to go back to take a 100 level class the next semester. You would be right to be surprised because even I surprised myself by impulsively registering for this class over winter break, a week before the spring term started. I did this for two reasons. First, because the same professor who had taught my favorite class fall semester, Social Psychology, would also be teaching 85-102. Second, because Intro to Psych is a required class for completion of an additional major in Psychology, which after meticulous course counting, I realized was only 2 classes more than what I would have had to take for my Psychology minor anyways. I personally still recommend Social Psychology over this specific class if you’re looking for a first Psychology class to take where you’ll leave with invaluable information about how and why humans do the strange and bias things that humans do. But this is also my personal preference as a more socially inclined newly declared Psychology additional major.

Bonus: Here’s my favorite topic I learned in Intro to Psych about the Peak-End Effect and our cognitive biases when it comes to how we rate experiences in memory and how this can effect our future decisions making.

85-309 Experimental Design for Behavioral & Social Sciences

For most of you reading this, 85-309 is probably a class that you will never consider taking so I won’t bother to go into too much detail about it. Overall, the class was a mash-up of AP Stats content mixed with me finally learning how to use R to perform exploratory data analysis, do inferential statistics, and build regression models. Learning a new language/tool is cool, but to be honest I doubt I’ll ever really use this in my CS (or even Psychology?) career. Dare I say, I think Python is just better in these scenarios? This just ended up being one of those classes that I wish I could have skipped with my AP Stats credit, but it still served its purpose as a Stats refresher course for me.

85-221 Principles of Child Development

If you’re willing to work hard and memorize psychology terminology in exchange for being rewarded with endless pictures and videos of cute kids (and maybe learn about how to be a better future parent in the process, just sayin), then I highly recommend taking Principles of Child Development. I’ll be the first to admit that the pace and structure of the course isn’t the most accommodating. During every lecture, my friends and I lived in constant threat of a pop quiz that tested whether or not we were doing class readings in advance. Still, I really enjoyed the material, and unlike social psychology, a lot of the content I was learning felt genuinely new and profound, rather than feeling like it simply confirmed my pre-existing beliefs and observations of others. There were many occasions during the class where I was also compelled to pause and ponder about how this new insight would affect any of my future parenting decisions, despite this being a very distant consideration. Overall, this class provides a very nostalgic reminder of how far we’ve come and developed from infancy to adulthood and it is an incredibly wholesome time, and maybe will give you an existential crisis too if you’re like me :’)

And with that, I will leave you with my favorite video from the course of children making scale errors. Trust me, it’s adorable.

Unrelated to classes at all, but I went snowboarding this semester at the Seven Springs, which is about an hour drive from Pittsburgh, with CMU’s Pittsburgh Connections deal and honestly it was the highlight of my semester even though I spent a full two weeks before it agonizing over whether or not losing an entire Saturday to snowboarding instead of studying would mess me up for the entire semester. (Turns out it didn’t.) We went in mid February and it was the first time I had gone snowboarding in 6 years and I missed it soooo much.

p.s. I realize I haven’t really addressed the elephant in the room (i.e. how the semester got cut short because of covid), but I don’t think this had a particularly significant effect on the courses I was personally in for me to say much about it, at least in this post, but I might write an online school / online college blog post in the future so we’ll see. 🙂