Student Programming Projects

Yoann Padioleau Yoann.Padioleau@irisa.fr
21 Sep 2001 11:36:47 +0200


Johannes Waldmann <joe@isun.informatik.uni-leipzig.de> writes:

> > Next Semester, I am supposed to teach a short course in Haskell.
> > Can anyone recommend interesting programming projects which can
> > be completed in about a month? Thank you very much.
> 
> apart from "pure" programming exercise 
> (see Haskell textbooks http://haskell.org/bookshelf/)
> here are a few suggestions in the area of experimental mathematics.
> also, check with your introductory discrete mathematics course (or equivalent).
> a lot of combinatorial problems on finite structures
> can be illustrated by finding (counter-)examples by computer.
> 
> 
> say Ramsey colorings, Monochromatic arithmetic subsequences
> (van der Waerden's theorem), words avoiding patterns, and so on.
> http://www-igm.univ-mlv.fr/~berstel/Lothaire/ChapitresACW/C3.ps
> 
> next, perhaps some game theory? 
> nim (and variants), other take-and-break games (octal games).
> you can safely ignore all of the Sprague-Grundy theory,
> and just define the game, and ask for some method
> to determine quickly who wins.
> 
> or graph theory: finding hamiltonian paths 
> (knights tours on  a x b  chessboards, for instance)
> 
> if the students alreay took some computability theory,
> then a nice topic is Posts Correspondence Problem, see
> http://www.cs.ualberta.ca/~zhao/PCP/intro.htm
> http://www.informatik.uni-leipzig.de/~pcp/pcpcontest_en.html
> 
> also string rewriting: finding/avoiding loops.
> this (open!) problem is easily stated: http://www.lri.fr/~rtaloop/95.html

Wow, what some nice exercise, are you really serious ? do you think
computer science student enjoy that kind of programs (except for the AI-related stuff)?
why not make them programming something they would like to use !!
why not a tetris/pong/reversi/any_video_game, see for example the book from Paul hudak (multimedia ... in haskell).
this man understand what makes student happy : graphism,video games,compiler,operating systems, AI games
 and not this shit of mathematics/computer science theorist problem.
This is the kind of things that make student think that functionnal programming is for
 doing useless things, and that C is cool cos you can do graphism, program your own operating systems, ...
ICFP 2000 ask for an interesting problem: a raytracer, a thing that many student like cos
 you can then play with it and describe your own scene, and that contest show that
 ocaml/haskell were really cool for doing graphism-related work.

> 
> 
> hope this helps. I'm happy to provide more detail.

-- 
Yoann  Padioleau,  INSA de Rennes, France,   http://www.irisa.fr/prive/padiolea
Opinions expressed here are only mine. Je n'écris qu'à titre personnel.
**____   Get Free. Be Smart.  Simply use Linux and Free Software.   ____**