Skip to content

Instantly share code, notes, and snippets.

@KC3000
Last active August 29, 2015 14:21
Show Gist options
  • Save KC3000/499a2051d306d741774a to your computer and use it in GitHub Desktop.
Save KC3000/499a2051d306d741774a to your computer and use it in GitHub Desktop.
Polyglot Curricula

Tutorial Outline

#1 About this tutorial (15mins) ##1.1 Should I take this tutorial? ##1.2 What's not covered?

#2 Haskell basics (15mins)

#3 Taking the vows (30 mins) ##3.1 Giving things up ##3.2 No mutable variables ##3.3 Isolate side-effects ##3.4 No loops ##3.5 No program order

##3.6 Build: Some simple code snippets

#4 A new expressiveness (1hr 30mins) ##4.1 What's in a Haskell program? ##4.2 Defining functions ##4.3 More simple function definitions ##4.4 Recursion ##4.5 Pattern matching ##4.6 Guards ##4.7 List Comprehensions ##4.8 Lazy evaluation I ##4.9 Lazy evaluation II ##4.10 First class functions (passing functions) ##4.11 First class functions (function factories)

##Build

#5 Modules and program structure (1hr) ##5.1 Basic syntax ##5.2 Haskell and literate Haskell ##5.3 The offside rule ##5.4 Scope of names ##5.5 Breaking down the problem ##5.6 Importing/exporting

##5.7 Build: Create several types of Trees and an AVL Tree

#{{ Lunch Break }}

#6 Advanced Topics (1hr 30 mins) ##6.1 Functors ##6.2 Applicative Functors ##6.3 Monads

##6.4 Build: Create Several Types of Trees and an AVL Tree using monads ##6.5 Dynamic Programming High Level Framework

#7 Resources and feedback (30mins) ##7.1 Articles & Books ##7.2 Feedback

8 Code Dojo: Hacking (1 hr)

#Spend the last hour playing and hacking with Haskell

I'm open to suggestions for other topics.Tutorial Outline

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment