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


Programming Languages, Part A
University of WashingtonAbout this Course
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessSkills you will gain
- Recursion
- Higher-Order Function
- Pattern Matching
- Functional Programming
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessOffered by
Syllabus - What you will learn from this course
Introduction and Course-Wide Information (Start Here)
Software Installation and Homework 0
Section 1 and Homework 1
Section 2 and Homework 2
Section 3 and Homework 3 -- and Course Motivation
Reviews
- 5 stars93.44%
- 4 stars5.45%
- 3 stars0.17%
- 2 stars0.11%
- 1 star0.81%
TOP REVIEWS FROM PROGRAMMING LANGUAGES, PART A
A great course, covering a wide range of topics in programming languages. Very well paces and Dan Grossman is an amazing teacher! Must watch for every programmer, beginner or experienced.
Instructor's strive for perfection really shows. The quality of content is top-notch; both for the video explanations and the pdfs. Definitely going to check out the other two parts as well.
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!
Instant favourite programming course. Great instructor and material, fun assignments, mind-bendy recursion, cool concepts you didn't know you wanted to know about. Learned a lot.
Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I purchase the Certificate?
Is financial aid available?
More questions? Visit the Learner Help Center.