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
Dan is a great teacher and the course material is very well organized and informative. Highly recommend this course to people who'd like to understand the principles of programming language.
Awesome course. A wonderful introduction to statically typed functional programming with a simple and concise language. After I took this course, Scala started to make more sense.
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.
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.
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.