views:

253

answers:

5

My wife has expressed some interest in programming recently, and I want to introduce her to it at a leisurely pace to see if it is something she will be interested in.

I have a good idea of where to start, and how to progress so that she isn't too overwhelmed, and can hopefully develop good habits early if she decides to stick with it.

What I am having trouble with is finding a good resource for simple practice assignments. Ideally I am looking for a resource that targets all levels of student, and focuses assignments on a single (or small set of) principle(s) of programming. I could come up with some things myself, but I know others have done it much better than I will, and I would like to utilize their experience.

Language is unimportant. I can convert the assignment to the language I am teaching with easily enough.

Any ideas?

I have seen that there are several questions on the site about where to find good practice projects. But note that I do not want, tricky, large, or those that target professionals. I am looking for assignments that target variable initialization, scope, expression structure, conditionals, etc. I did not come across such a question. prior to asking this one.

A: 

If you have any books that are meant to teach a new language to programming beginners, they'll have exercises at the end of each chapter designed to both introduce elements of the language as well as general concepts.

Sean Nyman
+2  A: 

Try small fun problems like shown in Ruby Quiz. They are funny and solutions are given and discussed. The problems there are a scripting centric (Ruby of course), but I used some puzzles to play around with Scala. The name puzzle or quiz is misleading, as there are just reasonable sized tasks to complete, that are challanging and funny as well.

Peter Kofler
related question with list of web sites featuring coding katas: http://stackoverflow.com/questions/1432485/coding-katas-for-practicing-the-refactoring-of-legacy-code
Peter Kofler
A: 

You could look into Ruby and Shoooes (http://shoooes.net/). Shoooes is pretty easy to use and can provide instant feedback. Does she like video games? The Kodu game creator on Xbox Live is a very simple way to introduce some basic programming ideas.

BStruthers
A: 

Python Challenge is a series of really quick puzzles / programming challenges that are designed to be solved in python, however can be solved in any language. Each challenge includes a wiki of other peoples solutions, so you can see alternative ways of solving the problems (often in a variety of languages).

I thought it was great - I have a short attention span and the puzzles are interesting and fairly quick to do, but at the same time there are enough of them to keep you going for a while.

Kragen
+1  A: 

How to Design Programs is a tested, proven curriculum for beginners. The book is free online and includes exercises. It also comes with a find programming environment which issues error messages that are appropriate for beginning programmers.

People who are mathematically oriented often enjoy the Project Euler problems, which range in difficulty from elementary to advanced.

I suggest you evaluate Jon Bentley's Programming Pearls to see if some of the chapters might be appropriate. Bentley is very good at connecting programming to the real world, which many people find motivating.

Finally, check out Logo, ToonTalk, and Scratch for software, ideas, and inspiration.

Finding good, interesting programming problems is always a challenge. Please let us know what else you learn, and how your experience goes.

Norman Ramsey