Chevron Left
Back to Programming Languages, Part A

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

4.9
stars
1,527 ratings
452 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 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.

VA
Mar 4, 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:

426 - 450 of 450 Reviews for Programming Languages, Part A

By Héctor B A

Sep 1, 2016

Great course overall. It focuses on functional programming concepts like immutability, locally-defined functions, pattern-matching and forces the user to use recursion, taking you out of your for-loop comfort zone. In my humble opinion, maybe the time spent in learning the SML language, which is not the main goal of the course, takes a bit too long, but on the other hand I guess that can't really be helped. Videos are grate and grading procedures are pretty fair. Mind you, the course is fairly time-consuming.

By Lorenzo B

Jun 13, 2020

Four stars because for me at least one of the most interesting parts about the course it the comparisons that happen LATER in part B and C, between oop/fp and especially static/dynamic typing; that is, I treat this course as a test to see if you're interested in the whole thing (I am). Otherwise a solid 5/5. Also I personally found that polyml often gives clearer diagnostics than sml/nj, but your mileage may vary here. AND it's my first course here :=)

By Scott v K

Jan 8, 2017

The constructs of learning functional programming are very useful and well explained. This course is about theory with practice problems which are somewhat challenging using SML as the programming language. The only downside of the course is the use of SML, which is fine for educational purposes, but lacks any real development / debugging frameworks and has no commercial usability beyond learning the concepts in the course.

By tiny-imagenet

Feb 15, 2021

The content of this course is very good and easy to follow. It's not a very difficult course. All homeworks can easily be completed by watching the video content. The video presentations do have some sound issues that may make them annoying to watch. The sound issues are present in all videos and take this course in my opinion from a perfect score to a 4/5.

By Aschwin W

Jul 12, 2020

I wanted to learn more about Functional Programming and prepare for a course on Compiler Construction. This course showed how statements and expressions differ. Also using a pure functional programming language is really good to prepare for my daily work and developing a compiler.

By Messias T

Jan 11, 2021

Gostei bastante do curso, entretanto, algumas partes dos homeworks ficaram mal explicadas, além da falta de mais casos de testes para corroborar o que se pedia nas questões.

By Rushil G

Sep 6, 2020

This class is a pain in the arse and really hard if you don't have the required background. The language is NOT as easy as Java or C or Python.

By Jie G

Jan 18, 2020

Very useful, but I cannot submit my assignment and ML is also not available for my computer

By Atsushi

Jan 6, 2019

the course material was good and fun! but the discussion forum was not so active.

By Arto P

Jan 10, 2021

Clear content and good exercises, which need an investment of time and thinking.

By Chua B Q

May 18, 2019

Solid introduction to functional programming and programming languages concepts.

By Philip A

Nov 29, 2016

The peer review was too time consuming. Otherwise great course

By Steve C

Sep 3, 2020

A challenging course with some deep insight into programming.

By Mark R

Jun 17, 2019

Good intro. to Functional Programming

By CLARISA B H C

Mar 5, 2019

Muy buena información; nivel alto.

By 畅 刘

Jul 29, 2018

Quite interesting~

By Ojesanmi F

Aug 28, 2020

so cool

By LvGJ

Jul 27, 2020

good

By lhdgriver

Sep 29, 2019

Easy

By Roman H

May 24, 2021

Dangerous combination of dry presentation of abstract concepts, and demonstration rather than explanation. The class left me with lots of open questions, most beginning with "why", many followed by "would you", and may not be well suited for an online environment without teacher interaction.

I get the impression you have to really like math, rather than computers and programming, to find this class interesting.

The horrid sound quality from the terrible microphone the teacher used doesn't help make the lessons more enjoyable. Or maybe that's coursera's compression, I'm not sure as I haven't taken many classes here yet.

PS: Something about this comment form is buggy, making proper formatting of my review impossible.

By Andrew M

Nov 10, 2019

This series of courses Part A-C looks amazing BUT using SML/NJ is critical to Part A. On a MAC running Catalina SML will not run, maybe because it utilises 32bit routines which cannot run on Catalina. I found an online version of standard ML but it isn't suited to doing the homeworks.

By Stepan K

Apr 9, 2017

Not very applicable for the real world. Recursion over lists can be a nice mind exercise but please don't use it in real world, there are way too many stack overflows, unneeded context switches and cryptic code already, don't add to it.

By 张浥东

Nov 18, 2016

a little boring. I spent lots of time on learning on an useless language rather than learning the spirit of functional programming. I suppose to use C/C++\python or other normal programming language as the lesson language.

By Nathan J

Jul 7, 2020

I have problem keeping up wit the course because not only I have experienced regular Internet issue but also I Have difficulty configuring the SML to work properly.

In truth the course is rated five stars.