A Fresh Perspective On Programming Languages From Coursera
Written by Lucy Black   
Thursday, 24 May 2018

A highly acclaimed course that teaches programming language concepts with an emphasis on functional programming restarts on May 28th. Aimed at those with some programming experience, it is now presented in three short modules that use SML, Racket and Ruby respectively. 


Programming Languages comes from the University of Washington and, with a rating of 4.9 out of 5 is one of Class Central's Top 50 Free Online Courses of All Time, in terms of its popularity,Course instructor, Professor of Computer Science, Dan Grossman has taught this course there since 2003 and his department’s undergraduate students have twice elected him “teacher of the year” twice and awarded him second place on a further occasion. 

The online version of the course first appeared on Coursera in 2013 where it was originally a 10-week course. One of the earliest 5-star review it received was:

'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!

A student who devoted 10 hours a week to this version found the course difficulty to be hard, saying:

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 and 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! 

According to its course description:

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.

Since 2016 the course has been split into three with Part A lasting 5 weeks and Parts B and C each 3 weeks long with 8-16 hours per week required. For each part you need to install a language - SML, Racket and Ruby - and use it for programming assignments.

The advantages of the division into three is that students can have some breathing space between the modules which each reach intermediate milestones and gain credit for three courses at the end of the day. On the other hand you need to pay for three courses if you want the full experience and certificates as only a limited amount of content is free. A recent review suggests that students feel it is worth the outlay:

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.


More Information

Programming Languages, Part A

Top 50 Free Online Courses

Related Articles

Online Master Of Computer Science Degrees From Coursera

MOOC On Functional Programming Using Haskell

Scala Specialization On Coursera

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



What Is the Shift-Left Approach in DevOps?

The short answer is that it is a methodology that brings software testing into earlier stages of the software development lifecycle. We look at the importance of this new approach and how to impl [ ... ]

GitHub Is Retiring Atom

GitHub has announced that it is shutting down the Atom editor in six months time. Why is it doing this and what should its users do?

More News





or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 24 May 2018 )