CIS 554 Resources
Fall 2014, David Matuszek

Required

Clicker

Clicker -- Available from the campus bookstore for approximately $50.

Yes, these are overpriced, but I do require them.

Yes, there are phone apps that are supposed to emulate clickers, but our experience with them so far has not been good. Get the real thing.

Suggested (not required) Books

Seven Languages in Seven Weeks

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
by Bruce A. Tate

The e-book alone is $16.50 (at Amazon) and the paper book is $25.34.

Seven More Languages in Seven Weeks

Seven More Languages in Seven Weeks:Languages That Are Shaping the Future
by Bruce A. Tate et al.

The paper book will not be available until October 25, but you can get it now as an e-book. The e-book alone is $25 and the e-book + paper book is $48.

General

A Brief, Incomplete, and Mostly Wrong History of Programming Languages
http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html
How Not to Write FORTRAN in Any Language
(In author's view, "writing Fortran" = "writing bad programs")
http://queue.acm.org/detail.cfm?id=1039535
Revenge of the Nerds
(How languages are becoming more Lisp-like)
http://www.paulgraham.com/icad.html
The Theory and Practice of Concurrency (600 pages)
http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CBYQFjAA&url=http%3A%2F%2Fwww.comlab.ox.ac.uk%2Fbill.roscoe%2Fpublications%2F68b.pdf&ei=fM7uS77XDIT78Ab6x9D9Cg&usg=AFQjCNEIgpQyEtBndLXhQMp-J102CatdqQ&sig2=qGULMDlXJPp8aKAEBj8nZw (PDF)
Java, Don't Make Long Term Plans
http://blog.borud.no/2010/10/java-dont-make-long-term-plans.html

Io

Io download
http://github.com/stevedekorte/io/zipball/master
Io Programming Guide
http://www.iolanguage.com/scm/io/docs/IoGuide.html
Io Reference
http://www.iolanguage.com/scm/io/docs/reference/index.html
Io -- The Unofficial Website
http://iolanguage.org/documentation

Prolog

SWI-Prolog 6.6.6 download
http://www.swi-prolog.org/download/stable
Adventure in Prolog
http://www.amzi.com/AdventureInProlog/advfrtop.htm
SWI-Prolog 6.6.6 Reference Manual (PDF)
http://www.swi-prolog.org/download/stable/doc/SWI-Prolog-5.10.1.pdf

Erlang

Erlang download
http://www.erlang.org/download.html
Getting Started with Erlang User's Guide
http://www.erlang.org/documentation/doc-5.8.1/doc/getting_started/users_guide.html
Erlang Reference Manual
http://www.erlang.org/doc/reference_manual/users_guide.html
Erlang OTP Reference Index (where to find what functions are available)
http://www.erlang.org/doc/man/
A Concise Guide to Erlang (by Dr. Dave)
../ConciseGuides/concise-erlang.html
Installing Erlang on Mac OS X
http://sacharya.com/erlang-on-mac-osx/
Erlang Documentation
http://www3.erlang.org/documentation/doc-5.7.5/doc/
Learn You Some Erlang for Great Good
http://learnyousomeerlang.com/
Tutorial: Learning Erlang – just the basic basics -- Giant Flying Saucer
http://giantflyingsaucer.com/blog/?p=251
Erlang for C, C++ and Java Programmers
http://tamale.net/erlang/tutorial.shtml
Concurrent Programming in ERLANG
http://ftp.sunet.se/pub/lang/erlang/download/erlang-book-part1.pdf
Getting Started with Erlang
http://www3.erlang.org/documentation/doc-5.7.2/doc/getting_started/part_frame.html (v. 5.7.2)
Erlang Style Concurrency
http://www.defmacro.org/ramblings/concurrency.html
Erlang Community Site
http://trapexit.org/
CACM article on Erlang
http://cacm.acm.org/magazines/2010/9/98014-erlang/fulltext

Clojure

Clojure download
http://clojure.org/downloads
Getting started
http://clojure.org/getting_started
Casting SPELs in Lisp (Clojure version)
http://www.lisperati.com/clojure-spels/casting.html
Quick Ref for Clojure Core
http://clojuredocs.org/quickref/Clojure%20Core
"Official" Clojure Cheat Sheet
http://clojure.org/cheatsheet (also available as PDF)
Other cheat sheets
http://devcheatsheet.com/tag/clojure/
Clojure - Functional Programming for the JVM
http://java.ociweb.com/mark/clojure/article.html
 
The Eternal Flame (Julie Ecklar)
Music at http://www.youtube.com/watch?v=5-OjTPj7K54
Lyrics at http://www.songworm.com/lyrics/songworm-parody/EternalFlame.html
The Nature of Lisp
http://www.defmacro.org/ramblings/lisp.html
Revenge of the Nerds
http://www.paulgraham.com/icad.html
Clojure: Functional Programming
http://clojure.org/functional_programming

Haskell

Download and install Haskell (GHC)
http://hackage.haskell.org/platform/
Download and install Haskell (HUGS)
http://cvs.haskell.org/Hugs/pages/downloading.htm
Learn you a Haskell for Great Good
http://learnyouahaskell.com/
Introduction to Haskell (HUGS)
http://www.iceteks.com/articles.php/haskell
Yet Another Haskell Tutorial (HUGS)
http://alturl.com/g54hi

Scala

Trait Suite
(A good starting point for reading about scalatest)
http://www.scalatest.org/scaladoc/doc-1.0/org/scalatest/Suite.html
Trait ShouldMatchers (the really cool stuff)
http://www.scalatest.org/scaladoc/doc-1.0/org/scalatest/matchers/ShouldMatchers.html