7 ms·
I'm teaching an introductory 12-week class on Haskell
- Jasdev 14y agoenrolled!
- btian 14y agoLooks like it's going to be a great course! On an unrelated note, how did you generate the slides? They're very cool.
- zalew 14y agorevealjs https://news.ycombinator.com/item?id=5025839 https://news.ycombinator.com/item?id=5025839
- BinRoo 14y agoHere's my source code https://github.com/BinRoot/Haskell-Lectures https://github.com/BinRoot/Haskell-Lectures
- jfb 14y agoI'm not a fan of slides presented sans context, but these are very nicely done.
- bmcfeeley 14y agoWas just hit with the desire to learn more about Haskell this weekend, after stumbling on some notes from a Language Paradigms class in school...can't wait to check this out!
- nicholasjarnold 14y agoFavorite pairs from the 'X as seen by Y' slide: {{Java, C}, {C, Java}, {PHP, Java}, {Ruby, Java}, {PHP, Ruby}}
- lawn 14y agoYet another attempt/excuse for learning Haskell!
- why-el 14y agoGreat work so far. I like the organization. Any plans to release video lectures?
- cies 14y ago+1 for video.
- Benferhat 14y ago+1, does UVA do any kind of OpenCourseWare[0]? [0] http://www.ocwconsortium.org/ http://www.ocwconsortium.org/
- eLobato 14y ago+1 for videos. They make it much more enjoyable but it can be a lot of work :( Are you going to publish quizzes and assignments?
- hamidr 14y ago+1 for video.
- misframer 14y agoI'm taking this course next semester at UVa. Can't wait!
- BinRoo 14y agoGet excited!
- akurilin 14y agoWill you be sending out email reminders when every new lecture is posted? I'd love to follow along, but find it very hard to remember all of the classes I subscribed to.
- pohl 14y agoAwesome! Thanks for posting about this. I just started Erik Meijer's 13-lecture video series on Channel 9, and look forward to bolster my learning with your course. Every slide has a secret note Any idea how to show that on something like an iPad? Once per day to see the alt text on xkcd is already too much to bear.
- JoshTriplett 14y ago> Once per day to see the alt text on xkcd is already too much to bear. Try the mobile site, m.xkcd.com; it has a clickable "alt-text" link to reveal the alt text in-page.
- brian_c 14y agoYou can turn on Safari's awful console in the Settings app, I think under "advanced".
- gtani 14y agoThe Stanford course notes are fantastic, also http://www.scs.stanford.edu/11au-cs240h/notes/ http://www.scs.stanford.edu/11au-cs240h/notes/ https://github.com/bos/stanford-cs240h https://github.com/bos/stanford-cs240h
- nanook 14y agoI'm having a hard time keeping up with all these awesome classes. Coursera's PL class is starting in a few days: https://www.coursera.org/course/proglang https://www.coursera.org/course/proglang Brown's Intro to PL class: http://cs.brown.edu/courses/cs173/2012/Videos/ http://cs.brown.edu/courses/cs173/2012/Videos/
- l_tonz 14y agofirst time I learned Haskell it was great; gave me a new insight on how to think differently while coding other languages.
- xiaoma 14y agoVery nice. Was this of your own initiative or was it the department?
- BinRoo 14y agoThank you! Yes, this was my own initiative.
- angrycoder 14y agoReally? A picture of a kid with Down's Syndrome wearing a Superman outfit?
- DanBC 14y agoOn this slide. (http://shuklan.com/haskell/lec01.html#/0/6 http://shuklan.com/haskell/lec01.html#/0/6) It's not a good slide.
- BinRoo 14y agoApparently I overlooked that when I found it online. The image is now modified. Thank you pointing this out.
- mahmud 14y agoAnd the original image has a Lisp column, conveniently removed from this one ;-) http://kuehnast.com/s9y/uploads/langs.jpg http://kuehnast.com/s9y/uploads/langs.jpg
- alexakarpov 14y agowell it does get the point across. Should he also edit out the one with a person with higher than average body fat, so that we don't risk upsetting any people with higher than average body fat?
- misleading_name 14y agoAwesome. Learning Haskell has been on my list for a long time, and I really appreciate that both books are available for free online. Thanks!
- Silhouette 14y agoNice presentation. Friendly notes: 1. Ctrl+Shift+K opens the web console in Firefox, not your secret notes. 2. Please don't present naive "quicksort" in Haskell as equivalent to a real quicksort unless you're also going to prove that the cute Haskell example is as efficient in all senses as the in-place C implementation. (Good luck with that, as my American friends say.)
- BinRoo 14y agoIn regard to your second point, I completely agree. I'm considering ways to rephrase that part.
- eranation 14y agoGreat mobile support by the way. But regarding secret notes, although reveal.js and bootstrap looks great on mobile, there is no way that I could find to view the secret note on Android chome...
- pandeiro 14y agoMaybe on Android 4.x, but on older devices, it's useless. The slides do not auto-fit the screen.
- hellerbarde 14y agore 1: yes, that's where the secret notes are.
- asimjalis 14y agoIt’s beautiful. How did you create the slides?
- deleted 14y ago[deleted]
- jrogers65 14y agoCould you make these available for download, by any chance?
- rheeseyb 14y ago"Nothing is evaluated unless necessary head (sort ls) The list will only be sorted enough to find the minimum" This may be technically true, but is a pretty bad example with much hand waving - what exactly does it mean to be "sorted enough to find the minimum" given that Haskell uses a merge sort implementation internally? A better example of Haskell's lazy nature (taken from the Learn You A Haskell book) would be: take 10 (repeat 5) - it's very easy to comprehend taking the first 10 elements of an infinitely long list without needing to compute the entire list.
- Kutta 14y agoYep, the "sort only to get head" trick only works fully with selection sort, where it reduces complexity from O(n^2) to O(n) (reduces to a simple max/min). But it also confers some advantage in the case of standard merge sort: the last two sorted sublists will not be merged. Regarding "repeat", I find it pretty much awesome that it is implemented as a circular linked list with a single element, as in: repeat x = xs where xs = x : xs which ensures that it will take up constant space no matter how "far" in it is evaluated.
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- nnq 14y agoplease, replace the slide 6 pic with this one: http://4.asset.soup.io/asset/0750/2820_15d5_960.jpeg http://4.asset.soup.io/asset/0750/2820_15d5_960.jpeg (you can't just pretend Lisp doesn't exist, you know ;) )
- shocks 14y agoThis looks awesome. Thanks! I will definitely be following along.
- shocks 14y agoBeautiful slides. :)
- gtani 14y agoMay want a few pointers to a huge number of tutorials and books: http://www.haskell.org/haskellwiki/Meta-tutorial http://www.haskell.org/haskellwiki/Meta-tutorial http://www.haskell.org/haskellwiki/Tutorials http://www.haskell.org/haskellwiki/Tutorials Unfortunately, the wiki for books is out of date, I would suggest looking at those by Thompson (3rd ed), Hutton, Bird (Pearls of Functional), Hudak: http://haskell.cs.yale.edu/testnewtemplate/ http://haskell.cs.yale.edu/testnewtemplate/ also lots of cheats: http://qiita.com/items/008c8a3859d432c39823 http://qiita.com/items/008c8a3859d432c39823
- mitchi 14y agoNice presentation. Did you use a tool to create the slides?