CMSC330 Organization of Programming Languages

What does it say on Testudo?

A study of programming languages, including their syntax, semantics, and implementation. Several different models of languages are discussed, including dynamic, scripting (e.g., Ruby, Python) functional (e.g., OCaml, Haskell, Scheme), and memory safe systems programming (e.g., Rust). Explores language features such as formal syntax, scoping and binding of variables, higher-order programming, typing, and type polymorphism. Introduces finite automata, context free grammar, parsing, lambda calculus, and basics of security attacks and software security.

Why did I take this class?? Should I have taken this class???

Required for computer science. Also pretty fundamental knowledge for CS students. Must-take.

Review

Pretty good class overall. Worked really well with the online format. We learned Ruby, OCaml, and Rust. Projects 3 and 4 were really interesting in particular.
Exams were really easy, I think they wanted everyone to have a chance at acing them. The quizzes were honestly harder, but still easy. I got a few points off due to stupid mistakes though.