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.
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
by Güray O•
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.
by Suchith J N•
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.
by Jonathan C•
While the trend has been to spread out course content into specializations, these courses, the Programming Languages series, actually contain enough content to merit being a course. And while the lectures start out a bit repetitive, Dan Grossman justifies it by revisiting themes in the later weeks. It's a very thorough introduction to functional programming and language design.
by Manish K•
This course has been more rewarding than any other I've taken. The topics - recursion, functional programming, pattern-matching, currying, abstract types, the list goes on and on - are extremely valuable. In addition, Professor Grossman is a precise and thorough instructor and it's clear that he is passionate about the material. I can't recommend this course highly enough!
by GONG L•
It is an exhilarating experience to learn Programming Languages A. Although this course seems a little vapid and unexceptional at first, it becomes more and more fascinating from Week 2 to Week 4. It is true that the assignment is challenging. On the other hand, it is quite absorbing, and my understanding of programming reached a new level after finishing each homework.
by Hector A G•
Professor Dan is the type of mentor we all wished we into more often during our studies. This course is challenging -- as it should be --, interesting, the topics covered are important and foundational for someone that wants to learn how to write software. This is an amazing, course. If you have the will to take this, go for it. It'll be worth it once you finish it.
by Chris S•
This course introduces a new style of programming to what most programmers are familiar with, and has been incredibly eye-opening for me personally. The lectures are delivered in a clear and crisp manner, and the instructor definitely shows enthusiasm for the material. I would highly recommend this course to anyone wishing to broaden their programming skill set.
by Sergey Z•
I've never thought about thunks, closures and so on. Looks like I've known only about syntax. Now I think more about semantics. The greatest thing is that I'm really started better understand programming languages. Thanks to Dan and all participants for this experience. I'm not sure I would be so involved without such a good explanation of the course materials.
by Johnathan F•
Courses I've taken on programming languages often focus on one language. You learn the different concepts for that one language but don't understand why the language chose those concepts and what the alternatives are. By covering three languages, this course integrates the concepts and their alternatives to give you a solid understanding of how languages work.
by steve b•
Very good, polished course. Clearly many picky students have improved it in the eight years since it was posted. It was my first exposure to pure functional programming. I had never programmed without loops or assignment statements before. I gained some insight into certain features of Java and python, even though those weren't really mentioned in the course.
Very fun and engaging. What I really liked about the course was having pdfs for each week that summarized the theory. What I did was read the pdf for the week first, then watch the videos at 2 times speed, pausing for sections I didn't understand while reading the pdf and also doing the pop up questions. With this method the exam part becomes very easy.
by Hao S•
Really well designed, challenging, and well delievered. I hesitated when I saw it's using a completely unknown language, and I was already glad that I didn't unenroll in just a couple of lessions. Language is just a tool, what matter are the concepts Dan's trying to teach. Btw, to my astonishment, SML is actually really elegant for the course materials.
by Ahmad N R•
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 Deleted A•
Thx ossu for discover for me this course. Thank you Dan for creating such amazing course and Dan's dogs who supporting Dan while he creating this course This course was pretty challenging for me, but the given knowlenge worth it. I highly recommend pick this course to broadening your one's horizons about different programming idioms and concepts.
by Kyle K•
Awesome course all around. Instructor is amazing and the content is really fun and interesting. The assignments are fun, challenging, and well done. It gave me a really fresh perspective on languages and programming in general. It was eye-opening to see a very different way at approaching problem solving by using SML and the ideas are really cool.
by Giuseppe S•
It is a must
I followed other CS coursers but this stands for clarity on explanations of concepts that are an important part of a programming language that is based on the functional paradigm.
You will use recursion since the begin and finally understand it, assignments are engaging but not too difficult and are strictly related to lectures subjects
by Sida L•
Impressive course that will definitely open a new door for anyone, yes, anyone, who is obssessed with OOP like C# or Java like me. The magic of functional programming, unlike the "classes" in OOP, is its conciseness, straight-forwardness, and elements of math underlied in every recursion, function and number. I love this course soooo much!
by Julie L•
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. :)
by Gabriel D d A•
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.
by Zev W•
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.
by Sunil B•
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'.
by danijel k•
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. :)
by Thassilo H•
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!
by Henrik B•
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.
by Damien B•
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.