[Edu-sig] Design patterns

Chuck Allison chuck at freshsources.com
Wed Aug 24 03:19:20 CEST 2005


Hello Kirby,

Thanks for this good input (you too, Scott). My syllabus is at
http://uvsc.freshsources.com/html/cns_439r.html. I like your point
about cutesy having its place. I just don't see a way to use what's in
HFDP as the basis for a programming assignment, but maybe it will come
after a few days. As a professor, I like having my ducks in a row a
priori, but that's not happening this first time around. Since I teach
3 upper division courses, I'm just a little nervous about having time
to invent sufficient material. I was just hoping someone had had a
similar teaching experience I could "borrow" from. All comments
appreciated. Thanks again.


Tuesday, August 23, 2005, 5:29:33 PM, you wrote:


>> -----Original Message-----
>> From: Chuck Allison [mailto:chuck at freshsources.com]
>> Sent: Monday, August 22, 2005 12:43 PM
>> To: Kirby Urner
>> Cc: 'Arthur'; 'Scott David Daniels'; edu-sig at python.org
>> Subject: Re[2]: [Edu-sig] Design patterns
>> 
>> Hello Kirby,
>> 
>> Since this discussion has swerved a little, I'd like to pose a query.
>> I've been using patterns since 1995 and am teaching a course starting
>> Wednesday (a full semester course) on Design Patterns using the Heads
>> First book. My query: do you have any ideas you might proffer for
>> programming assignments? I'd like to give a handful of programming
>> assignments throughout the semester that aren't as short and cutesy
>> as what's in the book. Any ideas would be greatly appreciated!


KU> Hi Chuck --

KU> You could throw out ideas for big projects that Python has gotten used for:
KU> a) air traffic control and 
KU> b) languages training for the military
KU> c) some other example only you know about (like El Fish)

KU> (or are you teaching this as a Java class and just lurk with snake charmers
KU> for ideas -- like I might do in a Ruby conference full of gem smiths).

KU> In case 'a)' there's a backend database to consult, and a Tk canvas object
KU> for showing airplanes along their vectors, converging/diverging from airport
KU> termini.

KU> In case 'b)', Python was glue around the game engine, knitting to a speech
KU> recognizer that'd give feedback as to how a soldier/player was doing using
KU> Arabic in Iraq (e.g. 'game over' if things were going badly -- like if a
KU> cuss word was said).

KU> I draw both of these examples from Pycon in March 2005, though I could have
KU> chosen other examples from EuroPython or OSCON, also events on my calendar
KU> this year.

KU> Probably an important design pattern common to both of these applications is
KU> MVC (model-view-controller).  A key design pattern ideal is loose coupling
KU> without losing coupling i.e. you want to stay connected, but you don't want
KU> to overdo it, in case you want to recombine the various components down the
KU> road.  MVC would let us swap in a different database on the back, and only
KU> have to teach the model about it, while the controllers and outputted views
KU> would go against the same API and use the same markup (or whatever).

KU> That being said, I think cutesy, short (even sexy) programs *are* what's
KU> needed in an intro design patterns course, since it's the *patterns* that
KU> matter, not industrial strength vertical market source code, crufted with
KU> 10,001 years of specific knowledge domain content (like the stuff I do for
KU> RHDS/MDRC -- clinical data around heart procedures, and tons more pattern
KU> language where that came from (not being an MD, I never had to learn much of
KU> it)).

KU> But I haven't seen your syllabus and don't know where in the curriculum your
KU> particular course fits in.  I'm simply extrapolating from my own position,
KU> and our circumstances may not match (e.g. you probably didn't spend most of
KU> the day mixing wood stains and applying them to wood products -- like,
KU> welcome to Oregon/SiliconForest).

KU> Kirby


KU> _______________________________________________
KU> Edu-sig mailing list
KU> Edu-sig at python.org
KU> http://mail.python.org/mailman/listinfo/edu-sig



-- 
Best regards,
 Chuck



More information about the Edu-sig mailing list