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
An excellent course! Make sure you really have enough time to take this course. There are a lot of videos, but they worth watching. I'd recommend this course to everyone involved in programming.
Excellent course! I learned the basic concepts of functional programming which I feel will be useful throughout my entire career, event when not writing functional code.
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.
Exceptionally well thought-through content taught by a highly motivating teacher. Without doubt one of the best courses I have taken on Coursera so far. Demanding and very rewarding!
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.