Coder Social home page Coder Social logo

cis-194-winter-2016's Introduction

CIS194: Winter 2016

Click here to chart your progress through the course.

Schedule

Week Lecture Assignment Due Due Presenter
1 Introduction to Haskell cc numbers, hanoi Jan. 14
2 Algebraic Data Types log parsing Jan. 21
3 Recursion patterns, polymorphism, and the Prelude code golf Jan. 28
4 Parametric Polymorphism BST, recursion Feb. 4 Sean Shubin (Type Classes)
5 More polymorphism and type classes calculator Feb. 11 Mary Flagstad (Streams)
6 Lazy evaluation streams Feb. 18 Greg Wiley (Monoids)
7 Monoids, I/O markets, JSON Feb. 25 Joe Vargas (Functor)
8 Functors Applicative functors (part 1) parsers, part one Mar. 3 Hal Arnold (Applicative Functors)
9 Applicative functors (part 2) parsers, part two Mar. 10 Alexis King (Monads I)
10 Monads N/A Alexis King (Monads II)
11 Monads risk Mar. 24 Erin (Monad Transformers)
12 Monad Transformers (read this and this) TBD Mar. 31 ???
13 TBD TBD Apr. 7 N/A

Getting Started

Install Stack

This project uses Stack to build and test the assignments. To install it, follow the steps here.

Or, use Homebrew:

brew install haskell-stack

Clone the Repo (Don't Fork!!)

15:07 $ git clone [email protected]:laser/cis-194-winter-2016.git
Cloning into 'cis-194-winter-2016'...
remote: Counting objects: 350, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 350 (delta 13), reused 10 (delta 10), pack-reused 331
Receiving objects: 100% (350/350), 9.41 MiB | 2.93 MiB/s, done.
Resolving deltas: 100% (134/134), done.
Checking connectivity... done.

Create a Branch

Create a new branch off of master whose name is the same as your GitHub username. Then, push the branch to the remote (GitHub) repository. If you don't have permission to push to this repository, let me know and I'll grant them.

15:07 $ cd cis-194-winter-2016/
✔ ~/dev/cis-194-winter-2016 [master|✔]

15:09 $ git checkout -b laser
Switched to a new branch 'laser'
✔ ~/dev/cis-194-winter-2016 [laser|✔]

15:09 $ git push origin laser
Total 0 (delta 0), reused 0 (delta 0)
To [email protected]:laser/cis-194-winter-2016.git
 * [new branch]      laser -> laser
✔ ~/dev/cis-194-winter-2016 [laser|✔]

Initialize Stack

We use Stack to build our project. After cloning the repository, run stack setup.

Running the Tests

Assignments are tested with Hspec and QuickCheck. The full test suite can be run by running the stack test command.

To run a single test:

stack build && stack runghc test/Homework/Week01Spec.hs

To rebuild and run the tests each time one of the project's files change:

~/eswenson-healey> stack test --file-watch

To rebuild the project and re-run a single test when a file changes, look into something like entr.

Charting Your Progress

The coursework-progress application (link here) provides a basic view of who is participating in the course and how far they've progressed.

Useful Links

cis-194-winter-2016's People

Contributors

laser avatar lexi-lambda avatar finalfantasia avatar aztecrex avatar markw avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.