On 22/08/18 15:45, JGledhill via Tutor wrote:

> I'm at the point where I want to actually start "programming",> and solving 
> problems by thinking through them, not just copying code
examples.

Well done, it's good to recognise that stage in your development.

> Any recommendations on how I can break free? 
> My biggest fear is that I'm going to try to tackle a project out of my depth

Start with something simple. I usually suggest a simple
utility to automate a task you do on your computer - file
renaming or archiving for example.

Alternatively try a simple game. OXO (aka tic-tac-toe)
is a good example since you need to think about how to
represent the board and how to determine win/loss/draw
conditions. It's good to start with a console based version
first.

<optional>
Once you have that working redo it using a GUI (or Web
solution). Although you might find learning GUI/Web
programming is a big learning exercise in its own right,
in which case miss this out for now.

Ask yourself how much of the original solution was used
in the second and how much had to be rewritten or modified?
Could you have reused more if you'd designed it differently?
Rewrite the code so that you have both versions with maximum
code sharing between them (ie create a module of functions).
(This process of rewriting working code to tidy it up is
known as refactoring by professionals) ]
</optional>

Having done that try Conway's 'Game of Life'. It's fully
automated but with more complex game play. But shares
some of the same basic layout issues etc. Are there
opportunities for reuse between your OXO game and Life?

Life in particular can add elements of OOP to your coding.

Those two exercises should be within your powers and still
be a challenge that will make you learn new aspects of
what you thought you already knew..

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to