1

CS 164: Programming Languages and Compilers (Spring 2012, UC Berkeley). Instructor: Professor Rastislav Bodik.

FREE
This course includes
Hours of videos

583 years, 3 months

Units & Quizzes

21

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

This course introduces what programmers need to know about programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling.

Course Currilcum

  • Lecture 01 – Why Take CS164? Unlimited
  • Lecture 02 – Unit Conversion Calculator Unlimited
  • Lecture 03 – Growing the Language Unlimited
  • Lecture 04 – Building Control Abstractions with Coroutines Unlimited
  • Lecture 05 – Implementing Coroutines Unlimited
  • Lecture 06 – Logic Programming Unlimited
  • Lecture 07 – Implementing Prolog Interpreter Unlimited
  • Lecture 08 – Parsers Unlimited
  • Lecture 09 – Syntax-Directed Translation Unlimited
  • Lecture 10 – Regular Expressions Unlimited
  • Lecture 11 – How to Implement Small Languages Unlimited
  • Lecture 12 – Small Languages in the Real World; Ideas for the Final Project Unlimited
  • Lecture 13 – Natural Language Interfaces Unlimited
  • Lecture 14 – Data Abstraction Unlimited
  • Lecture 15 – Static Types for OO Languages Unlimited
  • Lecture 16 – Unification Static Types Unlimited
  • Lecture 17 – Flow Analysis Unlimited
  • Lecture 19 – Lifting Events with Arrows Unlimited
  • Lecture 20 – Directing JavaScript with Arrows Unlimited
  • Lecture 21 – Reactive Programming with Rx Unlimited
  • Lecture 24 – Subverting a Type System; Hiding Exploit in Compilers Unlimited