Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
Programming Languages, Part A
Image: coursera.org
#114 overall

Programming Languages, Part A

Coursera

4 recommenders · 4 threads · recommended in 4 years, 2017–2024 · score 3.8

Search for it ↗

Dan Grossman's first Coursera course on programming languages, taught using SML, covering functional programming concepts such as recursion, types, and how languages are defined. It is the first of a three-part series.

Commenters praise it for opening their thinking about what a programming language is and for providing good recursion practice.

Programming Languagesintermediatefreevideo lectures#functional programming#sml#recursion#grossman#programming languages

Recommendations by year

20062026

What commenters said (4)

  1. Strongly recommendssyndicatedjelly2024in “Ask HN: What are the best resources for learning TypeScript?”

    About a quarter through this one:

    https://effectivetypescript.com/

    Also, for a deeper, theoretical understanding of functional and generic programmers, I highly recommend Programming Languages Part A by Dan Grossman on Coursera. That single class did more to open my mind about what is a “programming language”, than anything in my career.

  2. Recommendsrg1112022in “Andrew Ng updates his Machine Learning course”

    All videos of all courses in Coursera are free. You can watch them fully without providing your credit card info.

    There are two types of courses in Coursera- free and paid.

    In case of the paid courses, you can go to the course and navigate to the "Buy Subscription" page and click on "audit the course". You can watch all the videos for free, but you don't get access to quizzes and programming assignments (you never know what a web search will turn up ;)) ⊕. You do not get a certificate by completing a course or completing all courses of a "Specialization".

    In the case of a free course, you get access to all the videos, quizzes, and assignments. You don't get any kind of certificate. Instead of going to subscription page, you can just click "Enroll" and choose the no certification option.

    There are some great courses in the free tier (videos + assignments, no certs) as well. Dan Boneh's Cryptography and Grossman's Programming Languages A, B, C come to mind. Also Model Thinking by Scott Page.

    There were some great discussions on HN in the past. [0][1][2]

    ⊕ There are courses where duplicates of paid assignments and quizzes are provided under "Practice Assignment" as opposed to "Graded Assignment". Like Martin Odersky's Functional Programming Principles in Scala MOOC.

    [0]: https://news.ycombinator.com/item?id=25245125

    [1]: https://news.ycombinator.com/item?id=16745042

    [2]: https://news.ycombinator.com/item?id=22826722

  3. Recommendsbmitc2021in “Racket v8.3”

    I recommend taking a look at the courses How to Code: Simple Data and How to Code: Complex Data on edX.

    https://www.edx.org/course/how-to-code-simple-data

    https://www.edx.org/course/how-to-code-complex-data

    They use Racket and are based on the book How to Design Programs. I think they're a great supplement to SICP, which is an excellent book you should stick with. The book The Little Schemer is also helpful for solidifying recursion principles. The Programming Languages courses (Parts A, B, and C) on Coursera are excellent two. Part A uses SML, and is another good source for recursion practice, Part B uses Racket, and Part C uses Ruby.

    Lastly, are you going through SICP using Scheme or Racket? If not, I highly recommend doing so (in the case you are using the Python version of the book, which has been modified heavily from the original).

  4. Recommendsemmelaich2017in “Is Haskell the right language for teaching functional programming principles?”

    Yes, I did the Coursera Racket course and it was great.

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