This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Programming Languages, Part A

Programming Languages, Part A

Instructor: Dan Grossman
Top Instructor
Access provided by Lifelong Learning Program
207,005 already enrolled
1,910 reviews
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
See how employees at top companies are mastering in-demand skills

There are 6 modules in this course
Instructor

Offered by
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Learner reviews
- 5 stars
93.19%
- 4 stars
5.44%
- 3 stars
0.15%
- 2 stars
0.31%
- 1 star
0.89%
Showing 3 of 1910
Reviewed on Jan 3, 2017
Instant favourite programming course. Great instructor and material, fun assignments, mind-bendy recursion, cool concepts you didn't know you wanted to know about. Learned a lot.
Reviewed on Nov 16, 2016
Much much better than I ever expected even though I had already seen how good the instructor's other video lessons are -- definitely worth the time to take the course and do the home work.
Reviewed on Nov 22, 2023
This is one of the best courses I've taken - not only in terms of structure and content but also in terms of quizzes, programming assignments and exams (practice and final).
Explore more from Computer Science

University of Washington

University of Washington

University of California, Santa Cruz

École Polytechnique Fédérale de Lausanne
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.

