[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