Overview and Practicalities

Overview


Course in brief

The course introduces you to the design and development of programming languages, while teaching you a few programming languages on the side. We start with learning the principles functional programming with STLC++, which is a custom programming language designed for this course. This is followed by learning the Rust programming language, and more advanced programming language design principles.

Prerequisites

To succeed in the course, you should have prior programming experience, know the basics of programming languages, and should be familiar with data structures and algorithms. In addition to programming, you should be comfortable with reading mathematical notation, as some parts of the course include mathematical concepts.

If you are unsure whether you have the required background knowledge, you can always start with the course and see how it goes. If you find that you are missing some background knowledge, you can always go back and study the required topics.