Chevron Left
Back to Programming Languages, Part A

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

4.9
stars
1,814 ratings

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

JF

Mar 14, 2023

Excellent course and teacher. I love that all of it was 100% accessible for free, and that it was both fun and challenging, yet very doable for most people who do their work and had prior experience.

YZ

Dec 2, 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.

Filter by:

126 - 150 of 533 Reviews for Programming Languages, Part A

By Alfredo V A C

Feb 24, 2021

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

Nov 13, 2016

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

Aug 4, 2020

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

Aug 30, 2016

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 Leandro Q

Apr 21, 2023

A good intermediate level course on programming, mostly focused on functional programming, but whose concepts and ideas can help to understand and reflect others languages. The exercises really require some study and reflection.

By Du L

May 12, 2018

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

Feb 22, 2018

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

Jun 12, 2017

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

Feb 10, 2017

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

Jun 26, 2017

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

Apr 11, 2020

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

Apr 25, 2021

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

Apr 21, 2020

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

Aug 6, 2019

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

Apr 2, 2017

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 Xinyun Z

Jan 21, 2024

I graduated from Carnegie Mellon for many years. One of the courses that I regret not taking at that time is 15-150: Functional Programming. I can finally learn this knowledge once again after taking this course.

By Duc H

Apr 4, 2021

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

Oct 14, 2020

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

Mar 21, 2019

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.

By Jayadev H

May 11, 2018

pedagoically great course!

Dan really gets to the point right away and it's nice to take his classes.

Still i dont see much use of the course except to do challanging programming assigments...

Thank you Professor!

By Joshua G

Feb 25, 2018

This was a great course. I feel like I can better understand the F# and Elm languages now as a result of studying SML. The sections on recursion and pattern matching were particularly interesting and rewarding.

By Iris H

Sep 28, 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 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 Yuchong P

Oct 9, 2016

This course focuses mainly on Standard ML, which provides a great perspective for a PL learner. Something I find most interesting is a comparison between Standard ML and other languages like Java and C.

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.