aher.dev

Unofficial and not affiliated with Duke. A snapshot of classes that were open on 22 Oct 2026. Seats change daily, so confirm in DukeHub before you plan around anything.

Courses / Undergraduate / COMPSCI

COMPSCI 352

Programming Language Concepts

Danfeng Zhang

Description from DukeHub

This course equips students with the knowledge to not only use programming languages proficiently but also to understand why they work the way they do and how good language designs help programmers to write reliable code. This course provides a rigorous introduction to the fundamental concepts and design principles underlying modern programming languages and programming paradigms, including imperative, functional and object-oriented. By the end of the course, students will be able to critically evaluate language design choices, understand the trade-offs involved in language implementation, and apply this knowledge to write clearer, more reliable programs. Prerequisite: Computer Science 201 and Computer Science 230, 231 or 232, or equivalent.

Skills

  • programmingdescription: "programming" and 5 more
  • writingdescription: "write" and 1 more
  • designdescription: "design" and 1 more

AI-resilient: 0 of 5

  • No: Physical, lab or field work
  • No: Live work with people
  • No: Judgment someone is accountable for
  • No: A craft you practice with your hands or body
  • No: Small, in-person format

The checks lean on Microsoft Research, Working with AI (2025), which found generative AI applies least to physical work and hands-on work with people. A signal, not a promise. How the score works

More in COMPSCI

All COMPSCI courses · All of Undergraduate