skip to main content
10.1145/2633357.2633359acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
short-paper

Experience report: the next 1100 Haskell programmers

Published: 03 September 2014 Publication History

Abstract

We report on our experience teaching a Haskell-based functional programming course to over 1100 students for two winter terms. The syllabus was organized around selected material from various sources. Throughout the terms, we emphasized correctness through QuickCheck tests and proofs by induction. The submission architecture was coupled with automatic testing, giving students the possibility to correct mistakes before the deadline. To motivate the students, we complemented the weekly assignments with an informal competition and gave away trophies in a award ceremony.

References

[1]
R. Bird. Introduction to Functional Programming using Haskell. Prentice Hall, 1998. Second edition.
[2]
L. Bulwahn. The new Quickcheck for Isabelle--Random, exhaustive and symbolic testing under one roof. In C. Hawblitzel and D. Miller, editors, CPP 2012, volume 7679 of LNCS, pages 92--108. Springer, 2012.
[3]
K. Claessen and J. Hughes. QuickCheck: A lightweight tool for random testing of Haskell programs. In ICFP ';00, pages 268--279. ACM, 2000.
[4]
N. A. Danielsson, J. Hughes, P. Jansson, and J. Gibbons. Fast and loose reasoning is morally correct. In J. G. Morrisett and S. L. P. Jones, editors, POPL 2006, pages 206--217. ACM, 2006.
[5]
J. Ellson, E. R. Gansner, E. Koutsofios, S. C. North, and G. Woodhull. Graphviz--Open source graph drawing tools. In Graph Drawing, pages 483--484, 2001.
[6]
P. Hudak. The Haskell School of Expression. Cambridge University Press, 2000.
[7]
G. Hutton. Programming in Haskell. Cambridge University Press, 2007.
[8]
D. E. Knuth, T. L. Larrabee, and P. M. Roberts. Mathematical Writing. Mathematical Association of America, 1989.
[9]
F. Lindblad. Property directed generation of first-order test data. In M. Morazán, editor, TFP 2007, pages 105--123. Intellect, 2008.
[10]
T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL: A Proof Assistant for Higher-Order Logic, volume 2283 of LNCS. Springer, 2002.
[11]
P. Rudnicki. Why I do it? http://webdocs.cs.ualberta.ca/ piotr/ProgContest/why.txt. Accessed 25 Feb. 2013.
[12]
C. Runciman, M. Naylor, and F. Lindblad. SmallCheck and Lazy SmallCheck: Automatic exhaustive testing for small values. In A. Gill, editor, Haskell 2008, pages 37--48. ACM, 2008.
[13]
S. Schleimer, D. S. Wilkerson, and A. Aiken. Winnowing: Local algorithms for document fingerprinting. In A. Y. Halevy, Z. G. Ives, and A. Doan, editors, SIGMOD Conference, pages 76--85. ACM, 2003.
[14]
G. Sutcliffe and C. B. Suttner. The state of CASC. AI Commun., 19 (1): 35--48, 2006.
[15]
S. Thompson. Haskell, the craft of functional programming. Addison Wesley, 2011. Third edition.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Haskell '14: Proceedings of the 2014 ACM SIGPLAN symposium on Haskell
September 2014
154 pages
ISBN:9781450330411
DOI:10.1145/2633357
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 49, Issue 12
    Haskell '14
    December 2014
    141 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2775050
    • Editor:
    • Andy Gill
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Haskell
  2. competition
  3. education
  4. functional programming
  5. induction
  6. monads
  7. quickcheck
  8. smallcheck
  9. testing

Qualifiers

  • Short-paper

Conference

ICFP'14
Sponsor:

Acceptance Rates

Haskell '14 Paper Acceptance Rate 12 of 28 submissions, 43%;
Overall Acceptance Rate 57 of 143 submissions, 40%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media