Chevron Left
Back to Programming Languages, Part A

Programming Languages, Part A, University of Washington

4.9
1,002 ratings
285 reviews

About this Course

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....

Top reviews

By YZ

Dec 03, 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.

By AL

Mar 22, 2017

Great course!\n\nI think this course has just the right balance of theoretical background, formal definitions, and actual examples to make "just right".\n\nThanks Dan, and everybody else involved!

Filter by:

282 Reviews

By Oskar Martin Georg Ahlroth

May 19, 2019

Great course, if you want to learn the foundations of functional programming in a purely functional language this is the course for you!

By Chua Bing Quan

May 18, 2019

Solid introduction to functional programming and programming languages concepts.

By Zhang Chi

Apr 30, 2019

can learn fast

By l1nxy

Apr 21, 2019

it's very great course

By Q LUO

Apr 20, 2019

amazing course, I love it

By Nacho Casal Iglesias

Apr 16, 2019

Was a beutiful course with fun exercises

By shaahin khakisedigh

Apr 12, 2019

the idea of start by sml is briliant and very helpful about the base of programming languages

By Gopal Jayaraman

Apr 06, 2019

it`s a very good course.

By Tega Erekata

Mar 28, 2019

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.

By Mike

Mar 26, 2019

Good