Chevron Left
返回到 Programming Languages, Part A

学生对 华盛顿大学 提供的 Programming Languages, Part A 的评价和反馈

1,706 个评分


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



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.


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


76 - Programming Languages, Part A 的 100 个评论(共 493 个)

创建者 Julie L

May 21, 2019

What a great course this was. I really enjoyed getting to learn SML, which I hadn't been familiar with, previously. I actually enrolled to get formal exposure to Racket, but it turns out that is covered in Part B. I was pleasantly surprised by SML. I'm looking forward to taking parts B and C. Thank you for a fun and enjoyable class. :)

创建者 Gabriel D d A

Jun 11, 2020

Great introduction to functional programming!

I'm a somewhat experienced developer (10 years of work experience) and my interest in functional programing started with Scala development using Spark. I'm able to use the language and framework, but theoretical understanding were lacking, this course helped to clarify a lot of things.

创建者 Zev W

Jul 25, 2020

Great course. Covers a lot of material and you should definitely expect to put in the full amount of time suggested. The instructor is great, and the course materials and assignments are very well thought out. Highly recommend if you are interested in foundations of functional programming or programming languages generally.

创建者 Sunil B

Jan 10, 2018

A good introduction to functional programming concepts. Lecture video and reading materials are clear and concise. Programming challenges are fair and helps internalise the concepts. The teaching & support staff are very helpful. Wish this team would offer a followup course on 'how to design programming languages'.

创建者 danijel k

Nov 10, 2017

The best teacher I've had chance to listen to. I've completed his corse on programming languages several years ago but always like to return and listen again. It's two things like good movie one can always return to and learn something new, or learn how to be a good teacher, and as Dan says: painting that fence. :)

创建者 Thassilo H

Sep 20, 2017

One of the best Courses I have taken so far: Fantastic and interesting content, highly engaging instructor, and great assignments. The course has a lot of content, and you really get to learn the basic ideas of functional programming and not just the syntax of a new programming language. Looking forward for Part B!

创建者 Henrik B

Nov 22, 2017

The course requires quite a lot of effort, but this I like, If you have to spend time understanding things, doing homework the greater the reward. I think Dan is really good at explaining things, going through the different concepts in a good pace.

I would recommend this to others if they have the time to spend.

创建者 Damien B

Oct 20, 2019

Although I found some of the HW questions confusing, this was probably the best course I have taken on coursera so far. It has already changed the way I approach writing code in imperative languages, i.e., looking for elegant, recursive solutions, and it has piqued my interest in learning functional languages.

创建者 Pablo A

Jun 25, 2017

Best programming course I have ever taken in person or online. Dan Grossman has to be one of the most enthusiastic and clear computing science professors. The material on Part A was far more effective to learn principles of functional programming than the many books and talks I have read and watched. Thanks!

创建者 David S

Aug 22, 2022

Well-taught and interesting course. It helped recursion finally click for me and gave me better understanding of pattern matching, data types, first order functions and other general core concepts of programming. The programming assignments are simple but challenging and I had a lot of fun completing them.

创建者 Sean J A

Mar 4, 2019

One of my favorite classes, I retake it just because I enjoy it, and it is a good refresher. Dan has crafted a fine class, everything he teaches is concise and accurate. Now that I have begun my career as a developer, it is easy to see the knowledge in these lessons has been well honed from experience.

创建者 Pooh B

Aug 20, 2020

The best MOOC I've ever taken in terms of presenting the material and keeping the assignments challenging but doable. As for the material, I think it's essential to understand the tradeoffs between various modern programming languages, and a great intruduction the functional programming specifically.

创建者 Moatasem S

Jan 26, 2019

A very, very solid foundation in functional programming and programming in general. I recommend this for anyone who is starting to pick a functional language like Elixir for example and still find difficulties getting around it. Dan's fun way of teaching will make it feel almost second nature to you.

创建者 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!

创建者 Pratik A

May 8, 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.

创建者 Frederick M

Jan 3, 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.

创建者 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.

创建者 Cheng Z

May 6, 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.

创建者 Boris E

Jun 10, 2020

One of the best courses I saw. It builds foundation to understand programming languages, building compound data, pattern-matching, types, type-checking, evaluation rules, benefits of functional style. I enjoyed style of teaching and all the topics covered. Looking forward for Part B!

创建者 Josh S

Mar 25, 2022

Great course. I really enjoyed learning the concepts and doing the homework and practise exercises. I thought the lectures were informative, the readings were helpful and the problems were rewarding without being too difficult. I look forward to taking Parts B and C in the future.

创建者 Timi

Jun 4, 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.

创建者 Sergey K

Jun 12, 2022

Great course especially for thouse who, like me, write code but do not have computer science education and learned coding mostly by writing code. Learning basic principles in a systematic way using a new language, quite different from the ones I work with, was very useful.

创建者 Aleksandr V

Aug 21, 2022

Exceptional quality. I used to programming in haskell and thinks that it will be easy ride without new information. But there is many intereting topics like type checking (great home work to write simple type checker), modules and advanced pattern matching. Thanks, Dan.

创建者 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.

创建者 Ellen P

Aug 29, 2022

Fantastic course and an impressive teacher. I've mostly worked with Python and JavaScript, so it was great to see a different approach to programming. The emphasis on recursion and currying was tough for a while, but there was plenty of practice in the homeworks!