[Tutor] Recommended Resurce or strategy for beginning students

Alan Gauld alan.gauld at yahoo.co.uk
Tue Jan 22 04:57:10 EST 2019


On 22/01/2019 06:57, Matthew Polack wrote:

> In our growing school we're teaching Python programming for the first time
> as an elective subject with Year 9 and 10 students. (Had a dabble at this
> last year with 3 students in Year 11)
> 
> I'm wondering what specific resource or stategy people would recommend for
> absolute beginners?

There is a beginners page on the Python web site for non
programmers. It lists many tutorials that you could consider.

Also there used to be an Education Special Interest Group
(edu-sig) populated with teachers using Python in schools.
I don't know if it is still active but you could try asking there.

I do know that at least two schools have used my tutorial(see .sig).
One of them for a class of 14 year olds (I have no idea what age
range your year 9/10 students are). It is intended to teach good
programming theory as well as practice.

Another more academic tutorial is Allan Downey's "Think Python"
site. It is slightly deeper than mine but covers less breadth.

> Some of the leadership wanted me to use this programming in combination
> with building robots...I've even wondered whether this is trying to achieve
> too many things...and we're better off focused on programming itself... but
> am open to this idea too...

In the UK many schools use the RaspberryPi project to teach robots to
kids as part of their Technology courses. The programming is picked up
by osmosis on an as-needed basis. The upside is that it's a lot of fun
and gets kids used to the concepts of hardware and software working in
unison. The downside is that they learn a lot of bad coding habits and
don't understand the theoretical underpinnings of either the hardware or
software. But as a way to get them hooked it works well .

> I've had a play with using the excellent PySimpleGUI...which is an
> excellent resource for building a GUI...but I've realised before doing too
> much of this we might need to get a grip on core fundamentals....

The turtle module is good too. Turtle graphics were invented
explicitly to teach kids programming (using the LOGO programming
language). They are even better when combined with a real robot
turtle, but I'm not sure how you would do that using Python.
There may be an off the shelf option if you Google it...

> 1.) Establish some core basics(utlising some form of 'course',,,which goes
> through basics of syntax..variables...loops etc. utilising just raw
> code...(probably a simple 'Adventure Game')

Don't underestimate the power of CLI when starting out.
Classic games like oxo, hangman and Conway's life are challenging
for beginners and easy to do on a terminal. (They are also great for
demonstrating how good data structure design can radically simplify
complex code.)

Adventure games like the Colossal Cave are obviously easy on
a CLI too.

> 2.) Build some simple programs using PySimple GUi..eg. Some quiz games etc.
> (there are some great examples on Github by another teacher and also the
> author Mike of PySimpleGUI.

Consider including basic GUIs too. They are the simplest way
to get them into event driven thinking and for some types
of programming are easier to write than CLI apps. The only
snag with Python is the lack of a GUI builder which forces
the kids to write a lots of boring boiler plate code...

> 3.) Possibly explore robotics.

Or web programming maybe? There are lots of easy Web frameworks
for Python and since, for most kids today, computing *is* the
web it might be worthwhile. The downside is it introduces
a lot of new concepts - HTML, networks etc


Overall it sounds good.

-- 
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




More information about the Tutor mailing list