To support our site, Class Central may be compensated by some course providers.

Programming Languages, Part A

All-Time Top 50

University of Washington via Coursera

students interested
  • Provider Coursera
  • Subject Programming Languages
  • $ Cost Free Online Course (Audit)
  • Session Upcoming
  • Language English
  • Certificate Paid Certificate Available
  • Effort 8-16 hours a week
  • Start Date
  • Duration 5 weeks long

Taken this course? Share your experience with other students. Write review

Overview

Sign up to Coursera courses for free Learn how

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.

Taught by

Dan Grossman

Help Center

Most commonly asked questions about Coursera Coursera

Reviews for Coursera's Programming Languages, Part A
4.9 Based on 22 reviews

  • 5 stars 86%
  • 4 stars 14%
  • 3 star 0%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Mayank J
4.0 3 years ago
by Mayank completed this course, spending 15 hours a week on it and found the course difficulty to be very hard.
Wow! This was the hardest course I've ever taken in my entire Life! The course is really demanding (Specially if you are trying to solve the bonus questions!) But it was so worth it! Dan Grossman is one THE best teachers in the world hands down! It is one thing to know stuff and another to teach it well. Dan is both! Not only his knowledge is excellent he has no bias on what is best. He knows exactly what are the pros/cons of various programming languages and this course teaches you that very well.

You get to build a Type Checker in ML, you get to make your own programming languag…
8 people found
this review helpful
Was this review helpful to you? Yes
Chema C
5.0 4 years ago
by Chema completed this course, spending 6 hours a week on it and found the course difficulty to be hard.
This is a must course for all programmers. You must pass this course if you want to be called "programmer".
6 people found
this review helpful
Was this review helpful to you? Yes
Bruno L
5.0 3 years ago
by Bruno completed this course, spending 10 hours a week on it and found the course difficulty to be hard.
This is definitely one of the best courses available on Coursera. Very challenging and time consuming (not for beginners), but it will without doubt make you a better programmer.

The course uses SML, Racket an Ruby to teach you about concepts that can be applied to any programming languages. So, even if you don't know these 3 languages, the knowledge you acquire can easily be applied to any of your favorite languages.

Dan is an amazing teacher. If you're a serious programmer, you MUST take this course!
3 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 4 years ago
Anonymous completed this course.
'The' course to learn "programming".

If you want a mind bending experience, just take this course!

You get to write a Type Checker, A small interpreter, and a tetris game, using SML, Racket and Ruby respectively in 10 weeks. Moreover, Dan is an amazing teacher!
2 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 4 years ago
Anonymous completed this course.
Highly recommended for everyone interested in programming. Relevant not only for students, but also for experienced software developers.

A lot of things to learn here.
3 people found
this review helpful
Was this review helpful to you? Yes
Muhammad S
5.0 6 months ago
by Muhammad completed this course.
Easily one of the best courses I have ever taken. It provided me with the mental framework to be able to learn new languages quickly and be a better programmer overall. I would highly recommend it if you are serious about a career in software engineering.
Was this review helpful to you? Yes
Sky S
5.0 4 years ago
by Sky completed this course.
I struggled through and got 85%, and took forever to do it. I love the way he lays it out, it's a great framework for understanding programming languages altogether, just like it says on the tin.
Was this review helpful to you? Yes
Jake R
5.0 3 years ago
by Jake completed this course, spending 7 hours a week on it and found the course difficulty to be medium.
This course opened my mind to many of the different paradigms of programming and did so with comprehensive lectures, an incredible instructor, and useful/highly-illustrative assignments.
Was this review helpful to you? Yes
Anonymous
5.0 a year ago
Anonymous completed this course.
This was one of the best courses I have taken. I am extremely happy with it. It gives both usage and formalisation of basic concepts of statically typed functional programming.
Was this review helpful to you? Yes
Bugmenot B
5.0 3 years ago
by Bugmenot completed this course, spending 12 hours a week on it and found the course difficulty to be hard.
Loved this course, don't let the self-deprecating title fool you - it takes effort to complete. Be warned: You may become dissatisfied with popular programming languages.
Was this review helpful to you? Yes
Anonymous
5.0 a year ago
Anonymous completed this course.
I was skeptical due to choice of languages used to teach in this course but I'm glad I took this course. This is one of the best course for making you a better developer
Was this review helpful to you? Yes
Artem G
4.0 4 years ago
by Artem completed this course, spending 12 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? Yes
Maresu R
5.0 4 years ago
Maresu completed this course, spending 4 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? Yes
Robson P
5.0 4 years ago
by Robson completed this course, spending 14 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? Yes
Sam B
5.0 4 years ago
Sam partially completed this course, spending 8 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? Yes
Joseph R
4.0 a year ago
Joseph completed this course.
Was this review helpful to you? Yes
Đạt T
5.0 a year ago
by Đạt completed this course.
Was this review helpful to you? Yes
Ignat P
5.0 2 years ago
by Ignat completed this course.
Was this review helpful to you? Yes
Mark B
5.0 2 years ago
by Mark completed this course.
Was this review helpful to you? Yes
Kuronosuke K
5.0 3 years ago
Kuronosuke completed this course.
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.