Skip to main content

(CS 420) Programming Languages

Virtual machines, language translation, declarations and types, abstraction mechanisms, object-oriented programming.

Credit hours 3.0 lecture
Prerequisites CS 301, CS 320
Offered Spring
Programs Computer Science (BS)

Course Learning Outcomes

Each student who passes this course will be able to do the following:

  • Understand interpreters as a fundamental architectural concept in programming languages.
  • Develop proficiency in writing programs using a functional language, such as Racket.
  • Utilize BNF notation to describe data structures and understand its role in driving program structures.
  • Comprehend abstract syntax representations and their manipulation in programming languages.
  • Gain experience in reading and writing interpreters.
  • Learn the implementation of various programming language features.
  • Master the vocabulary of programming language design, syntax, and semantics.
  • Analyze and compare different programming languages and their features.
  • Design language enhancements by transforming simple syntax into standard language constructs.
  • Incorporate "little languages" as a tool for addressing specific programming tasks.