Chevron Left
Back to Programming Languages, Part A

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

4.9
stars
1,176 ratings
331 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

YZ

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.

VA

Mar 05, 2018

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

Filter by:

51 - 75 of 326 Reviews for Programming Languages, Part A

By Priyank

Mar 26, 2017

Great to know someone is teaching ML in 2017! It was great to learn functional programming principles from the ground up. I struggled a lot with 'Functional Programming in Scala' since teaching functional programming wasn't its primary focus. Look forward to taking Part B of the specialization!

By Pratik A

May 08, 2017

It is, in my opinion, one of the best course to get started with functional programming concepts. Tail recursion, currying and pattern matching are powerful concepts, that are very well taught by Prof Dan. I absolutely recommend this course to everyone who wishes to be a good programmer.

By Frederick M

Jan 04, 2017

Great way to get an intro to functional programming and review recursion. Workload was very manageable while working full time -- and still challenging enough to learn a lot. Looking forward to building off what was taught by learning F# and contributing to some open source projects.

By Michel A S

May 17, 2018

I've worked in industry for several years, and took this course as a refresher. I've not used ML languages much before so some of the concepts are genuinely new, but overall this course really exceeds my expectation - it's a really good (re-)grounding in programming language concepts.

By Cheng Z

May 06, 2017

The course is very well designed, suitable for both beginners and experienced programmers. Knowing basic (core) concepts of PLs is definitely a great asset for any programmer. Based on such knowledge, we may be able to understand many other PLs, such as Python, in a more in-depth way.

By Oluwatimilehin

Jun 04, 2019

It's a really great course. The first week can be a bit tough to get through especially if you're from a programming background but I implore you to wait it out. You'll learn a lot about functional programming and learn how to apply those concepts to make you a better programmer.

By Ondrej P

Jan 25, 2018

One of the best CS courses available, if not the best. It enlightened me more on many functional programming idioms and concepts than any other book / course. However, this course is definitely not for total beginners, prior basic experience with programming is required.

By Krystian S

Sep 07, 2016

One of the best courses in which I've participated. Additionaly along with Tim Roughgarden my favourite professor as far as my familiarity with coursera and other mooc sites is concerned. Love to see his passion to the subject and become "infected" with it :)

By Vijayanand N

Nov 20, 2016

This is a great course for any programmer. It delves more on how things work in programming languages why they are like that, rather than how to do things using programming languages. It does require dedication and the exercises and assignments are not easy.

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 Vassilis K

Sep 16, 2017

With this course I realised that functional programming is not just a hype or a trend. I really became invested in this way of thinking. The course is great, Dan is a great instructor and even more important is that the mentors are doing an excellent job!

By Abhishek V

Jan 29, 2020

Absolutely mind-blowing course. This is a must do specialization for anyone who in interested in Programming in general. Can't thank enough Prof Dan for putting this together. I really really really wish he does a complete specialization on Haskell now.

By Бунта А В

Aug 23, 2017

Excellent course. Best of all I've studied here. An interesting presentation of the material, well-planned homework. Also got a great motivation :) And, I hope I became a better programmer than I was :)

I will be glad to continue my studies in Part B

By Visual J

Jul 28, 2017

I really think it a wonderful course that I've never experienced before, thanks to the instructor, Professor Dan, I've learnt a lot about PL and FP, which seems opening another new window towards another new programming world.Strongly recommended!

By Greg G

Dec 03, 2017

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

Nov 20, 2016

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 Julian H

Oct 10, 2016

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 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 David S B

Aug 31, 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 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 Wu Z

Aug 07, 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.