Programming Languages, Part C
[As described below, this is Part C of a 3–part course. Participants should complete Parts A and B first Part C “dives right in” and refers often to material from Part A and Part B.] 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 …
Courses : 3
Specification: Programming Languages, Part C
50 reviews for Programming Languages, Part C
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Noah P –
Interesting class and well taught. Part B was particularly fun.
Joshua H –
As far as I know this is the best series of courses that covers the major programming paradigms and the most valuable idioms that emerge from the different traits of these paradigms. I strongly recommend it to everyone studying computer science!
Zijiao Y –
I would say I got the exact the same reason as Dan for choosing computer science to be a huge part of my life: The true Awe inspiring thing! And this is literally the best course I have ever take for the past 20 years
Yifeng M –
The course series covered a broad range of knowledge. And the material are presented with great details.
Xiang Yu G –
Clear and refreshing. Especially the part comparing OOP with FP. They way to compare subtyping and generics is also novel. I have been writing OOP and FP programs for years but haven’t look at them from such a point of view.
Wentao Y –
Very good and helpful! No wasting time, efficient for busy learners.
Wang Y –
The best course on coursera!
Hector L –
concise comparison between FP and OOP
Nelson V –
One of the best courses of my career. This was truly programming languages. You’ll look at your programs, in any language you use, in a whole different way! Highly recommended!
Thassilo H –
Part C ends the story, and if you liked Part A and Part B, there is no reason to not complete your journey with this course. It has the same great teaching style but now talks about OOP and contrasts it with functional programming. The three parts together form a wonderfull learning experience back from the early times where enthusiastic profs recorded lectures themselfes to spread the world about there subject.
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. 🙂
Abdifatah A A –
Jing Y –
Interesting course, covers many interesting topics. Homework is a must do but not hard.
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.
Rongge Y –
Very passionate instructor and very rich and well organized content. Great to learn and reflect on some novel concepts like double dispatch and sub typing; it’s really enlightening. Great course experience. Thank you Dan!
Henrik B –
A course with a lot of work, but great reward. Dan who holds the course is passionate and knows what he talks about, making it a pleasure to listen to.
Olga S –
This is an Absolutely Great Course. One of those rare ones where you feel that each of your smallest efforts brings you a step higher. Dan explains in a very clear and precise way all those concepts that an inexperienced programmer is usually afraid of: function closures, type inference, virtual methods and many more. I definitely recommend all the 3 parts to anyone who wants to call himself a programmer. Thank you Dan!
Hou Y D –
Great course. I want to learn another courses right now.
that last assignment is pretty neat.
anton k –
Very challenging and rewarding course. Dan is a perfect teacher!
jani k –
Vaidas A –
The whole series of courses (parts A, B and C) are must take for anyone learning software engineering through moocs. Dan is one of the best teachers I’ve seen to give such clarity of concepts through recorded video lectures is very impressive. I already recommended these courses and will continue to do so. Thanks! Specifically about C part I really liked the functional languages (especially I am into lisp like syntax, very intrigued about other similar functional languages (clojure)) but this course gives a very nice contrast between functional and oop styles as well as deeper understanding of the oop approach to program decomposition for a person that has to write code on a daily basis, but has no software engineering training.
Jeff T –
Much to be gained with this course through learning language features with a high degree of precision around their semantics. Challenging enough to provide a real sense of accomplishment upon completion. Carefully constructed course materials.
Feiyu L –
After watching this course, now I truly understand Objects Oriented programming, and its relation with Functional Programming. Strongly recommend!
Allison C –
Part C of this course was harder because there were three languages to keep in mind and remember properties of! But it’s nice to have been exposed to all the different decisions that go into creating a programming language.
Serjey G I –
Terrific course! Highly recommend to anyone programming.
Greg G –
Finally, wrapped it all up with Ruby, OOP and other great topics. The homeworks, especially the Tetris one were really fun. A great finale to parts B and C with a pretty challenging final exam. I counted: the reading notes together for parts A, B and C are 180 pages. What a journey! Thanks for sharing this course Dan!
Maria L V –
Having mostly learned programming on my own I think I had many holes, following these three courses was like a new pair of glasses
daniel 1 –
very good programming language in c
Natalia T –
Jin X –
Dan is great. Thanks a lot!
wonderful course,thanks for Professor Dan Grossman !
Luiz C –
in my top 3 course on Coursera Platform. A must for anyone interested in Programming, beginner to experienced
Cheng H –
the best programming course i’ve ever had!!!
Sean E –
One of the best courses on coursera. Highly recommend this, together with “From Nand to Tetris”.
Shreyas S –
Great course, nicely rounded off the discussions from previous parts. Really puts OOP style programming in context and nicely contrasts it from the functional programming concepts. Highly recommended!
Sam R –
Tang H T –
Dan is awesome! It is best to take part a to c in sequence
great course material
Arent S –
This course was difficult, rewarding and fun at the same time. It took me a while to complete it, and I noticed that even after a while I did not forget the core idea. This is due to the great content of the course. Also, the passion of Dan is inspiring. In conclusion, if you’re interested in software development, take this course.
MD T M –
Wu Z –
definitely a rewarding course
Mohamed A M –
One of the most rewarding courses I ever took online if not the best. ( I have taken more than 30 courses on coursera). The instructor is dedicated, easy to follow along with and have awesome tutoring skills overall. I would recommend this course(s) to anyone I know.
Guo F –
Last Part of the course. A fantastic learning experience. Thank you Dan and other folks participating in the creation of this course, for the great work!
Iris H –
Great material in the last part of a great course. Section 10 in particular was challenging and fascinating, and I learned a lot about type systems. I would highly recommend this course to anyone interested in learning about the foundations of programming languages in a broad context. This course really bolstered my understanding of programming language theory.
Luis G –
Extremely recommended course. Really appreciate all the effort put into it by all people involved.
Peter D –
Best MOOC taken so far! Learnt a lot about programming languages and highly recommend it to anyone who wants to learn more and understand deeper about programming language in general.
Matias A –
Wonderful course, perfectly taught, well put together, Professor Dan Grossman is awesome.
Remie C –
I appreciate it so much! Amazing! Keep learning SICP stuff.