<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head>
<title>Functional Programming</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
<link rel="shortcut icon" href="icon.ico" />
<script src="common_en.js" charset="utf-8" type="text/javascript"></script> 
<link rel="stylesheet" href="common.css" type="text/css" />
</head>
<body onload="javascript:resetForms(); javascript:slidy_init();">
<div><h1 class="cover">Functional Programming</h1>
<div id="info"></div>
<ul>
<li><a href="#introduction-to-haskell-bsc.">Introduction to Haskell (BSc.)</a></li>
<li><a href="#functional-languages-msc">Functional Languages (MSc)</a></li>
<li><a href="#previous-materials-for-functional-languages-msc">Previous materials for Functional Languages (MSc)</a></li>
<li><a href="#additional-information">Additional Information</a></li>
</ul>
</div>
<p><em><a href="Index.xml">Magyar változat</a></em></p>
<p><a href="AboutHaskell_en.xml">About Haskell</a></p>
<section id="introduction-to-haskell-bsc." class="level1">
<h1>Introduction to Haskell (BSc.)</h1>
<p><a href="AboutCourse_en.xml">Course information</a></p>
<dl>
<dt>The Haskell Interpreter</dt>
<dd><a href="Syntax_en.xml">Numbers</a> | <a href="Conversion_en.xml">Conversions</a> | <a href="Bools_en.xml"><code>Bool</code></a> | <a href="Lists_en.xml">Lists</a> | <a href="Comprehensions_en.xml">List Comprehensions</a>
</dd>
<dt>Basic Language Constructs</dt>
<dd><a href="Definitions_en.xml">Definitions</a> | <a href="Patterns_en.xml">Pattern Matching</a> | <a href="Recursion_en.xml">Recursion</a> | <a href="Guards_en.xml">Guards</a> | <a href="Where_en.xml"><code>where</code></a>
</dd>
<dt>Additional</dt>
<dd><a href="Middle_en.xml">Diagrams</a>
</dd>
</dl>
</section>
<section id="functional-languages-msc" class="level1">
<h1>Functional Languages (MSc)</h1>
<p><a href="FL_AboutCourse_en.xml">Course information</a></p>
<p>Updates:</p>
<ul>
<li>No updates yet.</li>
</ul>
<p>Topics:</p>
<ul>
<li><p>Haskell basics, function definitions</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/introduction#so-whats-haskell">learnyouahaskell.com Section “So what’s Haskell?”</a></li>
<li><a href="http://learnyouahaskell.com/starting-out#babys-first-functions">learnyouahaskell.com Section “Baby’s first functions”</a></li>
</ul>
Further reading:
<ul>
<li><a href="http://book.realworldhaskell.org/read/types-and-functions.html">Real World Haskell Chapter “Types and Functions”</a></li>
</ul></li>
<li><p>Base types, tuples, function types</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/types-and-typeclasses#believe-the-type">learnyouahaskell.com Section “Believe the type”</a></li>
<li><a href="http://learnyouahaskell.com/starting-out#tuples">learnyouahaskell.com Section “Tuples”</a></li>
</ul></li>
<li><p>Lists</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/starting-out#an-intro-to-lists">learnyouahaskell.com Section “An intro to lists”</a></li>
<li><a href="http://learnyouahaskell.com/starting-out#texas-ranges">learnyouahaskell.com Section “Texas ranges”</a></li>
<li><a href="http://learnyouahaskell.com/starting-out#im-a-list-comprehension">learnyouahaskell.com Section “I’m a list comprehension”</a></li>
</ul></li>
<li><p>Pattern matching</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/syntax-in-functions#pattern-matching">learnyouahaskell.com Section “Pattern matching”</a></li>
</ul>
Further reading:
<ul>
<li><a href="http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html#deftypes.pattern">Real World Haskell Section “Pattern matching”</a></li>
</ul></li>
<li><p>Recursion</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/syntax-in-functions#guards-guards">learnyouahaskell.com Section “Guards, guards!”</a></li>
<li><a href="http://learnyouahaskell.com/recursion#hello-recursion">learnyouahaskell.com Section “Hello recursion!”</a></li>
<li><a href="http://learnyouahaskell.com/recursion#maximum-awesome">learnyouahaskell.com Section “Maximum awesome”</a></li>
<li><a href="http://learnyouahaskell.com/recursion#a-few-more-recursive-functions">learnyouahaskell.com Section “A few more recursive functions”</a></li>
<li><a href="http://learnyouahaskell.com/recursion#thinking-recursively">learnyouahaskell.com Section “Thinking recursively”</a></li>
</ul>
Further reading:
<ul>
<li><a href="http://book.realworldhaskell.org/read/functional-programming.html#fp.loop">Real World Haskell Section “How to think about loops”</a></li>
</ul></li>
<li><p>Polymorhism</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/types-and-typeclasses#type-variables">learnyouahaskell.com Section “Type variables”</a></li>
</ul>
Further reading:
<ul>
<li><a href="http://book.realworldhaskell.org/read/types-and-functions.html#funcstypes.polymorphism">Real World Haskell Section “Polymorphism in Haskell”</a></li>
</ul></li>
<li><p>Lambda functions, higher order functions</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/higher-order-functions#curried-functions">learnyouahaskell.com Section “Curried functions”</a></li>
<li><a href="http://learnyouahaskell.com/higher-order-functions#maps-and-filters">learnyouahaskell.com Section “Maps and filters”</a></li>
<li><a href="http://learnyouahaskell.com/higher-order-functions#lambdas">learnyouahaskell.com Section “Lambdas”</a></li>
</ul>
Further reading:
<ul>
<li><a href="http://book.realworldhaskell.org/read/functional-programming.html#id592265">Real World Haskell Section “Transforming every piece of input”</a></li>
<li><a href="http://book.realworldhaskell.org/read/functional-programming.html#id592470">Real World Haskell Section “Mapping over a list”</a></li>
<li><a href="http://book.realworldhaskell.org/read/functional-programming.html#fp.filter">Real World Haskell Section “Selecting pieces of input”</a></li>
<li><a href="http://book.realworldhaskell.org/read/functional-programming.html#id593448">Real World Haskell Section “Why use folds, maps, and filters?”</a></li>
</ul></li>
<li><p>Defining new data types</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/making-our-own-types-and-typeclasses#algebraic-data-types">learnyouahaskell.com Section “Algebraic data types”</a></li>
</ul>
Further reading:
<ul>
<li><a href="http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html#deftypes.data">Real World Haskell Section “Defining a new data type”</a></li>
</ul></li>
<li><p>Defining parametric data types</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/making-our-own-types-and-typeclasses#type-parameters">learnyouahaskell.com Section “Type parameters”</a></li>
</ul></li>
<li><p>Typeclasses</p>
Mandatory reading:
<ul>
<li><a href="http://learnyouahaskell.com/types-and-typeclasses#typeclasses-101">learnyouahaskell.com Section “Typeclasses 101”</a></li>
<li><a href="http://learnyouahaskell.com/making-our-own-types-and-typeclasses#typeclasses-102">learnyouahaskell.com Section “Typeclasses 102”</a></li>
</ul></li>
</ul>
</section>
<section id="previous-materials-for-functional-languages-msc" class="level1">
<h1>Previous materials for Functional Languages (MSc)</h1>
<ul>
<li><a href="FL_Expressions_en.xml">Expressions and Types</a></li>
<li><a href="FL_FunDef_en.xml">Function Definitions</a></li>
<li><a href="FL_ADT_en.xml">Data Type Definitions</a></li>
<li><a href="FL_TypeClasses_en.xml">Type Classes</a></li>
<li><a href="FL_Monads_en.xml">Monadic Programming</a></li>
<li><a href="FL_Files_en.xml">I/O</a></li>
</ul>
</section>
<section id="additional-information" class="level1">
<h1>Additional Information</h1>
<p><a href="Warmup_en.xml#haskell-warmup">Haskell Warmup</a></p>
<p><a href="Warmup_en.xml#haskell-blog-posts">Haskell Blog Posts</a></p>
<p><a href="Warmup_en.xml#agda">Agda</a></p>
</section>
</body>
</html>

