Mudd Classes: Computer Science Electives

Share story

I’ve written about Core classes I took at Mudd quite a bit (Core at Mudd: The End, Physics Lab, Engineering 79, frosh electives, Chemistry 23, and Computer Science 5), but I haven’t written a ton about the classes I’ve taken after Core. So, welcome to Mudd Classes: Computer Science Electives! All majors at Mudd require you to take some number of upper division elective courses within the department. These classes cover a wide variety of topics and often aren’t offered every semester or even every year – there’s a lot of variety! The computer science department requires majors to take at least three electives, so I thought I’d offer a quick overview of the ones I’ve taken.

A before and after of a project I did in computer vision to add details to an image. Photo Credit: Malia Morgan

CS153: Computer Vision (Junior Spring)

The first elective I took, Computer Vision holds a special place in my heart because it ended up leading me into the research I started last summer and have continued since. In addition to being one of my first introductions to machine learning and neural networks in a practical sense, this class covered all kinds of different techniques for manipulating images and videos. I learned how to use green screens, process large amounts of data, and create object recognition systems. I even learned a little bit about human perception too! In a broader sense, because the class contained a large project, I think this class also taught me technical research skills and project planning management skills.

Paper cutouts of cats spell "Lab for CATS" on a door.
The door to my summer lab (CATS stands for Cognition and Attention in Time and Space). Photo Credit: Malia Morgan

CS181AE: Managing Data at Scale (Senior Fall)

This class really gave me a different perspective on computer science. While it did include learning some coding in SQL and other technical skills, it was predominantly a class in how to see data from a business perspective. That meant really learning the applications of computer science, and how broader goals might impact technical choices. It also meant learning how to communicate in different ways than I was used to, and involved some really cool case studies. 

CS181AJ: Robot Ethics (Senior Spring)

I’m actually in this class right now, so I don’t know too much about it yet! Based on the first few weeks, I know this class is going to be a really interesting interdisciplinary experience that will require a lot of reading. Robot ethics pulls from parts of the humanities and social sciences (like philosophy and law) in addition to computer science. I’m very excited to see what the semester holds!

Overall, I’ve really enjoyed the electives I’ve taken. They’re a great opportunity to explore specific subareas within your major that interest you the most, and you end up having a lot of freedom to pick and choose which you will take. Most departments also count research in a professor’s lab under this requirement as well – which I’ve done all of junior and senior year so I would definitely recommend it!

This blog was written by Malia Morgan '23. Computer Science major. Springfield, MO.