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.
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.
C++ in 246
ReplyDeleteI think they do a bit of Assembly in 240/241 (dunno at the top of my head)
Here is the languages you use in the core courses:
ReplyDeleteCS 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.
OP here: Thanks for your help, both 1 and 2!
DeleteThere'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.
ReplyDelete