Computer Language Engineering OpenCourseWare: A Free Undergraduate Computer Programming Course by MIT

Published Jan 31, 2009

RSS Feed

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:

  • Full Sail University

    Full Sail University responds quickly to information requests through this site.

    Suggested programs:
    • Bachelor of Science - Software Development
    • BS - Mobile Development (Campus)
    • Bachelor of Science - Game Development
    • BS - Cloud Technologies (Campus)
    • Bachelor of Science - Mobile Development
    More information about Full Sail University
  • Purdue University Global

    Purdue University Global responds quickly to information requests through this site.

    Suggested programs:
    • AAS in Information Technology - Multiplatform Software Development
    • BS in Information Technology/Multiplatform Software Development
    • BS in Cloud Computing and Solutions
    • BS in IT - IT Management
    • Bachelor of Science in Information Technology
    More information about Purdue University Global
  • Ashford University

    Ashford University responds quickly to information requests through this site.

    Suggested programs:
    • BS Computer Software Technology - Web Content
    • BS in Information Technology
    • BS Computer Software Technology
    More information about Ashford University
  • Herzing University

    Herzing University responds quickly to information requests through this site.

    Suggested programs:
    • Bachelor of Science - Software Development With No Declared Minor or Concentration
    • Bachelor of Science - Software Development: Computer Programming Concentration
    • Associate of Science - Software Development
    • Associate of Science - Technology Studies
    More information about Herzing University
  • Colorado Christian University

    Colorado Christian University responds quickly to information requests through this site.

    Suggested programs:
    • Computer Information Technology, B.S. - Emphasis in Database Management
    • Computer Information Technology, B.S. - Emphasis in Networking
    • Information Systems Mgmt., B.S.
    • Computer Information Technology, A.S.
  • Saint Leo University

    Saint Leo University responds quickly to information requests through this site.

    Suggested programs:
    • BS: Computer Science
    • BS: Computer Science - Information Assurance
    • BS: Computer Information Systems
    • AA: Information Technology
    • BS: Cybersecurity