Computer Language Engineering OpenCourseWare: A Free Undergraduate Computer Programming Course by MIT
Learn how to design and implement a compiler to translate high-level source code into executable programs through 'Computer Language Engineering,' a free OpenCourseWare offered through the Massachusetts Institute of Technology (MIT). This online undergraduate program from the Electrical Engineering and Computer Science department was designed for students in the institute's computer systems and architecture concentration.
Computer Language Engineering: Course Specifics
Degree Level | Free | Audio | Video | Downloads |
---|---|---|---|---|
Undergraduate | Yes | Yes | Yes | Yes |
Lectures/Notes | Study Materials | Tests/Quizzes |
---|---|---|
Yes | Yes | No |
Computer Language Engineering: Course Description
Students utilizing this free OpenCourseWare offered by MIT will learn to build a compiler from scratch. This includes constructing the scanner, parser, semantic checker, code generator and data-flow and instruction optimizers. The resulting software will generate MIPS executable code from a Java script. Throughout the compiler-building process, students will study the basic concepts, uses and structures of compilers while learning techniques for program optimization. They also will be introduced to the various tools used to build software. To best understand the course material, students should have a background in software engineering and be proficient in Java programming language. MIT Professors Saman Amarasinghe and Martin Rinard lead this undergraduate class, which is a program of the MIT Department of Electrical Engineering and Computer Science. Special software is required, and a simplified Chinese translation of the course is available.
A list of readings; notes, videos and audio recordings from lectures; practice quizzes; project specifications; and other related resources are available for free online. If you're interested in taking this course, visit the Computer Language Engineering course page.
Featured School Choices:
-
Purdue Global
Purdue Global responds quickly to information requests through this site.
Suggested programs:
- BS in Analytics - Software Development Using C#
- BS in Analytics - Software Development Using Java
- BS in Analytics - Software Development Using Python
- BS in Analytics - Software Development Using Web Languages
- BS in Cybersecurity - Software Development Using C#
More information about Purdue Global
-
Grand Canyon University
Grand Canyon University responds quickly to information requests through this site.
Suggested programs:
- B.S. in Software Development
- B.S. in Information Technology
- B.A. in Digital Design with an Emphasis in Web Design
- B.S. in Applied Technology
- B.S. in Applied Cybersecurity Management
More information about Grand Canyon University
-
Full Sail University
Full Sail University responds quickly to information requests through this site.
Suggested programs:
- Bachelor of Science - Software Development
- Bachelor of Science - Game Development
- Cybersecurity Bachelors - Campus
- Game Business and Esports Bachelors - Campus
- Interactive Technology Bachelors with Game Design Concentration - Campus
More information about Full Sail University
-
University of Maryland Global Campus
University of Maryland Global Campus responds quickly to information requests through this site.
-
UMass Global
UMass Global responds quickly to information requests through this site.
Suggested programs:
- BS in Information Technology
- BS in Information Technology (Project Management)
-
DePaul University
DePaul University responds quickly to information requests through this site.
More information about DePaul University