The aim of this page is to list the tutorials covered to date, and the concepts covered in them.  If you’re interested in a concept search for it here then click the link to the relevant page.

[August 2014: Work in progress – to be completed!]

Comprehending Lists and Tuples – list comprehensions, purpose behind tuples

Yet Another View of Chess – isometric view of chess board, fitting pieces to board, synchronising two views

A Different View on Our Chess Model – 2d overhead view of chess board, Canvas.delete, Canvas.find_all, auto-downloader.

Modelling Chess Positions – list of lists, intro to MVC, model, view, ascii chess board

I Wanted to be a Lumberjack (logging) – logging module, basicConfig, debug, warning, show line number

Slider Spliner – Scale widget, wm_title, orient keys, widget.get() method

Quadratic Bezier Curves – splines, global constants for magic numbers, Canvas.create_oval, smooth key for create_line

A Short Aside – Some Python Minecraft Stuff – some third party Minecraft server aids

Being Animated – canvas.create_line, animation as deletion and redrawing, odd sized pixel widths for centering

Canvassing – Tkinter Canvas, width, height, bg keys, intro to cartesian coordinates

Being Exceptional – EAFP, LBYL, TypeError, try/except, errorless excepts, isinstance, polymorphism

Weird Binding Stuff  – Tkinter oobject id(), copy, copy.copy(), copy.deepcopy()

Recap on Progress

Minecraft config editor – Part, the Ultimate backing up and writing config file

Minecraft Config: Subclassing and Inheritance, Editing all config items: subclassing, super()

Minecraft Config Editor: Tkinter Text Widget and Frames

MineCraft config editor part 2 – documentation as a development aid, more on debugging

Starting our Config Editor – config files, parsing

Recap part 2 – Tkinter recap on GUIs, windows, geometry, window decorations, events, event handlers

Welcome back, Class Recap

Interlude – Comments on Learning and Debugging

Classy Methods, a Sense of Self (Classes Part 2) methods, overriding, __init__, self

Classy Attributes (Classes Part 1) – about classes, class, instantiation, inherit from object, attributes, class attributes, instance attributes.

Side Track – Global and Local Variables

Really GUI (more on Buttons, images and handlers) consolidation, os.path.splitext, keeping object references.

Using Images in the GUI – PhotoImage, ‘image’ key

Button it up (Buttons and event handlers) – Button, side, text, command keys, Tkinter.LEFT, Tkinter.RIGHT

Tkinter tinkering (Graphical User Interfaces) import *, introduction to Tkinter, Label, pack()

Talk to your Teddy (Debugging) about debugging, some common syntax errors, how to identify them, logic errors

Review, Formatting Silly Sentences – format strings and using %s for printing, more involved silly sentences application

Making this Code Your Own – thoughts about varying existing code so it does what you want.  Example program to print a times table and some nonsense sentences.  Comments on syntax errors.  Examples of some errors- TypeError, NameError

A Functioning Stand Alone Python Program – bringing together earlier work to have a working trivia game

Baby Steps with Our Text Editor – storing functions in a file, loading specific functions from a file, reload()

Catching Our Breath – overview of recent progress

Keeping Code – using a text editor to save your Python code

Dictionaries, Hovercraft, Eels – Python dictionaries, keys, items, values {}

Increasingly Trivial Questions – using our stored questions, load them, add a new question, pickle the updated question list

Time for Some Introspection – using Python to tell you about itself, help(), docstrings/.__doc__ attribute, dir() function, callable(), .__repr__() method

A Big Jar of Pickles – example of using pickle to store the questions for a trivia game

An Awful Pickle – storing objects in a file pickle/cPickle

Omigosh: Happy New Year – overview of progress

Foundations: The Ministry of Silly Objects – more on objects, methods, attributes

Filing – os.path, testing existence of a file (os.path.exists()), file objects – opening, them, storing data in a file, closing the file

Trivia Game part 2 – random.randint()

Trivial Lists – Lists, referencing members of the list with listName[index]

CryptoPyThy – consolidation, ord() and chr() functions

Strings – escape characters, \t and \n, .split() method, .join() method, slicing with [:]

Random Imports- import statement, random() module, random.random(), del to delete imported modules

Functions (or The Right Place for an Argument) arguments, default values for arguments)


WhyPy? import statement

Some Foundations: Variables and stuff

While, control-C to stop execution

More on range, modulo/remainder arithmetic (ie 5%4 = 1)

If only, some logical operators: “==” (check equality), and, or, not, ! (not), > (greater than), < (less than),

Interacting with raw_input

Range and For

Strings are not numbers, int() function

Hello World, print statement

3 Responses to Index

  1. Pingback: Recap on Progress « Python Tutorials for Kids 8+

  2. philip stanley says:

    Many years ago I was in charge of the training of raw adult recruits to the new computer technology (circa 1963). The first groups were trained in assembler. Later groups were trained in COBOL (a natural language compiler) the first group attempted to retrain into COBOL, but were never as adept as the group trained firstly in COBOL.
    I would make two points on this experience.
    1. the first language which one learns is the one in which most ability is shown
    2. the computer language should attempt to fit the native language as much as is possible

    This poses the serious questions as to the suitability of the current languages Ruby, and Python as base languages on which later languages will be learned, and do they in any way fit the second requirement.

    I might add that I found the use of flow charts to display the logic of the program prior to coding was most useful, and then the transition to decision tables to define the logic more rigorously, and detect redundancy. I do not perceive this approach in teaching of Ruby and Python.

    Philip Stanley

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: