M1: Introduction to Compilers

This first module provides an introduction to the course and the anatomy of a compiler. During this module you will also get familiar with the language for this course, Golang.

Pre-recorded Lectures and Required Readings

The pre-recorded lectures are available here: M1 Videos. You can also find the videos under the “Panopto” tab on the MPCS 51300 canvas site.

Module 1 has a single video that is approx 20-30 minute long:

  • Golang Code Structure & Tips

Supplementary Resources

For this module, your focus should be to learn the basic syntax of the Go language. Look at the Module 1 slides (last slide) to know what constructs to focus on.

  • M1 Slides

  • Engineering a Compiler readings:
    • Chapter 1

  • Go by Example
    • See M1 slides to know the links to click on.

  • The Go Programming Language (textbook) provides a few chapters on the syntax of the language. This is not required but if you want a more in-depth description about language constructs then you should reference this book.

Synchronous Session (In-person or Remote)

You will find the links to the Zoom sessions on Canvas. As a reminder here are the dates and times for the synchronous session for this module:

  • Dates/Times
    • Section 1: Wednesday September 29th @ 4:00pm-5:20pm

  • Discussion Outline
    • Course Logistics

    • Anatomy of a Compiler

    • Golang Overview [if time permits]

Assignment

  • Homework #1, due Wednesday October 6th at 11:59pm CDT