OMG UPDATE: Question? Answer.

Updated on Tuesday, March 17


QUESTION: I can't seem to find it anywhere, but what languages are taught in the various CS classes?

I'm taking 116 right now, so, doing Racket and Python, and I know they teach C in 136, but beyond that?


  1. C++ in 246
    I think they do a bit of Assembly in 240/241 (dunno at the top of my head)

  2. Here is the languages you use in the core courses:
    CS 115/135: Racket
    CS 116: Racket/Python
    CS 136: C
    CS 246: C++
    CS 241: Assembly (a bit)

    Beyond that, nobody is really teaching you HOW to program. In CS 350 you use C explicitly, but you're expected to just know how to code by that point. CS 341 allows C++ or Java, but nobody is teaching you anything about coding. Same goes for further courses.

    Really, learning languages is up to you. Some courses cover the basics of some languages (UI covers Javascript, HTML, etc; 442 takes examples from a ton of different languages), but most of the time they expect you to know how to look up documentation to figure out what you need to do.

    If you take a course like CS 475 (Computational Linear Algebra), nobody teaches you how to use MATLAB, but you have to do it. Same with Maple for a lot other computational courses. And if you ever want to use Java (compilers?) learn it yourself. The goal of teaching languages is not to teach languages, it's to teach you how to learn languages.

    1. OP here: Thanks for your help, both 1 and 2!

  3. There's also CS234, which is a non-major course that uses python. I'm taking it in the summer, so I can't speak to its difficulty or usefulness yet, but it looks like one of the better courses that can be taken by non-majors. CS338 teaches some SQL but its focus is on a more theoretical framework for databases...dry course, but it's easy and it's a simple way to get database experience on your resume.