(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.