Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Online Course

Introduction to Functional Programming

Delft University of Technology via edX

Overview

Broadly speaking, functional programming is a style of programming in which the primary method of computation is the application of functions to arguments. Among other features, functional languages offer a compact notation for writing programs, powerful abstraction methods for structuring programs, and a simple mathematical basis that supports reasoning about programs.

Functional languages represent the leading edge of programming language design, and the primary setting in which new programming concepts are introduced and studied. All contemporary programming languages such as Hack/PHP, C#, Visual Basic, F#, C++, JavaScript, Python, Ruby, Java, Scala, Clojure, Groovy, Racket, … support higher-order programming via the concept of closures or lambda expressions.

This course will use Haskell as the medium for understanding the basic principles of functional programming. While the specific language isn't all that important, Haskell is a pure functional language so it is entirely appropriate for learning the essential ingredients of programming using mathematical functions. It is also a relatively small language, and hence it should be easy for you to get up to speed with Haskell.

Once you understand the Why, What and How that underlies pure functional programming and learned to “think like a fundamentalist”, we will apply the concepts of functional programming to “code like a hacker” in mainstream programming languages, using Facebook’s novel Hack language as our main example. This course assumes no prior knowledge of functional programming, but assumes you have at least one year of programming experience in a regular programming language such as Java, .NET, Javascript or PHP.

LICENSE
The course materials of this course are Copyright Delft University of Technology and are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike (CC-BY-NC-SA) 4.0 International License.

Taught by

Erik Meijer

Reviews

4.2 rating, based on 11 reviews

Start your review of Introduction to Functional Programming

  • Anonymous

    Anonymous completed this course.

    First you have to understand that this course is not about Haskell - indeed it seems as if Erik not only dropped Microsoft but all his former passion for pure FP and Haskell. But this would not be the problem - the course is about FP and that would be...
  • Wei E.

    Wei completed this course, spending 6 hours a week on it and found the course difficulty to be medium.

    FP101x has excellent exercises, labs and lectures. Prof. Erik Meijer has done a great job of going through the material in this course. Overall I found the course instrumental to improving my understanding of functional programming. On the other hand,...
  • Anonymous

    Anonymous is taking this course right now.

    This is a fun course on the basics of Functional Programming, primarily using Haskell. I'm liking it. Eric Meijer is an engaging lecturer (sort of endearingly awkward) and the quizzes and homework are excellent. It's challenging without being super-difficult...
  • Chema is taking this course right now, spending 7 hours a week on it and found the course difficulty to be hard.

  • Profile image for Alain Schwab
    Alain S.

    Alain completed this course.

  • Gustavo completed this course, spending 10 hours a week on it and found the course difficulty to be hard.

  • Kuronosuke

    Kuronosuke completed this course.

  • Mark completed this course.

  • Niklas is taking this course right now.

  • Denis completed this course.

  • Daniel completed this course.

Related Courses

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.

Sign up for free