WEBVTT

00:00:07.000 --> 00:00:10.000
Imagine programming with only pure functions.

00:00:12.000 --> 00:00:13.500
Imagine programs that are shorter,

00:00:14.000 --> 00:00:16.000
more elegant, easier to reason about,

00:00:16.500 --> 00:00:20.000
and better to execute in parallel on modern manycore processors

00:00:20.250 --> 00:00:21.900
and massive datacenters.

00:00:22.000 --> 00:00:25.000
You've just imagined functional programming.

00:00:25.500 --> 00:00:29.000
In this introduction to functional programming in Haskell

00:00:30.000 --> 00:00:31.900
you will learn powerful functional programming techniques

00:00:32.000 --> 00:00:33.500
such as 

00:00:33.800 --> 00:00:35.000
immutable data structures,

00:00:35.250 --> 00:00:36.000
higher order functions, 

00:00:36.100 --> 00:00:36.900
and lambdas.

00:00:37.100 --> 00:00:40.500
Learning functional programming will make you a better programmer

00:00:40.750 --> 00:00:42.750
whatever the language you use.

00:00:43.000 --> 00:00:46.900
These are just some of the reasons why functional programming is growing in popularity.

00:00:47.200 --> 00:00:52.250
Smashing Magazine describes functional as 'the hipster of programming paradigms'.

00:00:54.000 --> 00:00:56.750
All major tech companies are adopting functional programming techniques,

00:00:57.000 --> 00:00:58.500
whether it's Scala at Twitter,

00:00:59.000 --> 00:01:00.750
MapReduce at Google, 

00:01:01.000 --> 00:01:02.000
or Haskell at Facebook.

00:01:02.500 --> 00:01:07.000
In fact, early work on the Haskell functional programming language took place here

00:01:07.750 --> 00:01:09.000
at the University of Glasgow,

00:01:09.250 --> 00:01:11.500
and we've been teaching it to our
undergraduate 

00:01:11.750 --> 00:01:13.500
Computing Science students for many years.

00:01:14.000 --> 00:01:18.000
This course is aimed at people who have some prior programming experience

00:01:18.250 --> 00:01:21.000
but want to discover functional programming for themselves.

00:01:21.500 --> 00:01:23.000
We introduce the Haskell language

00:01:23.250 --> 00:01:27.500
with interactive tutorials and practical programming exercises.

00:01:28.000 --> 00:01:32.250
We'll take you from the basics through to advanced features of functional programming.

00:01:32.500 --> 00:01:36.500
And don't worry, we'll deconstruct all the alarming buzzwords and phrases

00:01:36.750 --> 00:01:37.400
from lambda calculus

00:01:37.700 --> 00:01:39.000
to monads.

00:01:39.500 --> 00:01:43.000
Also, in a series of exclusive interviews with key Haskell language designers, 

00:01:43.500 --> 00:01:45.500
we will explore the history, present status and 

00:01:45.800 --> 00:01:49.000
future prospects of functional programming.

00:01:49.750 --> 00:01:52.000
Functional languages are becoming more and more popular.

00:01:52.500 --> 00:01:56.000
All mainstream languages are incorporating functional constructs.

00:01:56.700 --> 00:02:00.000
So now is the time to begin functional programming in Haskell.

00:02:01.000 --> 00:02:04.000
We hope you'll join us on this course.
