Chevron Left
返回到 Programming Languages, Part C

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

4.9
344 个评分
76 条评论

课程概述

[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 how to have fun building it. The course assumes some prior experience with programming, as described in more detail in the first module of Part A. Part B assumes successful completion of Part A. 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. 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....

热门审阅

SS

Jan 08, 2019

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!

JH

Dec 27, 2016

I took this course about 10 years off the college, and it was excellent refresher on the topics I don't use on a daily basis. Absolutely great lecturer, great videos and study materials!

筛选依据:

1 - Programming Languages, Part C 的 25 个评论(共 75 个)

创建者 Vaidas A

Mar 31, 2018

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.

创建者 Sean E

Dec 23, 2018

One of the best courses on coursera. Highly recommend this, together with "From Nand to Tetris".

创建者 Greg G

Apr 29, 2018

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!

创建者 Jeff T

Apr 06, 2018

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

Apr 18, 2018

After watching this course, now I truly understand Objects Oriented programming, and its relation with Functional Programming. Strongly recommend!

创建者 Natalia T

Sep 30, 2018

very good

创建者 Olga S

Feb 09, 2018

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!

创建者 Mohamed A H A M

Sep 06, 2019

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.

创建者 Allison C

Apr 23, 2018

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.

创建者 Henrik B

Feb 08, 2018

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.

创建者 Maria L V

May 10, 2018

Having mostly learned programming on my own I think I had many holes, following these three courses was like a new pair of glasses

创建者 Serjey G I

Apr 26, 2018

Terrific course! Highly recommend to anyone programming.

创建者 Cheng H

Dec 20, 2018

the best programming course i've ever had!!!

创建者 Jin X

Nov 06, 2018

Dan is great. Thanks a lot!

创建者 MD T M

Aug 13, 2019

Excellent set of courses. I love Dr. Grossmans's enthusiasm on the topic. I feel the material is very practical, and applicable to my career in full stack web development. It's immensely helpful having access to this material as I am not classically trained in computer science. I feel more confident navigating the turbulent world of Javascript, and continuously exploring additional languages, and idioms. The rigorous nature of the course is initially off putting as a busy professional doing the course part time, but the results are extremely rewarding. I encourage all interested in development to at least check out some of the videos on this course for a deeper understanding of the tools we use everyday.

创建者 ZHENG Z

Jul 15, 2020

Dan said in the last lecture that he hoped to have shared some of the passion and awe about programming languages with us, that a small number of powerful ideas underlying these languages, combined with human ingenuity, have led to the amazing variety of software. I definitely felt that passion and awe, and am very grateful to him for taking me through this journey. I learnt a lot from these courses. It's not about ML, Racket or Ruby, but the way I think in programming.

创建者 Thassilo H

Nov 01, 2017

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.

创建者 Jack

May 28, 2020

Good finale to the three part series. Part C is probably the most applied part of the whole course, you'll learn things about OOP that you will encounter in your daily job if you deal with Java/C++. By contrasting it with earlier material, you'll also reinforce what functional programming is all about.

Just be warned this course is no piece of cake. Thanks to Dan and the team!

创建者 Iris H

Dec 16, 2019

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.

创建者 Johnathan F

Jan 14, 2018

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.

创建者 Arent S

Jun 01, 2019

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.

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

创建者 Suvrat A

Oct 22, 2016

This part concludes the Programming Languages series by Dan Grossman! All the 3 parts are amazing. I have learnt a lot in each part. I think now I can look at a problem and then choose a programming languages with some good reasoning behind the choice I make.THANK YOU COURSERA! THANK YOU DAN! :)

创建者 Jimmy C C

Mar 17, 2020

I watch the video lectures as supplements for a course I am taking at my university, which happens to be based on this course. I feel compelled to say that this is one of the best courses I have ever taken and Dan Grossman is the best instructor I have ever had.

创建者 Joshua H

Feb 10, 2017

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!