FP101x: Introduction to Functional Programming

DelftX

The aim of this course is to teach the foundations of functional programming and how to apply them in the real world.

About this Course

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 3.0 Netherlands License.

Course Staff

  • Erik Meijer

    This course will be taught by Erik Meijer, founder of Applied Duality, Inc. and professor of Cloud Programming at TUDelft. He is perhaps best known for his contributions to programming languages such as Haskell, C#, Visual Basic, and Hack, and his work on LINQ and the Rx Framework.

会期:
  • 2014年10月15日, 6 星期
介绍:
  • 免费:
  • 收费:
  • 证书:
  • MOOC:
  • 视频讲座:
  • 音频讲座:
  • Email-课程:
  • 语言: 英语 Gb

反馈

目前这个课程还没有反馈。您想要留第一个反馈吗?

请注册, 为了写反馈

已经在列表:
Small-icon.hover Functional Programming
Материалы по функциональному программированию
还有edX:
967eee29-87e8-4f2d-9257-a1b38ec07e85-2ad0c7c92b16.small IoT Sensors and Devices
Explore various IoT devices and sensor types, how they work, and how we connect...
8c411679-4105-4de9-8a4c-9c5b3f4a33a6-0cf4f35d9692.small The Architectural Imagination
Learn fundamental principles of architecture — as an academic subject...
E56e7660-bc94-46fd-95c5-ae3f765da60c-013a6523f53d.small Model-Based Automotive Systems Engineering
Learn how to model and simulate system dynamics in automotive engineering Modeling...
C9d14131-a515-462b-82e2-6eaec5bc1c17-f7c5de2ca2ae.small Using Python for Research
Take your introductory knowledge of Python programming to the next level and...
3b15de0f-832c-4474-b9c8-1fd1b398d372-d0b00b9d9f77.small Customer-Centric Innovation
Learn to take on competition by creating successful and innovative ideas for...

© 2013-2019