Lesson 1:
Welcome & Overview
Gist
- Welcome to CS 6120! I’m really excited for the semester.
- What is a compiler, and why should we care?
- A simplistic answer is all about making programs go fast. And optimization is important, but compare Moore’s law to Proebsting’s law.
- This class is about language implementation more broadly. What else goes into a good language implementation other than optimizations? (Not parsing.) Post your ideas in the discussion topic.
- New languages + new hardware = lots of interesting problems.
- Course overview and the syllabus.
- 6120 is kind of an experimental course anyway, and this semester it’s going to be even weirder.
- We’re trying a mostly-flipped model where the synchronous portion is primarily about quietly hacking and asking questions, and the primary content delivery mechanism consists of lessons like the one you’re looking at now.
- Communication will be on Zulip. Sign up and stay on top of it!
- Lessons, tasks, and projects.
- Hacking sessions.
- This website and the blog, including the GitHub repository where you’ll send PRs. Work for 6120 is “real,” open source, and for the world.
- “Michelin star” grading.
- Policies, academic integrity, respect, accessibility.
- Debugging the course structure.
- Ask questions about the course setup in this lesson’s discussion topic!
- Your first task is below: introduce yourself in the introductions topic right now.
- When you’ve done that, submit the L1 marker assignment on CMS.
Tasks
- Read the syllabus! Seriously, please actually read it.
- Sign up for Zulip and introduce yourself in the introductions topic.
- Pick a paper from the schedule whose discussion you want to lead.
Claim it by opening a pull request that modifies
content.toml
to fill in your name on one of the leader = "TK"
lines.
(Feel free to ask questions about the papers on Zulip to help you decide!)
- Submit any text file you like to the L1 CMS assignment to indicate that you’ve done the introduction and claimed a paper.