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 …
Instructor Details
Courses : 3
Specification: Programming Languages, Part A
|
49 reviews for Programming Languages, Part A
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Price | Free |
---|---|
Provider | |
Duration | 36 hours |
Year | 2016 |
Level | Intermediate |
Language | English |
Certificate | Yes |
Quizzes | No |
FREE
Tega E –
I really enjoyed taking this course. It was quite taxing but I loved the way Dan Grossman presented the concepts in a very intuitive and didactic manner.
Gopal J –
it‘s a very good course.
shaahin k –
the idea of start by sml is briliant and very helpful about the base of programming languages
Nacho C I –
Was a beutiful course with fun exercises
Q L –
amazing course, I love it
l1nxy –
it’s very great course
Chua B Q –
Solid introduction to functional programming and programming languages concepts.
Oskar M G A –
Great course, if you want to learn the foundations of functional programming in a purely functional language this is the course for you!
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.
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. 🙂
Oluwatimilehin –
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.
Vivekanand G N –
This is a fantastic and ground breaking course. A must in every programmer’s toolbox
Mark R –
Good intro. to Functional Programming
T N –
one of the best MOOCs you can ever attend.
Jai B –
Very challenging but very rewarding
Nha H –
This course was excellent, exceeding my expectations.
Wu Z –
This is my first course on Coursera and it’s really rewarding! I’ve been programming for several years, but this course still gives me quite a lot surprises. I think this course is suitable for programmer at all levels.
Wang G –
Very good course
Jurgen B –
Great course. Quite useful even for knowledgeable programmers to learn about functional programming concepts.
Vinicius S –
A challenging rewarding course, a must–have for aspiring programmers. I learned a lot.
Raquel K –
Wonderful course! Really expanded the way I think about programming and I’m looking forward to parts B and C.
xinxiao –
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.
Zhixia L –
Perfect course. The professor is very enthusiastic and welcoming. The material is well–organized. The homework is just at that point, not too easy, not too difficult, but still remaining challenging.
Ivan M P –
This course is a must for every programmer.
lhdgriver –
Easy
Iris H –
Excellent course. Very interesting and well–presented material with a lot of thought put into building up the conceptual framework for functional programming and language concepts. I look forward to Part B!
Guo F –
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.
Igor P S –
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.
Enrico F –
Great course, better than many CS courses I had in university
Damien E 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.
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
Andrew M –
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.
J.–F. R –
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.
J. F. R –
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.
Gabriel D –
I’ve enjoyed it a lot. Dan explanations and examples are very clear and intuitive.
Matias A –
Eye opening! You will learn a lot about the theoretical aspects of programming languages, good programming style, and especially how to write simple and elegant code to solve seemingly complex problems.
Anran –
one section into it and loving it! Rewarding and challenges thinking!
Luis G –
beautiful course
alfred –
I am proud to finishing Part A.
Mikhail D –
One of my favourite courses on Coursera, first took it in 2013 and had much fun taking it again in 2019 to refresh my knowledge
Aayush S –
Instructor’s strive for perfection really shows. The quality of content is top–notch; both for the video explanations and the pdfs. Definitely going to check out the other two parts as well.
Ali K –
The course teaches you some fundamental concepts of programming languages using a functional programming language called SML. Overall it’s a challenging course from a reputable American university and the quality is really good. Some pros: Good lecturer, good materials, good programming examples, good assignments that complement the material. Some cons: The forums are completely dead. I don’t think there’s any more support since the course is about 5–6 years old and it feels like it’s been abandoned by the community TAs and the lecturer. So you’re completely on your own if you get stuck. I think it needs a bit of a face–lift. I think it’s a good course for someone who wants to learn from scratch rather than diving into a programming language. So get ready to dig deep into recursion, functions as arguments, data type bindings, polymorphic data types!..
Joao F d A J –
i’m starting this course,and i love the main theme of it.
Jie G –
Very useful, but I cannot submit my assignment and ML is also not available for my computer
Abhishek V –
Absolutely mind–blowing course. This is a must do specialization for anyone who in interested in Programming in general. Can’t thank enough Prof Dan for putting this together. I really really really wish he does a complete specialization on Haskell now.
Robert S –
A great introduction to core concepts and terminology of functional programming for such a relatively short course. I am definitely going to take parts B and C.
Brandon C I –
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!
Huong M L –
In case you’re wondering why professor Dan Grossman decides to teach SML and Racket instead of more fashionable functional languages like Haskell, rest assure that right after taking part A, I was able to learn Haskell very quickly, as SML & Haskell have quite a large common subset (and in fact, SML syntax is actually more beginner friendly than Haskell!) I believe I would have been able to learn Haskell even faster had I taken part B first (which includes thunk and stream, idioms that are essential to Haskell). Of course, there’s no mention of monads (which is quite , but hey, baby steps! PS: In case you are still searching for the n th tutorial on Javascript ES6 features (scoping, closure, currying, destructuring, iterator, promises, async/await, etc.), then give these courses a try! Dan would make everything finally click, and you’ll come out forever changed!
Niko K –
Great course instructor’s passion for the subject is inspiring.