CMSC838N

Advanced Topics in Programming Languages; Language-based Security

Must be in the Computer Science Master's or Doctoral programs, or permission of instructor. Software is often designed with vague and unprincipled notions of correctness, opening the door to security and privacy vulnerabilities. To teach students how to create software and systems with guarantees of correct and secure execution, this course explores the formal foundations of computer security through the lens of language-based security. Topics include types for security (e.g., information flow type systems, typed assembly, wasm),formal semantics, security policies and specification, safety- and hyper-properties, secure compilation, and lightweight verification techniques, such as model checking. Students will also do in-depth readings on cutting-edge research in this space.

Sister Courses: CMSC838B, CMSC838C, CMSC838D, CMSC838E, CMSC838F, CMSC838G, CMSC838J, CMSC838K, CMSC838L, CMSC838M, CMSC838X

Past Semesters

1 review
Average rating: 5.00

During the Spring 2020 and Spring 2021 semesters, students could choose to take some of their courses pass-fail mid-semester which skews grade data aggregated across multiple semesters.

Average GPA of 3.81 between 18 students*

CMSC838N Grade Distribution+-051015202530354045505560657075% of studentsABCDFWother
A-: 11.11%
A: 38.89%
A+: 22.22%
B: 5.56%
B+: 11.11%
other: 11.11%
* "W"s are considered to be 0.0 quality points. "Other" grades are not factored into GPA calculation. Grade data not guaranteed to be correct.