Haskell Fundamentals Training Course

Overview

This course covers the basics of Haskell programming language.

The course introduces the ideas of Functional Programming and teaches the essential concepts of it, and by this introduces the student to the Haskell programming language. The course explores the fundamental differences with imperative programming and teaches the skill of thinking functionally.

Students should expect to learn all the necessary tools and concepts to start writing and understanding simple Haskell programs.

Requirements

Familiarity with at least one other programming language. Programming experience.

Course Outline

Introduction to Haskell

  • Platform and tools
  • Hello World program
  • A bit of history

Haskell syntax

  • Functions
  • Case distinction and pattern matching
  • Layout (indentation)
  • Control structures (if, case, let, where)

Type system

  • Basic types
  • Simple function types
  • Polymorphism
  • Higher order functions
  • Custom types
  • Numbers in Haskell
  • Type classes

Building programs

  • IO handling
  • Module system
  • Packages and libraries
  • Compiling applications

Examples and case studies

  • Eight queens puzzle in Haskell
  • Dynamic programming and memoization in Haskell
  • Simplified parsing of CSV files
  • An HTTP client

Leave a Reply

Your email address will not be published. Required fields are marked *