In this class, you’ll learn Python, with a few glimpses at some other languages just for the sake of comparison.
We do this because Python has two features that make it ideal as the first (or only) language that you learn. First, it’s widespread as an instructional language in undergrad CS courses because it’s kind of a happy medium of all the different programming languages out there. It’s amenable to a wide variety of styles of programming–what you’ll learn to call imperative, object oriented, or functional paradigms. Second, it’s the lingua franca of a particular sort of research computing particularly around artificial intelligence and the humanities themselves.
But what you learn in python transfers easily elsewhere. Don’t be confused by the name–computer languages aren’t really languages at all, and one is not nearly as difference from another as Spanish is from French.
For the record, you should know about the following other languages:
tidyversetools, it offers a clearer path to describing and modeling data directly than Python; but it is often more opaque when you want to do something like, say, shuffle the letters in a string.
C++; these are older languages that allow code to get closer to the performance limits of your machine because they require you to be more explicit about what you want than does Python. (Specifically, they make you )