-1+1364 
Introduction to Haskell

Haskell is a programming language that changes the way you think. Introduction to Haskell is being taught at the University of Virginia as a 1-credit pass/fail course offered this Spring 2013.

Lectures will be posted every Tuesday.

Lectures
  1. Lecture 1: An Unexpected Journey™

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

    http://shuklan.com/haskell/lec01.html

  2. Lecture 2: (["lists", "tuples"], "and data types")

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

  3. Lecture 3: types :: type1 → type2

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

  4. Lecture 4: #SyntaxSwag

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

  5. Lecture 5: Make Your Own Data Type

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

  6. Lecture 6: Maps, Folds, and Beyond

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

  7. Lecture 7: The Prolific Haskell Community

    Presents the Haskell community by introducing hackage and cabal.

  8. Lecture 8: Input/Output

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

  9. Lecture 9: Monads

    Enlightens the reader about Functors, Monoids, and Monads.

  10. Lecture 10: Haskell Development Methods

    Reinforces good programming practices in the world of Haskell.

  11. Lecture 11: Haskell in the Real World

    Demonstrates use of existing Haskell software.

Prerequisites

An introductory Computer Science course is recommend but not required. No previous Computer Science knowledge will be assumed. A curiosity of the topic is encouraged.

Syllabus

The syllabus is hosted here http://people.virginia.edu/~ns4av/syllabus/

Additional information

Textbooks

  1. Real World Haskell by Bryan O’Sullivan, Don Stewart, and John Goerzen

(Available online: http://book.realworldhaskell.org/ )

  1. Learn You a Haskell for Great Good! By Miran Lipovača

(Available online: http://learnyouahaskell.com/ )

Teacher qualifications

I'm a CS/Math major lecturing a 60-person class about Haskell at the University of Virginia.

Latest Update
Haskel Lecture 10 is Live (2013-03-26 17:20:21)

"Hey,

Lecture 10 is up! We have two more lectures left. Please provide feedback in the weekly homework forms.

Thanks, Nishant Shukla"

Roster
1. CarbonFire
2. noj
3. idsardi
4. duffball
5. notagardener
6. erkin
7. sheevyR
8. tostirik
9. jnotarstefano
10. ARMD79
11. Batenbat
12. shrutes
13. somadrop
14. rniemo
15. jamesmcm
16. winslosr
17. rniemo
18. Tritlo
19. viper1092
20. lulzury
21. cdated
22. UVgamma
23. raskchanky
24. broohaha
25. s063
26. SolarBear
27. arnolzz
28. Sanole
29. dfornika
30. edwinhere
31. dablya
32. speg
33. bigburrito
34. drozzy
35. cessationoftime
36. ams785
37. Chandru1
38. ganelo
39. parablepalace
40. chromesitar
41. liutanyu
42. huayra
43. sandeep.coder.k1
44. MatrixFrog
45. rprice96
46. screennames_are_hard
47. dpwiz
48. RedSeven4
49. SeriousJope
50. je_devrais_bosser
51. irene
52. twoolie
53. almondbutter
54. mauexemplo
55. speilberg0
56. folone
57. exlevan
58. shauryashaurya
59. Wedric
60. nordmo1
61. crazedgremlin
62. nickprince
63. angelicstrike
64. jhenahan
65. soegija
66. aqua_scummm
67. mr_root
68. stack_pivot
69. LordG
70. ozan291
71. alejandrogomez
72. Zvezdochet
73. b.amine23
74. dorsal
75. waywardbarnacle
76. azephyr
77. Lydia
78. thm
79. jawerty
80. wildptr
81. ion
82. dimday
83. Stuffing
84. codnik
85. tzakyrie
86. Kludgy
87. muffinshit
88. hvidgaard
89. jszwedko
90. forever_shadow
91. magtux
92. Emchemch
93. louiscipher
94. McMoop
95. SkillKillPhil
96. tlim
97. Alprh
98. thisismygame
99. Trkrtrk
100. vamega
101. efiish
102. jm2721
103. billybobfrog
104. Rakuen
105. ybespalko
106. qzpmwxin
107. Cephalic
108. biggums123
109. loki200
110. kalliknuddel
111. Filiped
112. AmundsenJunior
113. Disagreed
114. veselchun
115. tolaug
116. bulbul
117. skapazzo
118. squajbob
119. bacondev
120. qoberif
121. Clevertea
122. Akemi_Riverdepp
123. snth
124. la-chupacabra
125. DDMsage
126. madankumarj
127. MF248
128. arthur.ravet
129. alogic
130. SanderFuckingCohen
131. Jeltimab
132. kamaos5
133. jamreynaga
134. mayersean
135. wgillis
136. chasesan
137. aschlapsi
138. illusivedude
139. Adv23
140. boraca
141. I_Downvote_Cunts
142. Islambekm
143. windziarz
144. elizabeth7888
145. gaolathe
146. swapex
147. Needsmoresteel
148. Noox
149. frul
150. saw2th
151. koborivers
152. archlinuxrussian
153. redcarnage
154. Nilstorp
155. hraithe
156. vly
157. Khufuu
158. zoinkscooby
159. somethingmetal
160. smilefreak
161. onlyonebowman
162. Robcorp
163. Charobnjak32
164. mp3103
165. tnachen
166. gargogyle
167. tres_bien
168. aesptux
169. jimbanana
170. bobbysue22
171. timjstewart
172. dibs_m
173. xslamhoundx
174. psquid
175. bjarkehs
176. educ210student
177. addemf
178. brettveen
179. engartst
180. _rhythmx
181. tacman
182. rialmat
183. DwayneDavies
184. Galilyou
185. rdn
186. sv72
187. nuriaion
188. Holy_Shit_Stains
189. endofu
190. cfarlin83
191. StressfulPython
192. moonclad
193. wizzup
194. imperfectimage
195. Smyds
196. lalin1982
197. perosirisiperapis
198. DestinationVoid
199. jocosim
200. gulsan
201. h3xd4rt
202. DrewSmith
203. tabiul
204. xyendor
205. Samby
206. RolandStone
207. lambdaofgod
208. rlx777
209. pequod
210. chrischau
211. adrianmoses
212. pandaman2123
213. pengjianqing
214. camelite
215. freiheitkampfer
216. mk89
217. elhall
218. rohshall
219. nikvi87
220. ivanistheone
221. zbisch
222. pvinis
223. exceedhl
224. Handgemenge
225. reddg
226. Gix
227. someantics
228. typocrates
229. jgoot
230. heroesneverpanic
231. pcarreno
232. qiaoqiao2003
233. shameerc
234. NicoJuicy
235. rafadc
236. hyenagrins
237. richsin
238. qwv4851
239. deanstag
240. boothead
241. ehosca
242. gdfsfgdsfgdfg
243. Zolomon
244. snearch
245. pth
246. pmelendezu
247. llwybyr
248. burtonageo
249. arania
250. delthram
251. ecanals
252. swinarta
253. abhishek77
254. simsyeah
255. o0-0o
256. n2ishin
257. jasonwhite23
258. darkl07
259. uvi
260. Viehzeug
261. statichippo
262. TimCapello
263. axlc
264. crimsonredmk
265. afiore
266. genericzombie
267. sect
268. ncms1990
269. Infectious
270. ragingcake
271. ikeamoah
272. xbigdanx
273. gr3gg0r
274. imabrokendownload
275. samarkandz
276. leogang
277. darcrossito
278. cagirici
279. yoze15
280. showmeyourmoves
281. JPEG
282. budmademewiser
283. monotone_monochrome
284. TheGreatRawr
285. siwaphol
286. samwise
287. nmallinar
288. laughingdevil
289. RoastedMax
290. WearSunScreen
291. jachymb
292. marvsup
293. p3pt
294. iron__mind
295. AfternoonHoopla
296. koalalove
297. dracogriff
298. Forrest
299. ballju
300. crosby.seth
301. hzink
302. derpocaust
303. GiTTy
304. suhaib
305. randomg
306. jcc333
307. jbemmz
308. furioustyles
309. martensms
310. tech1337
311. Clemenreau
312. Carl_Miller
313. Ubupj
314. N0tAUsername
315. paulliwali
316. COOL_USERNAMES_ARE_TOUGH
317. besz
318. wongse
319. kcyan6
320. sjdonx2
321. QuentinMonek
322. pulcerrima
323. swapout
324. kshitijureddit
325. benwaffle
326. Legend
327. Tonon
328. sxwanzi
329. osal
330. NiharC
331. FredTheRobot
332. Shauta
333. goldenpie
334. dr34dl0ck
335. HHErebus
336. PineMaple
337. Jamhammer
338. Hamza20697
339. nikotine
340. akamch
341. imeatingseeds
342. ArsonistNightfire
343. Ultimate_Redditor56
344. maris
345. leontg
346. haberdasherflasher
347. bredfern
348. happysri
349. tudisco
350. empgodot
351. ArdRay
352. rdhananjaya
353. h4tch
354. inf98
355. faptothis
356. purplecrush
357. mattfieldy
358. saarinx
359. waelawada
360. Artemie_Smirnov
361. aboudib
362. Ars-Nocendi
363. alecfwilson
364. tobani
365. rubisco
366. neevor
367. strengthftw
368. UbuRedditor
369. Shanmuganandh
370. r1pp3rj4ck
371. Zonny
372. hath995