[Edu-sig] Using objects early was Procedural front end for Zelle's graphics.py

John Zelle john.zelle at wartburg.edu
Wed Feb 7 18:34:48 CET 2007


On Wednesday 07 February 2007 10:54 am, Peter Drake wrote:
> Your philosophy may differ, but I'd like to see control structures
> explained sooner. You currently don't introduce if for 200 pages. I
> find that it's hard to come up with interesting assignments without
> if. (My idea of "interesting assignments" usually leans toward simple
> games, as in my book "Data Structures and Algorithms in Java".)

Actually, I don't think our philosophies differ all that much. Just to set the 
record straight, the first control structure in my book is explained on page 
15, and the idea of control structures in general is explained in detail on 
page 39.  You're right in that decision structures aren't introduced until 
around page 200. Everyone has their own pet ordering of the basic topics, and 
I do have ifs later than lots of folks like to teach them, but the chapters 
are designed so they can be mixed and matched. Should an instructor want to 
do ifs earlier (and lots do), that chapter can be used right after Chapt. 2. 
Although it's hard for me to imagine what "interesting" problems you can 
solve without understanding the basic data types of numbers and strings.

My own approach is to very rapidly get to the graphics in Chapter 5 (I skip 
quite a bit of chapter 4 on first pass), because students really groove on 
that. It seems to work, as we put about 100 students per year through this 
class (it can be used to meet a gen ed math requirement) with a success rate 
of over 90%.

> I'd rather give the students a few simple pieces that they can (with
> enough practice) fully understand than give them a large library of
> special-purpose commands.

My goal early on is to teach algorithmic thinking. That is breaking down a 
problem into a sequence of discrete steps. You need some vocabulary 
of "steps" in order to do that. Different vocabularies allow you to solve 
problems in different domains, but the algormithmic thinking process is every 
bit as generic as it is later with decisions added. But by all means, do 
decisions early if the problems you want to tackle require them. The types of 
problems I use tend to require I/O and loops.

--John


-- 
John M. Zelle, Ph.D.             Wartburg College
Professor of Computer Science    Waverly, IA     
john.zelle at wartburg.edu          (319) 352-8360  


More information about the Edu-sig mailing list