Compilers
About this Course
The course lectures will be presented in short videos. To help you master the material, there will be in-lecture questions to answer, quizzes, and two exams: a midterm and a final. There will also be homework in the form of exercises that ask you to show a sequence of logical steps needed to derive a specific result, such as the sequence of steps a type checker would perform to type check a piece of code, or the sequence of steps a parser would perform to parse an input string. This checking technology is the result of ongoing research at Stanford into developing innovative tools for education, and we're excited to be the first course ever to make it available to students. An optional course project is to write a complete compiler for COOL, the Classroom Object Oriented Language. COOL has the essential features of a realistic programming language, but is small and simple enough that it can be implemented in a few thousand lines of code. Students who choose to do the project can implement it in either C++ or Java. I hope you enjoy the course!Created by: Stanford University
Level: Introductory

Related Online Courses
In this course, you’ll get prepared to begin your career architecting solutions on AWS. Through a series of use case scenarios and practical learning, you’ll learn to identify services and fea... more
The world around us becomes immersed in technology, which is ultimately driven by programming and governed by its laws. We believe that high-level knowledge of means for programming ‒ past, p... more
Automation requires you to have both, a deep understanding of business logic and the ability to translate it into an automated program using the syntax and semantics of a programming language.... more
This Data Structures & Algorithms course extends beyond linear data structures in CS1332xI to the nonlinear and hierarchical data structures here in CS1332xII. A short Java review is presented... more
Data is driving our world today. However, we hear about data breaches and identity thefts all the time. Trust on the Internet is broken, and it needs to be fixed. As such, it is imperative that we... more