Re: [Edu-sig] Elementary School Instruction

2005-06-09 Thread Kirby Urner


Hi Andy --

Yeah, I wouldn't know about your class in particular.  I'm glad your school
hasn't been hit by the so damaging "we refuse to learn" syndrome.  Such a
missed opportunity! 

Good thing we have those community colleges in case one decides to go back
and review what one /could/ have gotten, for free, the first time (though in
the field of computers, the technology will likely have changed in some ways
since high school -- so you have to keep going back to school anyway).

I hesitate to list out any one list of proficiencies, but let me give it a
go:  an appreciation for Python's most basic data structures, the ideas of
module (standard library, 3rd party, user defined), of namespace, the
concept of dot notation and how this fits into class/object ideas.

Dot notation is of special importance, because we find it in so many
languages besides Python, including in the architecture of the Internet
itself, where net.4dsolutions becomes a qualifying path name, something I
might use in Java to distinguish my namespace (or class path). 

People ask about the "dot com" crash.  What was that all about anyway?
Sometimes you can snag student interest through storytelling.  Finding the
interesting stories (interesting to /them/) -- that's always the challenge,
no?

When I taught at the police station (West Precinct, HPD), the premise was
"so you want to be an open source developer" and so interest in Python
piggy-backed on top of the self concept of the average enrollee.  If you
want to think of yourself as "able to program" (and these kids did), then
"in Python" isn't a stupid way to go (kids don't want to be stupid --
usually).

This course wasn't just Python though.  It was basic Linux command line, a
little vi, demos/talks about diff/patch, the protocols, the layers, ip
numbers, dns servers, sockets and ports.  A lot of this was just spoken
about, or communicated with movies e.g. 'Warriors of the Net' and
'Revolution OS' (we screened both, plus some others).

Kirby


> -Original Message-
> From: Andy Judkis [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 09, 2005 7:31 PM
> To: Kirby Urner; edu-sig@python.org
> Subject: Re: [Edu-sig] Elementary School Instruction
> 
> Hi Kirby,
> 
> Thanks for responding.
> 
> I'm fortunate in that in our school, there really isn't a stigma
> associated
> with being a good student.  The culture is really pretty good that way.  I
> would love to blame my problems on the kids but I think the problem is
> really me, and my unrealistic expectations about how long it really takes
> to
> begin to get a sense of what programs and programming are about.  Which
> brings me back to the questions:
> 1) how do you motivate typical kids to be interested enough in this to
> climb
> this particular hill? and
> 2) what is a reasonable set of things for them to learn in a 20-30 class
> hour unit on Python?
> 
> Thanks again,
> Andy


___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Programming Exercises

2005-06-09 Thread Winston Wolff
I just purchased the book "Python Programming" by Michael Dawson.  I  
like it very much for teaching absolute beginners Python, and I have  
borrowed a bunch of his examples.  All the examples revolve around  
games, from simple text based games to later graphics games with  
TKInter and PyGame/Livewire.  If your students have a little  
experience in another language, this might be good.

-winston


On May 26, 2005, at 1:10 PM, Scott David Daniels wrote:

> Chuck Allison wrote:
>
>> Hello Scott,
>>
>> Thursday, May 26, 2005, 1:55:15 AM, you wrote:
>>
>> SDD> Chuck Allison wrote:
>>
>>
 Hello edu-sig,

  Does anyone know of a good source of programming exercises/ 
 projects
  to use when teaching Python to people who already know another
  language? Solutions don't need to be available - I just need some
  good sample programming assignments. Thanks.


>>
>> SDD> You need to tell us what yu are interested in / would like to  
>> do.
>> SDD> Do you want to find eigenvectors? Do you want to do GUI  
>> work? 
>>
>> Good question. Mostly I need general assignments (using sequences,
>> mappings, text processing, basic OO, launching processes for testing,
>> etc.), but also simple mail apps and basic COM (like processing
>> Microsoft Word docs). No higher math. Some basic GUI ones would be
>> nice too (will be using wxPython). Thanks!
>>
>>
>>
> First, do the Python tutorial if you have not.  Try following Dive
> Into Python if it meets your tastes.
>
> For text processing:
>
> Create or obtain a couple of plain ASCII texts.  One should be short
> for testing and development, and another long for fun and production.
> Look to  Project Gutenberg if you don't have anything long yourself.
> Make a concordance (words to position) that you can save and restore
> w/o re-counting your text.   Find the N (50 for big) most frequent
> words used.
>
> Once you have all that working, figure out how to show all instances
> of a selected word "in context".  For extra credit, words, sorted by
> frequency or alphabetically (button selectable) presented on a wx
> window that show your "word in context" when clicking on a word.
>
> That should hold you for a day or two.
>
> ---
>
> My bias is to go test-forward, so (if you want to try that) here is
> a start (a first test to pass).  Most of this is boilerplate, look at
> the body of test_words to see the only actual test here.  Create a
> test_wordy.py file as so:
>
>  import unittest
>  from StringIO import StringIO
>  import wordy# the module you are actually testing
>
>  class TestWords(unittest.TestCase):
>  def test_words(self):
>  source = StringIO("a test")
>  self.assertEqual(['a', 'test'], list(wordy.aswords 
> (source)))
>
>  if __name__ == '__main__':
>  unittest.main()
>
> Now, when you run python on this file you will get a failure.  The  
> first
> one is that wordy.py doesn't exist.  Keep fixing until your test  
> passes.
> Then add tests for new behavior, watch them fail, and fix the source
> until it works.
>
> --Scott David Daniels
> [EMAIL PROTECTED]
>
> ___
> Edu-sig mailing list
> Edu-sig@python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>

___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Elementary School Instruction

2005-06-09 Thread Andy Judkis
Hi Kirby,

Thanks for responding.

I'm fortunate in that in our school, there really isn't a stigma associated 
with being a good student.  The culture is really pretty good that way.  I 
would love to blame my problems on the kids but I think the problem is 
really me, and my unrealistic expectations about how long it really takes to 
begin to get a sense of what programs and programming are about.  Which 
brings me back to the questions:
1) how do you motivate typical kids to be interested enough in this to climb 
this particular hill? and
2) what is a reasonable set of things for them to learn in a 20-30 class 
hour unit on Python?

Thanks again,
Andy

___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] UPDATE 3: High School Network Security

2005-06-09 Thread Frank Noschese
Hi everyone,

The Movable Python CDs worked very well and many students have created some
very cool programs: projectile motion simulators, simple harmonic oscillators,
Lorenz attractors, and Sierpinski pentagons, to name a few.

By far the best thing about using VPython with beginners (as I'm sure you'd
agree) is how "lenient" you can be when programming: creating variables
whenever you'd like, not having to declare variable types, creating additional
object attributes easily, using default attribute values, etc.  It definitely
makes programming more accessible.  The graphing package and the built in
vector operations in VPython were a big help, too!

Based on the success of the student projects, I am looking to make VPython an
integral part of our AP Physics curriculum next year, rather than the
afterthought it was this year.

Believe it or not, I am meeting with some people from our technology team on
Tuesday (as per their request) to discuss how to "safely" install VPython on
the school network.

Another success story!  Thanks again to everyone for their kind support!

Frank Noschese
John Jay High School
Cross River, NY

--- Josef Sachs <[EMAIL PROTECTED]> wrote:
> > On Thu, 19 May 2005 08:28:56 -0700 (PDT), Frank Noschese said:
> 
> > Thanks again so much for all your help!  I replied to the tech
> > coodinator with some of your responses...they will reconsider the
> > installation at their next meeting (but I did unfortunately ruffle a
> > few feathers).
> 
> I hope you will tell your students what it took for them to be able
> to do your project.  Sometimes the most valuable lessons are "incidental"
> to the official syllabus.  You have provided your students a lesson
> in character: initiative, responsibility, questioning and even challenging
> authority.  Your students are very fortunate.
> ___
> Edu-sig mailing list
> Edu-sig@python.org
> http://mail.python.org/mailman/listinfo/edu-sig
> 
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] Elementary School Instruction

2005-06-09 Thread Kirby Urner
> So, my question is, if you wanted a group of certainly-not-stupid 16 year
> old kids to at least get a taste of programming, understanding that many
> of them are there because it's a required course, and they're not 
> predisposed to be interested in it, what would you do?  What is a minimal 
> set of things they ought to be exposed to?  How much time would you spend 
> on it?  What do you think they ought to be able to do at the end of the 
> time?
> 
> Thanks,
> Andy

Hi Andy --

It's difficult to judge an ecology remotely -- even up close we don't know
how to manage wildlife successfully (is Crichton's point, or one of his
character's, in 'State of Fear', my recent airplane reading).

In other words, I'd have to be in your classroom for awhile in order to
speak specifically of my impressions.

In some schools, there's a conspiracy among the students to make teachers
work hard on the most primitive basics, a kind of unionization around the
premise that any "star students" make the others look bad, so if you think
you're going to study hard and show off, forget about it (if you want a
social life that is, and we can make sure that you do).  Funny thing is:
many of these students grow up to become classroom teachers and continue
operating along these same principles (a union of grown-ups, fancy that).

In my recent teaching experiences where Python was involved, the students
tended to not know each other socially outside of my classroom.  They
converged to an unfamiliar, high tech, vaguely industrial location (not
their familiar school) and the teacher (me) was clearly not like a classroom
teacher, e.g. he (me) didn't seem to spend a lot of time in classrooms (this
was an exception, not the rule).  All of the above changes a huge number of
parameters, including that "not predisposed to be interested" part.

In other news, I was invited to speak at Europython and have been listed on
the web site as a speaker, Education track.  To that end, I've produced a
PDF outlining my specific objectives regarding Python in a mathematics
context, K-12 or college (my focus is K-12, given my background as a high
school mathematics teacher in New Jersey).  I've linked to this PDF from my
blog:

http://worldgame.blogspot.com/2005/06/dot-notation.html

Kirby


___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Elementary School Instruction

2005-06-09 Thread dave
Andy,

My experience is that there should be a certain amount of aptitude
screening before teaching programming to anyone.  The best way is to
put a 2-3 person panel together, each with different teaching
approaches AND a passion for their discipline. I don't require the kids
to be pre-algebra or better, but they should grasp certain concepts
within about 5 minutes of conversation. If they can't get certain basic
concepts in that time, then it's just simply not their time to study
programming. 


Dave Lanham
LGICS

 

___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


[Edu-sig] Elementary School Instruction

2005-06-09 Thread Christian Mascher

> I am winding up my first year as a high school technology teacher, after 20+ 
> years as an engineer and programmer.  I teach 10th graders (ages 15 or 16) 
> in a magnet high school for kids interested in medical careers.   

I think your experiences are quite normal, so don't be frustrated.

> So the idea that much younger kids are grasping syntax like 
> this:
>   >>> thewords = {'noun1':'house', 'noun2':'mouse'}
>   >>> print "In this %(noun1)s there lives a %(noun2)s." % thewords
> makes me weep in frustration.  

No, you shouldn't. You can't expect this from most children I know of. 
This requires a lot of abstract thinking, which is based on lots of 
experience and "having seen this again and again". What you and I can 
read in code is so different from a beginners view, we probably can't 
imagine it.

Working with 15/16 year olds (the 'normal' ones with little formal 
training in math/programming), it does help very much to stick to a few 
restricted environments  as
turtle programming
simulations with random()
and doing lots of exercises with apparently little changes to the 
algorithms. We tend to be to fast at this stage, because Python is (for 
aus) so easily readable.

The problem might be that students appear to get bored. But it won't 
help to go faster if you haven't built up some solid ground, be it very 
simple algorithmically. Turtle-Graphics helps a bit with the motivation ...

Loops are not easy for beginners. Still the turtle or Robot helps, 
because you don't have to dicuss variable assignments at this stage, 
which actually _is_ a separate difficult subject.

Look at the heaps of exercise the TeachScheme Project uses for solving 
absolutely simple programs in the first chapters. They know why the do 
it this way.

I guess, I'm a bit frustrated myself that I have no Kings Way to teach 
programming faster, when I see so many possibilities to solve problems 
with Python myself.

Christian

> So, my question is, if you wanted a group of certainly-not-stupid 16 year 
> old kids to at least get a taste of programming, understanding that many of 
> them are there because it's a required course, and they're not predisposed 
> to be interested in it, what would you do?  What is a minimal set of things 
> they ought to be exposed to?  How much time would you spend on it?  What do 
> you think they ought to be able to do at the end of the time?

___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] UPDATE 2: High School Network Security

2005-06-09 Thread Josef Sachs
> On Thu, 19 May 2005 08:28:56 -0700 (PDT), Frank Noschese said:

> Thanks again so much for all your help!  I replied to the tech
> coodinator with some of your responses...they will reconsider the
> installation at their next meeting (but I did unfortunately ruffle a
> few feathers).

I hope you will tell your students what it took for them to be able
to do your project.  Sometimes the most valuable lessons are "incidental"
to the official syllabus.  You have provided your students a lesson
in character: initiative, responsibility, questioning and even challenging
authority.  Your students are very fortunate.
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


Re: [Edu-sig] School Instruction [Andy]

2005-06-09 Thread Darren Payne
I have a great deal of sympathy and empathy for you
Andy. I teach in a large selective (read magnet)
school in NSW, Australia and I FIND EXACTLY THE SAME
TRAITS.

Note: I have also taught some really TRULLY gifted
kids at my current school - and I am constantly
bedazzled at their capacity to learn, digest and DO
the most amazing things. I have been really lucky with
some kids where I know just enough to keep pointing
them in directions which they (a). enjoy and (b). are
beneficial for them and (c) continue to develop their
interests.

I could ramble on ... going round & round on this
topic for ages. Suffice to say i have turned to
Gamemaker since last year (term 4) to capitalise on
the motivation of being able to make REAL games -
using that as a lever to introduce higher order
concepts because it is REQUIRED in order to achieve a
certain outcome. I hope to be able to make a move back
to Python +PyGame in future years - have to see, at
present it seems our interests will be fulfilled using
Gamemaker.






---
 
regards 
Darren Payne 
Hurlstone Agricultural High School 
Ph: 9829 9222 Fax: 98292026



Send instant messages to your online friends http://au.messenger.yahoo.com 
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig