CMSC330
Organization of Programming Languages
Prerequisite: Minimum grade of C- in CMSC250 and CMSC216. Restriction: Must be in a major within the CMNS-Computer Science department; or must be in the Computer Science Minor program; or must be in Engineering: Computer program; and Permission of CMSC - Computer Science department. 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.
Fall 2024
45 reviews
Average rating:
3.76
136 reviews
Average rating:
3.32
Spring 2024
45 reviews
Average rating:
3.76
55 reviews
Average rating:
4.82
136 reviews
Average rating:
3.32
90 reviews
Average rating:
2.86
Fall 2023
136 reviews
Average rating:
3.32
55 reviews
Average rating:
4.82
Summer 2023
136 reviews
Average rating:
3.32
Spring 2023
136 reviews
Average rating:
3.32
Past Semesters
13 reviews
Average rating:
3.54
278 reviews
Average rating:
3.19
18 reviews
Average rating:
4.39
11 reviews
Average rating:
4.09
227 reviews
Average rating:
4.23
45 reviews
Average rating:
3.76
9 reviews
Average rating:
4.56
0 reviews
Average rating:
N/A
0 reviews
Average rating:
N/A
29 reviews
Average rating:
3.83
4 reviews
Average rating:
3.00
2 reviews
Average rating:
4.50
0 reviews
Average rating:
N/A
20 reviews
Average rating:
3.90
45 reviews
Average rating:
3.76
136 reviews
Average rating:
3.32
20 reviews
Average rating:
3.90
136 reviews
Average rating:
3.32
63 reviews
Average rating:
4.62
136 reviews
Average rating:
3.32