Chevron Left
返回到 Programming Languages, Part A

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

4.9
1,625 个评分
478 条评论

课程概述

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 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. The three parts are not quite equal in length: Part A is almost as substantial as Part B and Part C combined. 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....

热门审阅

YZ

Dec 2, 2016

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.

VA

Mar 4, 2018

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

筛选依据:

451 - Programming Languages, Part A 的 475 个评论(共 477 个)

创建者 Héctor B A

Sep 1, 2016

Great course overall. It focuses on functional programming concepts like immutability, locally-defined functions, pattern-matching and forces the user to use recursion, taking you out of your for-loop comfort zone. In my humble opinion, maybe the time spent in learning the SML language, which is not the main goal of the course, takes a bit too long, but on the other hand I guess that can't really be helped. Videos are grate and grading procedures are pretty fair. Mind you, the course is fairly time-consuming.

创建者 Lorenzo B

Jun 13, 2020

Four stars because for me at least one of the most interesting parts about the course it the comparisons that happen LATER in part B and C, between oop/fp and especially static/dynamic typing; that is, I treat this course as a test to see if you're interested in the whole thing (I am). Otherwise a solid 5/5. Also I personally found that polyml often gives clearer diagnostics than sml/nj, but your mileage may vary here. AND it's my first course here :=)

创建者 Scott v K

Jan 8, 2017

The constructs of learning functional programming are very useful and well explained. This course is about theory with practice problems which are somewhat challenging using SML as the programming language. The only downside of the course is the use of SML, which is fine for educational purposes, but lacks any real development / debugging frameworks and has no commercial usability beyond learning the concepts in the course.

创建者 tiny-imagenet

Feb 15, 2021

The content of this course is very good and easy to follow. It's not a very difficult course. All homeworks can easily be completed by watching the video content. The video presentations do have some sound issues that may make them annoying to watch. The sound issues are present in all videos and take this course in my opinion from a perfect score to a 4/5.

创建者 Aschwin W

Jul 12, 2020

I wanted to learn more about Functional Programming and prepare for a course on Compiler Construction. This course showed how statements and expressions differ. Also using a pure functional programming language is really good to prepare for my daily work and developing a compiler.

创建者 Jeffrey C

Jan 4, 2022

Fun course at times and overall very intense. Some of the homework questions later in the course were extremely difficult and required a lot more time than designated (and a lot more time than I would prefer to give).

创建者 Messias T

Jan 11, 2021

Gostei bastante do curso, entretanto, algumas partes dos homeworks ficaram mal explicadas, além da falta de mais casos de testes para corroborar o que se pedia nas questões.

创建者 Jie G

Jan 18, 2020

Very useful, but I cannot submit my assignment and ML is also not available for my computer

创建者 Atsushi

Jan 6, 2019

the course material was good and fun! but the discussion forum was not so active.

创建者 Arto P

Jan 10, 2021

Clear content and good exercises, which need an investment of time and thinking.

创建者 Chua B Q

May 18, 2019

Solid introduction to functional programming and programming languages concepts.

创建者 Philip A

Nov 29, 2016

The peer review was too time consuming. Otherwise great course

创建者 Steve C

Sep 3, 2020

A challenging course with some deep insight into programming.

创建者 Mark R

Jun 17, 2019

Good intro. to Functional Programming

创建者 CLARISA B H C

Mar 5, 2019

Muy buena información; nivel alto.

创建者 Mai N

Jun 4, 2022

it's very useful, thanks

创建者 Chang L

Jul 29, 2018

Quite interesting~

创建者 Ojesanmi F

Aug 28, 2020

so cool

创建者 Lê H T

Jun 26, 2022

good

创建者 LvGJ

Jul 27, 2020

good

创建者 lhdgriver

Sep 29, 2019

Easy

创建者 Roman H

May 24, 2021

Dangerous combination of dry presentation of abstract concepts, and demonstration rather than explanation. The class left me with lots of open questions, most beginning with "why", many followed by "would you", and may not be well suited for an online environment without teacher interaction.

I get the impression you have to really like math, rather than computers and programming, to find this class interesting.

The horrid sound quality from the terrible microphone the teacher used doesn't help make the lessons more enjoyable. Or maybe that's coursera's compression, I'm not sure as I haven't taken many classes here yet.

PS: Something about this comment form is buggy, making proper formatting of my review impossible.

创建者 Andrew M

Nov 10, 2019

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.

创建者 Stepan K

Apr 9, 2017

Not very applicable for the real world. Recursion over lists can be a nice mind exercise but please don't use it in real world, there are way too many stack overflows, unneeded context switches and cryptic code already, don't add to it.

创建者 张浥东

Nov 18, 2016

a little boring. I spent lots of time on learning on an useless language rather than learning the spirit of functional programming. I suppose to use C/C++\python or other normal programming language as the lesson language.