Re: [Edu-sig] Elementary School Instruction
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
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
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
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
> 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
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
> 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
> 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]
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