• For Individuals
  • For Businesses
  • For Universities
  • For Governments
Coursera
  • Online DegreeExplore Bachelor’s & Master’s degrees
  • MasterTrack™Earn credit towards a Master’s degree
  • University CertificatesAdvance your career with graduate-level learning
Careers
  • Log In
  • Join for Free
    Coursera
    Chevron Left
    Back to Programming Languages, Part A

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

    Filled StarFilled StarFilled StarFilled StarFilled Star
    4.9
    stars
    1,896 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 ter...
    ...

    Top reviews

    YZ

    Dec 3, 2016

    Filled StarFilled StarFilled StarFilled StarFilled Star

    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.

    JF

    Mar 15, 2023

    Filled StarFilled StarFilled StarFilled StarFilled Star

    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.

    Filter by:

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

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Jared C

    •

    Feb 10, 2022

    Excellent course! I appreciate that the professor is very precise and intentional in his explanations and use of terminology.

    Update: after finishing Part C, I can definitely say this is a high quality course all the way through. Dan Grossman is a fantastic instructor, and most of the homework assignments (especially the challenge problems) were interesting, difficult, and rewarding. It's a thorough course that gives you everything you need to succeed at some genuinely complex stuff.

    The only qualm I had came right at the beginning of Part A. The initial software setup was a pain on MacOS. I think the course's setup instructions weren't completely up to date with regard to some unexpected quirks between the then-current software versions and with my OS version, so I had to do some serious troubleshooting to get things up and running. It was worth it, though!

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Igor P S

    •

    Oct 7, 2019

    This course is fun. I recommend it. I had a great time learning about many topics I was somewhat familiar but never had the chance to study them deeply. I was introduced to a new programming language, which l learned to respect and enjoy. After finishing the course I feel confident about what functional programming is and also about many other aspects programming languages have. I definitely will take part B and C of the course. Thanks a lot for providing this course!

    I would like to politely and respectfully suggest as an improvement for the next version of this course the usage of examples more connected to the real world instead of those purely didactical. It is not a big deal, the examples used in the course work fine to grasp the announced idea, but the knowledge would consolidate more firmly this other way.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Juliano P

    •

    Jun 12, 2020

    Loved it! This material focus on the Standard ML language (which you probably won't use for any practical purpose later) but is a very good foundation to understand other languages in the ML family, like F# and it has influenced Haskel and Elm (check the Wiki for "ML (programming language)").

    I looked at the documentation for F# and what before would be a black-box was mostly clear (specially pattern-matching, that may have looked confusing when reading F# docs).

    I am a self-taught web developer, don't have any regular background on computer science and have been working in the field for almost 5 years. This was my first interaction with a functional language and the time spent was totally worth it.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Fei G

    •

    Sep 30, 2019

    Thanks a lot, Dan! Prior to this course, I've been using Python for some casual projects for a few years, but some concepts like first-class functions and lambda expressions, etc, always seem daunting to me and I never got the hang of that. With the help of this course, my understanding of a lot of concepts in Python really improved a lot. In addition, I find learning Javascript becomes much easier after understanding SML. To sum up, I really learned a lot from this lesson, I like your teaching style (especially Live Coding :)) and I surely would sign up for the rest of the course.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Aren T

    •

    Feb 19, 2020

    A fascinating and brilliantly put together course, but highly demanding.

    A little more guidance on some of the challenging homework would have been welcomed, but in terms of the lecture quality, course structure, and materials provided, this is a superb introduction to Functional Programming and a great theoretical guide to programming meta-concepts in general.

    Recommended both for prospective future developers and experienced seasoned developers, especially if your background thus far is primarily in imperative/OO languages like Python, Java, and C/C++ etc. You will learn a lot!

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Adam

    •

    Jun 14, 2020

    The course was quite time intensive (it took me about 54 hours), but it was absolutely worth it!

    I am quite experienced in object-oriented programming with Java, but I had no clue about functional programming. This has changed! I have learned some foundational concepts and idioms that will help me in other languages as well. For example, in newer Java versions there are many features that allow functional-style programming. Now I have a good foundation to pick them up quickly and use them properly.

    I'm looking forward to part B!

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Tom K

    •

    Jan 26, 2021

    Phenomally empathetic, considerate, useful, and entertaining course. The model of how to explain things to people without either wasting any of their time or omitting any crucial context. Far better than the in-person first-year units of the Curtin University CS degree (Australia) I attended in 2019. I hope this is open-sourced and remains available to all future generations of people. It's an incredibly valuable resource for human society. Thanks to everyone involved for their labour spent on this.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Brandon I

    •

    Feb 5, 2020

    Challenging course. It may be a good idea to have some prior practice with the ideas (especially lexical scope, higher-order functions, and recursion). However, the instructor's enthusiasm makes it worth it in any case. For me, it hit the spot, since it built up some things I had practiced from before, yet taught me some new things (especially being an introduction to static typing and type inference). I'm definitely looking forward to parts B and C!

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Neelakantan

    •

    Sep 5, 2020

    Great course for getting into the fundamentals of programming languages. Bit of a steep curve between Sections 1 and 2, but nothing impossible as long as you go over the material well. My prior programming experience in Python meant I had to work a bit in the first homework to break out of that mould of thinking. But that was good as it did help me find more elegant solutions to even projects I was doing in Python.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Güray O

    •

    Mar 21, 2020

    Great instructor, nice content, precise definitions, challenging (in a good way) homeworks... Are these enough to take an online course without certificate and commit 15-20 hours on average per week? I think for most of the people the answer is YES.

    Warning: This course is not for beginners but if you see yourself on at least close to intermediate level don't worry; you will do fine.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Suchith J N

    •

    Sep 7, 2016

    It is awesome. It really taught me to see things slightly differently, especially static vs dynamically typed programming languages. I also learned about theory behind them. It also helped me to clear some misconceptions. Implementing a mini programming language is the fun part. Go for it! I'm gonna study Structure and Interpretation of Computer Programs for more stuffs like this.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Jonathan F

    •

    Mar 15, 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.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Mehmet M G

    •

    Aug 4, 2021

    Dan Grossman is a wonderful instructor. He conveys the ideas in the course fluently. I wish he give more courses about other topics in computer science

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Rahul M

    •

    Jul 21, 2020

    A must-do course for all programmers.

    Filled StarFilled StarFilled StarFilled StarStar

    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.

    Filled StarFilled StarFilled StarFilled StarStar

    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.

    Filled StarFilled StarStarStarStar

    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.

    Filled StarStarStarStarStar

    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.

    Filled StarStarStarStarStar

    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.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Guillermo G

    •

    Oct 1, 2022

    Dan Grossman and his team appear to be excellent educators. This is very much reflected on the quality of the content available in this course. Due to the fast-pace nature of the material I am considering taking an extra week to review some of the contents before moving on to the next chapter of the series. My final impression is, having very basic previous programming experience, that the enormous ammount of information delivered might feel a bit overwhelming and intimidating.

    Thanks to all the people that make this available for the world to join. Looking forward to keep on learning.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Gleb L

    •

    Jul 25, 2018

    All three parts are amazing. Dan is a great computer scientists and a teacher. He have very clear way of explaining ideas. Material covered in courses is highly relevant. Concepts covered in functional parts can be seen in many "fresh" languages (Scala, Swift, Nim). Deeper grasp of OOP and its relation to functional programming helps understand core differences and similarities.

    I cant recommend this three part course enough for anyone who don't just want to know one programming language, but to be a better computer engineer.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    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!

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By xinxiao

    •

    Sep 18, 2019

    This course is really eye-opening! I find many answers to my questions during my exploration about functional programming language. The presentation is very clear, each piece of information over the course is well-connected with other parts. This course presents programming language as an intriguing subject/topic. A slightly more practical benefit is that this course makes one a better programmer, regardless of the choice of programming language. I definitely hope to see more courses like this.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By Philip H

    •

    May 23, 2018

    a great experience! i was surprised how engaging the course was!

    never having heard about the language used or intended to learn it, it is true what dan had said from the beginning: it does lend itself beautifully to learn fundamental concepts of programming and it certainly gave me a deeper understanding of programming languages in general.

    i can highly recommend this course to anyone who wants to become more agile, literate and confident programming in whatever language you are using.

    Filled StarFilled StarFilled StarFilled StarFilled Star

    By J.-F. R

    •

    Nov 12, 2019

    Really excellent course which teaches the underlying concepts of functional PL. Prog. Grossman is passionate as well as expert in the topic, and the course is very well organized and inspiring. I recommend it highly, especially for experienced OOP programmers who want to know what the "big deal is about" FP. Also, the ML skills I acquired during the course will be transferable, as well as useful to read research papers and books using it, e.g. Okinawa's Functional Data Structures.

    • Chevron Left
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • ...
    • 23
    • Chevron Right

    Coursera Footer

    Technical Skills

    • ChatGPT
    • Coding
    • Computer Science
    • Cybersecurity
    • DevOps
    • Ethical Hacking
    • Generative AI
    • Java Programming
    • Python
    • Web Development

    Analytical Skills

    • Artificial Intelligence
    • Big Data
    • Business Analysis
    • Data Analytics
    • Data Science
    • Financial Modeling
    • Machine Learning
    • Microsoft Excel
    • Microsoft Power BI
    • SQL

    Business Skills

    • Accounting
    • Digital Marketing
    • E-commerce
    • Finance
    • Google
    • Graphic Design
    • IBM
    • Marketing
    • Project Management
    • Social Media Marketing

    Career Resources

    • Essential IT Certifications
    • High-Income Skills to Learn
    • How to Get a PMP Certification
    • How to Learn Artificial Intelligence
    • Popular Cybersecurity Certifications
    • Popular Data Analytics Certifications
    • What Does a Data Analyst Do?
    • Career Development Resources
    • Career Aptitude Test
    • Share your Coursera Learning Story

    Coursera

    • About
    • What We Offer
    • Leadership
    • Careers
    • Catalog
    • Coursera Plus
    • Professional Certificates
    • MasterTrack® Certificates
    • Degrees
    • For Enterprise
    • For Government
    • For Campus
    • Become a Partner
    • Social Impact
    • Free Courses
    • ECTS Credit Recommendations

    Community

    • Learners
    • Partners
    • Beta Testers
    • Blog
    • The Coursera Podcast
    • Tech Blog
    • Teaching Center

    More

    • Press
    • Investors
    • Terms
    • Privacy
    • Help
    • Accessibility
    • Contact
    • Articles
    • Directory
    • Affiliates
    • Modern Slavery Statement
    • Manage Cookie Preferences
    Learn Anywhere
    Download on the App Store
    Get it on Google Play
    Logo of Certified B Corporation
    © 2025 Coursera Inc. All rights reserved.
    • Coursera Facebook
    • Coursera Linkedin
    • Coursera Twitter
    • Coursera YouTube
    • Coursera Instagram
    • Coursera TikTok
    Coursera

    Welcome back

    ​
    Your password is hidden
    ​

    or

    New to Coursera?


    Having trouble logging in? Learner help center

    This site is protected by reCAPTCHA Enterprise and the Google Privacy Policy and Terms of Service apply.