Save for later

Introduction to Functional Programming

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.

What you'll learn

  • Understand the Why, What and How that underlies pure functional programming, and learn to “think like a fundamentalist”
  • Apply the concepts of functional programming to “code like a hacker” in mainstream programming languages
  •  

Get Details and Enroll Now

OpenCourser is an affiliate partner of edX and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.1 based on 11 ratings
Length 4 weeks
Effort 4 weeks, 4–6 hours per week
Starts On Demand (Start anytime)
Cost $0
From Delft University of Technology (TU Delft), DelftX, Delft University of Technology via edX
Instructor Erik Meijer
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science Engineering

Get a Reminder

Send to:

Similar Courses

What people are saying

functional programming

This is a fun course on the basics of Functional Programming, primarily using Haskell.

former passion for pure

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.

dropped microsoft but

improving my understanding

Overall I found the course instrumental to improving my understanding of functional programming.

being super-difficult

It's challenging without being super-difficult and I think I'm learning a lot.

endearingly awkward

Eric Meijer is an engaging lecturer (sort of endearingly awkward) and the quizzes and homework are excellent.

it 's challenging without

engaging lecturer ( sort

Careers

An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Programming Coordinator 1 $54k

Programming Acquisitions $61k

CNC Programming $70k

Programming advisor $72k

Network Programming $78k

NC Programming $79k

functional testing $87k

DBA - Programming $103k

Gameplay Programming $120k

IT and Programming Specialist $122k

Programming Producer $129k

Functional Controller $146k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.1 based on 11 ratings
Length 4 weeks
Effort 4 weeks, 4–6 hours per week
Starts On Demand (Start anytime)
Cost $0
From Delft University of Technology (TU Delft), DelftX, Delft University of Technology via edX
Instructor Erik Meijer
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science Engineering

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now