Chevron Left
Back to Programming Languages, Part A

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

4.9
1,130 ratings
317 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.

AL

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:

26 - 50 of 312 Reviews for Programming Languages, Part A

By Nicholas T

Mar 18, 2019

Incredible course, deepened my understanding of programming considerably!

By Tang H T

Jan 06, 2019

Very good instructor, challenging but doable homework for week 3 and 4. Exam is too easy though. I would like the exam to be more difficult.

By Cheng H

Dec 22, 2018

Best ever classic courses! Never learnt so much from any programming courses! Expect to see materials can be published as book even textbook! Looking forward further courses from Dan!

By Chris T

Jan 21, 2019

excellent course!

By Akash B P

Sep 23, 2018

The professor's enthusiasm for programming languages rubbed off on me. Can't wait to start Part B

By vishnu r

Sep 23, 2018

the class was simply superb

By Walker

Aug 11, 2018

很赞,学到了很多实用的基本概念和方法。

By nikofeyn

Aug 11, 2018

Take this course. Many modern languages are still slowly stealing features from Standard ML, even decades later. Dan Grossman is passionate about this material. This course is arranged in such a way that it slowly builds you up in skill and knowledge, and the pacing is quite good. The homework assignments are very useful in reiterating the material, and the peer-grading really works if you commit and put work into it.

Learning functional programming is a great way to expand your skills as a software developer and programmer. The thinking required is much more principled than in something like Python, and so you begin to understand how this approach could be useful in the real world.

By Ziyang G

Aug 27, 2018

It was super fun and helpful to get to know the basic ideas of functional programming.

By Dali Z

Aug 16, 2018

amazing course and excellent lecture! Very impressive about explanation on SML.

By Tso C F

Aug 20, 2018

learn real programming

By Erik D

Oct 04, 2018

A great course which shows functional concepts in depth.

By Jing C

Nov 03, 2018

I think it is very good as a start up for programming. full of useful thoughts and ideas, and instructor is explaining everything in a clear way. very recommended.

By jzy

Nov 04, 2018

Well-designed!

By Olegs K

Nov 05, 2018

Very valuable and naturally interesting

By Arent S

Nov 06, 2018

This is one of the best courses I've taken so far. The assignments are difficult and interesting and more importantly, the assignment teaches the core of programming.

By 纯白棒球帽

Nov 08, 2018

When finding programming related courses on the Internet, I knew this lesson in “www.zhihu.com”, where someone give this course a high score evaluation. To satisfy my curiosity I tried a few lessons. However, to my surprise, it attracts me deeply. I told myself it was that courses which I have been looking for. I do believe it`s my great honor to participate and I will try my best to seize the opportunity and finish it perfectly.

By Tejas P B

Sep 10, 2017

Exceptional experience, learnt a lot! Will recommend whole heartedly to others. I am onto part B now! Excited to see how racket contrasts with ML.

By Feiyu L

Apr 15, 2018

such a clear introduction to Functional Programing. My fear of 'academic functional style' is totally gone, and really like recursion now.

By Andrew W

Jul 12, 2017

Excellent course.

By Saket P

Apr 12, 2018

It is a very challenging course and great learning experience. One would be very clear on functional programming style and concepts after completing this course.

By 李财发

Sep 24, 2016

更好的了解程序语言

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

Oct 06, 2016

Excellent instruction. I feel my programming ninja powers have definitely increased. Can't wait to do parts B and C.

By Nikolas V

Feb 11, 2017

This is an essential lesson to start learning programming language concepts. Dan Grossman has created a great learning path. All the videos are of high quality explaining in detail concepts that each developer should be aware of. The material given was nicely organized with a lot of examples. I cannot recommend this course more highly!

PS: The course uses SML, a functional language. If it's your first time working with that paradigm do not hesitate. SML is quite simple and it will open a new world for you!