Introduction to Haskell

University of Virginia  CS 1501 Lectures  Spring 2013

UVA Class Projects:


Lectures:


Lecture 1



Outlines class structure, syllabus, grading policies, and reference text. Introduces the origin and theory behind Haskell.

Lecture 2



Introduces Lists and Tuples, the most important data structures in Haskell.


Lecture 3



Explores Haskell's strong Type system and Typeclasses. Along the way, covers the concept of Currying and emphasizes modular coding.




Lecture 4



Covers proper syntax in writing longer Haskell code. Introduces pattern matching and guards.




Lecture 5



Shows how to create your own data types to customize Haskell for you needs. Also covers record syntax, type parameters, and modules.




Lecture 6



Investigates higher order functions such as maps, filters, folds, and a whole lot more.




Lecture 7



Presents the Haskell community by introducing hackage and cabal.




Lecture 8



Begins the journey to investigate the IO Monad, covering basic input and output.




Lecture 9



Enlightens the reader about Functors, Monoids, and Monads.




Lecture 10



Reinforces good programming practices in the world of Haskell.




Lecture 11



Demonstrates use of existing Haskell software.




Lecture 12



Concludes this lecture series with a primer to Category Theory.