Chevron Left
Back to Programming Languages, Part A

Learner Reviews & Feedback for Programming Languages, Part A by University of Washington

1,132 ratings
318 reviews

About the Course

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. This course is neither particularly theoretical nor just about programming specifics -- it will give you a framework for understanding how to use language constructs effectively and how to design correct and elegant programs. By using different languages, you will learn to think more deeply than in terms of the particular syntax of one language. The emphasis on functional programming is essential for learning how to write robust, reusable, composable, and elegant programs. Indeed, many of the most important ideas in modern languages have their roots in functional programming. Get ready to learn a fresh and beautiful way to look at software and how to have fun building it. The course assumes some prior experience with programming, as described in more detail in the first module. The course is divided into three Coursera courses: Part A, Part B, and Part C. As explained in more detail in the first module of Part A, the overall course is a substantial amount of challenging material, so the three-part format provides two intermediate milestones and opportunities for a pause before continuing. The three parts are designed to be completed in order and set up to motivate you to continue through to the end of Part C. The three parts are not quite equal in length: Part A is almost as substantial as Part B and Part C combined. Week 1 of Part A has a more detailed list of topics for all three parts of the course, but it is expected that most course participants will not (yet!) know what all these topics mean....

Top reviews


Dec 03, 2016

I'm just a beginner for CS or SE classes, and find this course really concise and challenging. It opens a door for me to get deeper into programming language. No wonder it got so high average score.


Mar 22, 2017

Great course!\n\nI think this course has just the right balance of theoretical background, formal definitions, and actual examples to make "just right".\n\nThanks Dan, and everybody else involved!

Filter by:

251 - 275 of 313 Reviews for Programming Languages, Part A

By Raquel K

Sep 17, 2019

Wonderful course! Really expanded the way I think about programming and I'm looking forward to parts B and C.

By 蔡嘉文

Sep 20, 2019

good introduction to functional programming . sml is a fun language with type checking system and beautiful syntax.

By Matias A

Nov 18, 2019

Eye opening! You will learn a lot about the theoretical aspects of programming languages, good programming style, and especially how to write simple and elegant code to solve seemingly complex problems.

By Gabriel D

Nov 17, 2019

I've enjoyed it a lot. Dan explanations and examples are very clear and intuitive.

By ivan v

Oct 20, 2017

Extremely good, extremely useful.

By Iris H

Sep 29, 2019

Excellent course. Very interesting and well-presented material with a lot of thought put into building up the conceptual framework for functional programming and language concepts. I look forward to Part B!

By Zhixia L

Sep 28, 2019

Perfect course. The professor is very enthusiastic and welcoming. The material is well-organized. The homework is just at that point, not too easy, not too difficult, but still remaining challenging.

By Iván M P

Sep 28, 2019

This course is a must for every programmer.

By Guo F

Sep 30, 2019

Thanks a lot, Dan! Prior to this course, I've been using Python for some casual projects for a few years, but some concepts like first-class functions and lambda expressions, etc, always seem daunting to me and I never got the hang of that. With the help of this course, my understanding of a lot of concepts in Python really improved a lot. In addition, I find learning Javascript becomes much easier after understanding SML. To sum up, I really learned a lot from this lesson, I like your teaching style (especially Live Coding :)) and I surely would sign up for the rest of the course.

By Damien E B

Oct 21, 2019

Although I found some of the HW questions confusing, this was probably the best course I have taken on coursera so far. It has already changed the way I approach writing code in imperative languages, i.e., looking for elegant, recursive solutions, and it has piqued my interest in learning functional languages.

By J.-F. R

Nov 12, 2019

Really excellent course which teaches the underlying concepts of functional PL. Prog. Grossman is passionate as well as expert in the topic, and the course is very well organized and inspiring. I recommend it highly, especially for experienced OOP programmers who want to know what the "big deal is about" FP. Also, the ML skills I acquired during the course will be transferable, as well as useful to read research papers and books using it, e.g. Okinawa's Functional Data Structures.

By Lu W

May 20, 2018

Clear, structured, well-prepared.

By Troy

Jun 14, 2017

great course!

By rocklct

Oct 06, 2016

very good

By Thomas C

Jun 10, 2018

A wonderful course for learning about functional programming.

By Igor P S

Oct 07, 2019

This course is fun. I recommend it. I had a great time learning about many topics I was somewhat familiar but never had the chance to study them deeply. I was introduced to a new programming language, which l learned to respect and enjoy. After finishing the course I feel confident about what functional programming is and also about many other aspects programming languages have. I definitely will take part B and C of the course. Thanks a lot for providing this course!

I would like to politely and respectfully suggest as an improvement for the next version of this course the usage of examples more connected to the real world instead of those purely didactical. It is not a big deal, the examples used in the course work fine to grasp the announced idea, but the knowledge would consolidate more firmly this other way.

By Giuseppe S

Nov 01, 2019

It is a must

I followed other CS coursers but this stands for clarity on explanations of concepts that are an important part of a programming language that is based on the functional paradigm.

You will use recursion since the begin and finally understand it, assignments are engaging but not too difficult and are strictly related to lectures subjects

By Enrico F

Oct 14, 2019

Great course, better than many CS courses I had in university

By Anran

Nov 30, 2019

one section into it and loving it! Rewarding and challenges thinking!

By dongpeng

Sep 04, 2016

very nice, I learned a lot, THANK YOU!

By Jin X

Sep 20, 2018

Dan is great

By Rafael L

Jun 15, 2017

Maybe the best course I've ever taken in my whole life. If you want to learn more about functional programming this is the course you're looking for. The videos and exercises are very explanatory and will give you a deep understanding about all the topics.

By Vinicius S

Sep 02, 2019

A challenging rewarding course, a must-have for aspiring programmers. I learned a lot.

By Ahmad N R

Jul 23, 2017

Even though I have been programming for a couple of years, this is the course that happens to be the most helpful for me when it comes to thinking about programming languages. The choice of ML as the primary language has helped me a lot at getting up to speed with Haskell. I look forward to taking Part B. Excellent content... and definitely recommended!

By l1nxy

Apr 21, 2019

it's very great course