Chevron Left
Вернуться к Programming Languages, Part B

Отзывы учащихся о курсе Programming Languages, Part B от партнера Вашингтонский университет

4.9
Оценки: 466
Рецензии: 95

О курсе

[As described below, this is Part B of a 3-part course. Participants should complete Part A first -- Part B "dives right in" and refers often to material from Part A.] 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....

Лучшие рецензии

VA

Mar 19, 2018

This course (as Part A and C) is great - Dan is great in teaching and the content is perfect for anyone who wants to learn more about programming languages!\n\nWarning - you might end up loving FP :)

AA

Mar 24, 2018

Great course with really interesting and challenging assignments that allow to get more precise vision on programming languages (especially on PL's typing systems) and get experience with modern LISP

Фильтр по:

51–75 из 94 отзывов о курсе Programming Languages, Part B

автор: Keith R

Mar 23, 2018

I'm a pretty experienced C/C++ programmer and this course has been a brilliant introduction into functional programming and the underlying philosophies underpinning programming languages in general.

автор: Alexandr A

Sep 23, 2016

Perfect course series for me!

автор: shengrang

Dec 19, 2016

nice

автор: Shiyang L

Jan 15, 2017

More difficult than part A but also more rewarding. Thanks Prof. Dan!

автор: Meng L

Dec 29, 2016

wonderful experience

автор: Stanislav K

Jul 07, 2017

It's hard not to see how much time and energy is spent on this course by the instructor and the team!

автор: Kevin X

Dec 18, 2016

This series is really the course you need to take if you feel not comfortable and want to know why(or describe the feelings) when you code in school or work.

автор: walker

Sep 11, 2016

I learn lots of important programming language concepts from here.

автор: Luiz C

Jul 05, 2018

Fantastic course, a must for anyone serious or interested about programming. Challenging, but time really well spent: Course very well organized, quality videos by a very engaging professor, and very interesting with gradual complexity exercises

автор: Yifeng M

Jul 13, 2017

One of the Best course I have ever taken. A great many of concrete examples. Thanks!

автор: Cheng Z

Jun 03, 2017

It is great fun to learn Racket and use it to implement an interpreter for MUPL.

автор: Shaohao Z

Sep 21, 2016

AMAZING COURSE!

автор: 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.

автор: Xiang-Yu G

Jul 27, 2017

The programming assignments are carefully designed such that without so much coding you can capture the essence of the idea. Highly recommend.

автор: Jeff T

Mar 21, 2018

challenging, insightful, fun!

автор: Yuji S

Sep 25, 2016

Great course! Learned more about PL, what is interpreter/ compiler language, what is statically typed/ dynamically typed. The homework is very rewarding! Looking forward to Part C.

автор: lander

Sep 04, 2017

excellent! vey helpful for ungraduates and programmer! need time to understand truly.

автор: Suvrat A

Sep 23, 2016

Dan Grossman is a really amazing teacher! Learnt a lot! :)

автор: Oleksandr O

Sep 17, 2017

I really enjoy the course and like how Dan explains everything. Very thoroughly and clear!

автор: Lukáš H

Mar 20, 2018

Extremely enjoyable course! I wasn't exactly looking forward to using the Racket language --- I knew nothing about it, to be honest, but it really impressed me. A beautiful language. But the course is not really about the language used. It covers some interesting topics (delayed evaluation, streams, type systems) and contains two very nice homework assignments: the first is mostly focused on streams (which is actually quite a fun) and in the second one you implement an interpreter for a simple language that contains closures!

автор: Devin

Dec 07, 2017

Great!

автор: dynasty919

Feb 22, 2018

great experience using racket writing a toy interpreter!

автор: John S

Sep 14, 2016

An absolutely high quality class. The instruction is superb, the assignment is on par with top programs at Stanford, MIT, and CMU. Dr. Grossman's lecture is just so clear and energetic that makes learning this hard topic fun.

автор: Greg G

Mar 19, 2018

It's definitely harder than Part A - Racket with its LISP-like syntax was pretty daunting for me. I just can't imagine using it in production after using so many C-style languages, but I know that there are lots of Scheme and Clojure fans out there. But it was great to learn about dynamic typing, macros, and getting to deeply understand how interpreters work. That was a real wow moment!

автор: Julian M

May 09, 2018

DO THIS COURSE. It brings together everything in part A. In particular, the final shorter week on the differences between Statically and dynamically typed languages is mind-bending and brilliant.