Skip to main content Accessibility help

The Soccer-Fun project



In the Soccer-Fun, students program the brains of football players in a functional language. Soccer-Fun has been developed for an introductory course in functional programming at the Radboud University Nijmegen, The Netherlands. We have used Soccer-Fun in teaching during the past four years. We have also experience in using Soccer-Fun for pupils in secondary education. Soccer-Fun is stimulating because it is about a well-known problem domain. It engages students to problem solving with functional programming because it allows them to compete at several disciplines: the best performing football team becomes the champion of a tournament; the best written code is awarded with a prize; students are judged on the algorithms used. This enables every student to participate and perform at her favorite skill. Soccer-Fun is implemented in Clean and uses its GUI toolkit Object I/O for rendering. It can be implemented in any functional programming language that supports some kind of windowing toolkit.



Hide All
Achten, P. (2007) Clean for Haskell98 programmers – A quick reference guide. Available at:
Achten, P. (2008) Teaching functional programming with Soccer-Fun. In Proceedings of the 1st Workshop on Functional and Declarative Programming in Education, FDPE'08. Huch, F. & Parkin, A. (eds). Victoria, BC, Canada: ACM Press, pp. 6172.
Achten, P. & Plasmeijer, R. (1998) Interactive functional objects in Clean. Selected papers of the 9th International Symposium on the Implementation of Functional Languages, IFL'97. Clack, C., Hammond, K. & Davie, T. (eds), LNCS, vol. 1467. Springer, pp. 304321.
Achten, P. & Wierich, M. (2000) A Tutorial to the Clean Object I/O Library (version 1.2). Technical report CSI-R0003. Nijmegen, The Netherlands: Institute for Computing and Information Sciences, Radboud University, p. 294.
Bird, R. & Wadler, P. (1988) Introduction to Functional Programming. Prentice Hall.
Brus, T., van Eekelen, M., van Leer, M. & Plasmeijer, R. (1987) Clean: A language for functional graph rewriting. In Proceedings of the 3rd International Conference on Functional Programming Languages and Computer Architecture, FPCA'87. Springer, pp. 364384.
Conway, M. et al. (2000) Alice: Lessons learned from building a 3D system for novices. In CHI'00: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. Turner, T. & Szwillus, G. (eds), New York, NY: ACM, pp. 486493.
Felleisen, M., Findler, R. B., Flatt, M. & Krishnamurthi, S. (2009) A Functional I/O system or, Fun for freshman kids. In Proceedings of the 2009 International Conference on Functional Programming, ICFP'09. Edinburgh, Scotland: ACM, pp. 4758.
Findler, R. B., Clements, J., Flanagan, C., Flatt, M., Krishnamurthi, S.Steckler, P. & Felleisen, M. (2002) DrScheme: A programming environment for Scheme, J. funct. program., 12 (2): 159182. doi:10.1017/S0956796801004208.
Huang, L. & Hudak, P. (2003) Dance: A Declarative Language for the Control of Humanoid Robots. Tech. rept. YALEU/DCS/RR-1253. Yale University.
Hudak, P., Courtney, A., Nilsson, H. & Peterson, J. (2003) Arrows, robots, and functional reactive programming. Proceedings of the 4th International Summer School on Advanced Functional Programming, AFP'03. Jeuring, J. & Peyton Jones, S. (eds), LNCS, vol. 2638. Oxford, UK: Springer-Verlag, pp. 159187.
Hudak, P. et al. (1992) Report on the programming language Haskell, a non-strict, purely functional language, Sigplan Notices, 27 (5): 1164.
Plasmeijer, R. & van Eekelen, M. (2001) Concurrent Clean Language Report (version 2.0). Available at:
Ullman, J. (1998) Elements of ML Programming (ML97 edition). Prentice Hall Inc.
Wilensky, U. (1999) Netlogo. Evanston, IL: Center for Connected Learning and Computer-Based Modeling, Northwestern University. Available at:

Related content

Powered by UNSILO

The Soccer-Fun project



Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.

The Soccer-Fun project

Submit a response


No Discussions have been published for this article.


Reply to: Submit a response

Your details

Conflicting interests

Do you have any conflicting interests? *