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¶
Note: Professor Samuels will state on Ed when the precorded videos are ready to be viewed each week for a module.
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.
The lectures are a series of approx 15-20 minute videos. Please come back here weekly as the videos will be updated if a module spans multiple weeks. This module includes the following videos:
Anatomy of a Compiler (Back End) Skip to the section: Why study compilers
Golang Code Structure & Tips
The slides presented in lecture and these videos are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file.
Resources/Readings¶
For this module, your focus should be to learn the basic syntax of the Go language since compiler will be built based off subset of the Go language.
The slides and code presented in this module are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file.
- Go By Example
See M1 slides to know the links to click on.
- Engineering a Compiler readings:
Chapter 1
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 Sessions (In-person Lecture)¶
As a reminder here are the dates and times for the synchronous session for this module:
- Dates/Times
Wednesday January 8th @ 10:30am-12:20pm
- Session Outline
Course logistics
Anatomy of a Compiler
Golang Overview [if time permits]
Assignment¶
Milestone #1, due January 17th at 11:59pm CDT