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, MATH 212
Offered Spring
Programs -

Course Outcomes

1. Learn about interpreters as an architectural concept.
2. Learn how to write programs in a functional language: Racket.
3. Learn how to use BNF to describe data structures and how BNF drives the structure of programs.
4. Learn how programs can be described using abstract syntax and how that abstract syntax is manipulated.
5. Learn how to read and write interpreters.
6. Learn how programming language features are implemented.
7. Learn the vocabulary of programming language design, syntax, and semantics.
8. Develop an understanding of how programming languages differ.
9. Learn how to create language enhancements as a transformation of a simple syntax into a standard language.
10. Add the concept of little languages to your programming tool belt.