/CompilerDesign

An open educational resource for Compiler Design

Primary LanguageShell

Compiler Design

CompilerDesign will be open educational resources for understanding the design of compilers.

What are open educational resources?

Open educational resources are material, such as textbooks, videos, tests, quizzes and problem sets licensed freely (e.g., under a Creative Commons license).

Examples:

How can I contribute to this?

Read the contribution instructions and guidelines.

What is the license?

This work is licensed under a Creative Commons Attribution 3.0 Unported License.

Why does this exist?

We are developing CompilerDesign open educational resources for two reasons:

Learn by teaching

Tell me and I'll forget; show me and I may remember; involve me and I'll understand. --- Chinese proverb

Authoring open educational resources is how we will learn about compiler design. We learn by doing (i.e., discussion, practice and teaching others). While passive teaching methods (i.e., lectures, reading, demonstrations) convey information, to understand is to implement (put the material into practice).

Open Textbook Challenge

Open educational resources matter.

The Saylor Foundation is offering a $20,000 bounty for a compiler textbook that meets their criteria and covers these topics (see CourseMappingFormCS304.xls). That foundation has developed a free compiler course, but a Creative Commons licensed textbook is not yet available.

What problems does this solve?

CC-BY compiler design textbooks do not yet exist. While existing compiler design textbooks are excellent resources, their licensing hinders teaching and learning. Posting textbook problem sets to the web is grounds for DMCA takedown notices, and even lawsuits. By making educational resources open (or free as in freedom), we can do better.

What will this include?

In time this project will encompass several components:

  • Textbook
  • Slides
  • Cheat sheets
  • Video lectures
  • Assessments