[Tutor] first programming project

Alan Gauld alan.gauld at freenet.co.uk
Fri Aug 18 20:20:18 CEST 2006


Its a pretty reasonable project, certainly not trivial but not
impossible either.

> design it and write some pseudocode first.  I want to
> create a fun GUI assignment manager.  I read about the
> Tkinter toolkit and would like to use it to write my
> program.  I made a list of features:
>
> - root window will be split into three sections:
> categories, assignments, and an animated creature that
> responds to actions

OK, This is one part of your project - the GUI.
I'd leave it to last! :-)
Not least because as a beginner its likely to take up a fair
bit of time and trying to debug the code and the GUI will
be doubly difficult!

> - assignments will have three attributes:  priority,
> points (grade points for completeness and creative
> points for how interestingly assignment was done),
> dates (assigned, completed)
> - sub-assignments can be added to assignments to break
> it up into steps
> - each assignment will fit into a marking period
> category with two averages (grade average and creative
> average)
> - grade average is the percentage found by dividing
> points earned by total possible points

OK, And tisd is the second bit, I'd do this first.
Get it working as a command line program but make sure
you don't put print statements etc inside your functions
- that will make bolting on the GUI much easier later.

> - creature will have two statuses (hunger status, mood
> status)
> - hunger status effected by grade points and averages
> - mood status effected by creative points and averages
> - each time assignment completed, food appears in
> creature section and user may feed it or store it in a
> bin (food more nourishing for higher-point
> assignments)
> - increments of creative points (maybe for every 10?)
> add mini-games to play with creature

And this is therefore the 3rd chiunk which I'd do after
the assignents (which it kind of relies on) but before
the GUI.

One the first two bits are working reliably you can build the
GUI and link it to the functions you wrote for the command
line version and be confident the earlier code works, theefore
any problems will lie ion the GUI or its calling mechanisms.

If you get stuck on any of it ask the list! :-)

Start small and get some aspect working then build up from
there. Think about how to test and use it first, build that 
"scaffolding"
before writing the code - just use print statement initially....
Then plug the working functions into your scaffolding piece by piece.

HTH,

Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld 



More information about the Tutor mailing list