Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
6.035 Computer Language Engineering
Image: ocw.mit.edu
#345 overall

6.035 Computer Language Engineering

MIT OpenCourseWare

2 recommenders · 2 threads · recommended in 2 years, 2011–2016 · score 1.5

Go to course ↗

MIT OpenCourseWare course on compiler construction covering the design and implementation of language processors, from lexing and parsing through semantic analysis, intermediate representations, and code generation. Materials include lecture notes, with lecture videos available on YouTube per one commenter.

Commenters point to it as a companion to the Dragon Book for learning compilers, with useful notes even though the official OCW page lacks videos.

CS Fundamentals & Systemsintermediatefreemixed#compilers#parsing#code generation#mit ocw#program analysis

Recommendations by year

20062026

What commenters said (2)

  1. Recommendsdemosthenes1112016in “Ask HN: Recommend an introductory course on compilers”

    MIT has a course called 6.035 which might be of use. Unfortunately the ocw page doesn't have lecture videos, but there seem to be some on YouTube if you search for it and the notes on ocw could help. Good luck!

    https://ocw.mit.edu/courses/electrical-engineering-and-compu...

    Edit: here's some videos https://ocw.mit.edu/courses/electrical-engineering-and-compu...

    Also maybe check out the recommended text: Modern Compiler Implementation in Java (Tiger Book)

    And a few more resources here: http://cons.mit.edu/sp14/references.html

  2. Recommendsnikcub2011in “Must Read CS Books For Self Self-Taught Programmers”

    I am also self-taught, although I dropped out of University two years into a CompSci/Engineering double major, so I will recommend some resources to you that helped me immensely. Each of these books has an associated MIT course with lecture video, notes, etc. available online.

    First is Structure and Interpretation of Computer Programs[1], which you can read online, and the associated course at MIT, which is 6.001[2]

    Second is the famous 'Dragon Book', Compilers: Principals, Techniques and Tools[3] and the associated course which is 6.035[4]

    Extras would be the Python book 'How to think like a Computer Scientist'[5]. MIT course 6.00[6] uses the book as a reference, and the courseware is again available online.

    Other than that - the usual suspects on learning C (K&R), UNIX (TAOUP[7]), the bash shell along with grep, sed, awk, more algorithms(CLRS[8]), functional programming and machine learning. Take your time, it takes years to build the relevant experience and knowledge and you are never done.

    I love the MIT courses. Work and learn at your own rate. I feel that it is important to implement all the code yourself even if it looks easy in a lecture - there are little things you pick up as you write algorithms out.

    Even though I had worked through SICP I still watched all the lectures again and implemented all the examples with benchmarks and unit tests. I usually set aside one day on the weekend to work on study, and usually an extra evening or two mid-week to read papers and books. Once you get into the routine it is great.

    It might be the best approach to set yourself a timetable and weekly schedule, just like in UNI (ie. every Saturday plus Tuesday and Thursday nights) and work through the MIT courseware and associated books in order (6.00, 6.001, 6.035). The more advanced MIT courseware is an excellent bonus.

    [1] http://xrl.us/sicp

    [2] http://xrl.us/6001

    [3] http://xrl.us/dragonbook

    [4] http://xrl.us/6035

    [5] http://xrl.us/thinkcs

    [6] http://xrl.us/6000

    [7] http://xrl.us/artunix

    [8] http://xrl.us/clrs

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help