Chevron Left
Programming Languages, Part A に戻る

ワシントン大学(University of Washington) による Programming Languages, Part A の受講者のレビューおよびフィードバック



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....




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.



Very interesting course! Superb teaching and homework assignments. If you are interested in functional programming or in programming languages in general, this should be one of the must take MOOCs


Programming Languages, Part A: 101 - 125 / 471 レビュー

by Sam R


Fantastic course - it's real computer science. Request to Professor Grosman: Would you please combine the 3 course sections in to one packaged certificate? I like that the course is broken up but the 3 certificate URL's is logistically difficult

by Nilanjan M


Great course to push yourself from Advanced-Beginner programmer to intermediate one. I have taken many courses in this domain. This course is one of the top-notch courses. The only quality course, in my experience, that matches the level of CS50.

by Greg G


A challenging but awesome course that teaches a lot about functional programming. Really needs 6-8 hours per week though. Has great PDF lecture notes, homework structure and you can easily use the learned concepts in other programming languages.

by Anurag S


An interesting introduction to functional programming. This course can be a little more challenging compared to other MOOC's if you do not have prior programming experience. You will learn a lot about the concepts behind programming constructs.

by Louis N


R​eally really good course. The pacing and the rate at which the difficulty goes up felt really really good. I don't know if I'll ever use functional programming but I'm happy to have learned a little about it either way. Will do part B and C.

by Julian H


The best introduction to functional programming I've seen. The course lectures make for a smooth learning experience and the exercises in the assignments range from simple to moderately challenging and are a good complement for the lectures.

by Axel B


T​his course (including parts B and C) was truly a journey, and a delightful one!

T​hank you so much for putting this together, and transmitting this wealth of knowledge with so much enthusiasm. This was truly engating engaging as result.



T​hat's is the most programmatic and foundational course I've ever seen, and I've seen many courses. It's teaches concepts that'll help you wherever you in the programming field. Thanks to Dan Grossman for creating this amazing course!

by Alfredo V A C


It was difficult for the idiom, i don´t speak english. Technical terms por example Binding is no more clear. this is my first programming course, the instructor i think is the best teacher. thanks so much.

Thankyou for economic help.

by Shiyang L


This course is literally amazing! I haven't finished so far, but I can't wait to give it a 5-star review. The course is well organized and it really opens my mind to think of programming language in a different way. Thanks Prof. Dan!

by Alex G


had signed up for this course when i came out ~2013 and failed to get going on it until finally really prioritizing it these past two months --- such a big challenge and glad I accomplished it -- thanks Dan Grossman and Coursera !!!

by David B


Great review of core concepts of computer science and also a handy approach of how to learn new programming languages. I recommend it to anyone which is starting to handle the multi-environment of programming languages of nowadays.

by Du L


Definitely one of the best programming courses. Challenging yet beginner friendly. Dan explains every concept with passion and care. I really appreciate Dan putting this course online. This course makes the world a better place!

by Muhammad S


Probably the best course I have ever taken about programming languages. I am hoping that wrapping my head around fundamental languages concepts will prove to be a long term investment in my career ahead. Thanks Dan and Coursera.

by Krishna A


This is a must for every person wishing to become better at programming. It gives all the insights behind the design choices of Programming Languages design and change your perspective of looking at code and making sense of it!

by Nathaniel D


just awesome. maximizes discovery of concepts. each video is an aha moment. highly recommend to anyone who'd like a deeper understanding of programming. if it does not come through that i'm raving about this course, i am raving.

by Gergö L


Clear explanations, a good, fresh, functional view on programming for somebody with a heavy C background like me :) The homework also have a good level of challenge, and help solidify the concepts learned about in the videos.

by Nana K A


Very Excellent course. We uncovered some intricacies in functional programming, and how to think about a programming language from fundamental principles. This course definitely enhanced my skills in procedural programming.

by Xusheng Z


Great course on fundamentals of ML.

It seems equivalent to a standard undergrad university course, which is as difficult and with proper homework assignments, whereas some courses here are much easier or missing projects.

by Bruce W


This course focus on programming thinking than just symple syntas of language. You can migrate it to the learning of all kinds of programming languge. It teaches you how to think and than what to do. Really useful course.

by Zack W


This is my first course on Coursera and it's really rewarding! I've been programming for several years, but this course still gives me quite a lot surprises. I think this course is suitable for programmer at all levels.

by Frank G


Fantastic course. Prof Grossman is an excellent teacher and he has done a great job assembling the subject matter. The course will help you become a more thoughtful programmer, no matter where you are in your career.

by Duc H


I learn a lot about functional programming through an esoteric programming language ML. It did knock on my brain on how i think about coding as coming from OOP point of view. I hope to learn more in Part B and C

by Paramjot S


The best course I have taken online, in fact not just online, I have not come across many such great teachers in real life as well. Dan brings forth the fundamentals of languages in a very clear and concise way!

by Matt K


Very approachable with minimal CS background but incredibly insightful with a prior CS education. Sheds light on many forgotten yet important topics and gives any programmer a new lens to view their code though.