Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
#150 overall

The Hardware/Software Interface

Coursera

4 recommenders · 3 threads · recommended in 1 year, 2015 · score 2.9

Go to course ↗

An advanced Coursera course from the University of Washington on how software interacts with hardware, covering C, memory, assembly, and the machine-level view of programs. It is based on the CS:APP textbook by Bryant and O'Hallaron.

Commenters call it their favorite online course and praise its assignments, and one notes it is a great companion to the CS:APP book.

CS Fundamentals & Systemsadvancedfreevideo lectures#computer systems#c#assembly#memory#cs:app#borriello

Recommendations by year

20062026

What commenters said (4)

  1. Strongly recommendsuulbiy2015in “Ask HN: What's your favorite online course?”

    My Coursera profile lists 67 courses, I have completed ~15 of them and with a passing grade ~8 of them. My most favorite one, which for me was the hardest as well, was The Hardware/Software Interface by Gaetano Borriello and Luis Ceze[1]. I also liked Computer Networks[2] even though it's an introductory course, Functional Programming Principles in Scala[3] which is surprisingly easy unlike the follow up course[4], High Performance Scientific Computing[5], Software Security[6] and Cryptography[7] although I prefer Boneh's class. For non-IT related courses I liked Think Again: How to Reason and Argue[8], Crafting an Effective Writer: Tools of the Trade (Fundamental English Writing)[9], Child Nutrition and Cooking[10] and Work Smarter, Not Harder: Time Management for Personal & Professional Productivity[11].

    I often take time to think why I have so many started but not finished courses. Most of them are abandoned on the first week and my assumption is that when I enroll my expectations for the course content and the workload needed are wrong.

    Occasionally, I abandon courses because they demand too much time to get something working on linux or because of luck of time. The thing that I noticed about me is that when I get a little behind the schedule then it's almost certainly that I will abandon the course. Additionally, when I try to commit on two courses at the same time then it's certain that I will abandon at least one (usually both).

    [1]: https://www.coursera.org/course/hwswinterface

    [2]: https://www.coursera.org/course/comnetworks

    [3]: https://www.coursera.org/course/progfun

    [4]: https://www.coursera.org/course/reactive

    [5]: https://www.coursera.org/course/scicomp

    [6]: https://www.coursera.org/course/softwaresec

    [7]: https://www.coursera.org/course/cryptography

    [8]: https://www.coursera.org/course/thinkagain

    [9]: https://www.coursera.org/course/basicwriting

    [10]: https://www.coursera.org/learn/childnutrition/home/welcome

    [11]: https://www.coursera.org/learn/work-smarter-not-harder/home/...

  2. Strongly recommendszzmxleo2015in “Ask HN: What's your favorite online course?”

    The Hardware/Software Interface - https://class.coursera.org/hwswinterface-002

    This course is amazing, especially for the assignments.

  3. Recommendsjedmeyers2015in “Defusing a binary bomb with gdb – Part 1”

    If I am not mistaken, the book is called Computer Systems: A Programmer's Perspective (CS:APP) by Randal E. Bryant and David R. O'Hallaron. It's very nicely written, and 3rd edition just came out this year. Coursera also has an archive of a great course based on this book from University of Washington - 'The Hardware/Software Interface'.

  4. Recommendsdmix2015in “Learning C with gdb”

    If you like this, coursera has a great course called the "Hardware Software Interface".

    http://coursera.org/course/hwswinterface

    The course takes a similar approach of starting with analyzing how C interacts with memory.

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