CS 164: Programming Languages and Compilers (Spring 2012, UC Berkeley). Instructor: Professor Rastislav Bodik.
September 26, 2023
English
English [CC]
Description
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 Curriculum
- 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
About the instructor
5
5
Instructor Rating
6
Reviews
4637
Courses
24183
Students
OpenCoursa
Accessible Education for Everyone
OpenCoursa is a free online learning platform dedicated to providing high-quality education to learners worldwide. With courses across a wide range of subjects, we empower individuals to gain new skills and knowledge at no cost. Our mission is to make education accessible to everyone, offering flexible learning opportunities for personal and professional growth.
We are an educational and skills marketplace to accommodate the needs of skills enhancement and free equal education across the globe to the millions. We are bringing courses and trainings every single day for our users. We welcome everyone woth all ages, all background to learn. There is so much available to learn and deliver to the people.
FREE
Hours of videos
583 years, 3 months
Units & Quizzes
Unlimited Lifetime access
Access on mobile app
Certificate of Completion
- For teams of 2 or more users
- 27,000+ fresh & in-demand courses
- Learning Engagement tools
- SSO and LMS Integrations