The course provides an understanding of the principles of programming languages, program construction and software design. In the course, we will review principles through an analysis of aspects of JavaScript and TypeScript, Scheme and Prolog.
- Intro to Typescript as a functional programming language
- Interpreter for a sub-language of Scheme using Typescript
- Type checker and type inference systems for Scheme
- Control structures in JavaScript/Scheme
- Logic programming, interpreter for sub-language of prolog using Scheme