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 [EMAIL PROTECTED] (319) 352-8360 _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
