Re: Edu-sig Digest, Vol 19, Issue 22
Joe, I am a high school teacher in Australia and I have kept right away from C / C++. I feel it is simply too hard @ high school level. I think we have "spoken" before? I have taught Pascal, VB, Python and Java - as core languages over the years. I have also taught Prolog, Haskell and Scheme LISP - to demonstrate alternative thinking patterns in programming. All programming at high school level, in my experince, suffers because the GUI in VB is so damn good! I tend to agree that it doesn't encourage the best coding skills in students ... however it does allow them to focus on getting results - relatively quickly - and with the graphical components which are important to them - (hold attention, motivate etc). Python IS a GREAT language to start out with ... but simply put, the lack of GUI means only the most committed students get anything out of it without alot of coercing from me. I read Kirby's work with interest - however my experience is teenagers just aren't interested in math. Rather it is a chore that must be endured, a minimum standard society requires us to attain. Java ... well is some regards good, but honestly in my opinion - vastly over rated. It has so much "gumph" in it that it takes students 9 - 10 weeks before they begin to feel comfortable with it and mostly in this time you lose the majority of them. Once again a VB like GUI is required. The whole code in this, compile here, run and then work out what's wrong puts lots of students off - even when you give them a decent IDE (I like JCreator, JGRASP or BlueJ if you want to focus on OO programming) I see a moderate number of students (always boys) each year who will definitely become programmers / study computer science. I encourage these kids to look at Python and Haskell - and they tend to be the sort of person who can look beyond the GUI and want to learn how to really program. For the remainder of students who have chosen IT more for general interest I use VB (last year, 2004, we did Python, console based programs are really boring!). This year I have changed and moved to Gamemaker. I have read huge amounts of material advocating programming games as a way to encourage kids to think - (analyse, synthesise, evaluate, plan, design, manage, communicate) ... AND I have never seen such enthusiasm for programming, smiles from ear to ear - even the girls love it! BTW Gamemaker written in Delphi - I think - and has its roots in Pascal. Hope this helps regards Darren --- edu-sig-request@python.org wrote:
Send Edu-sig mailing list submissions to edu-sig@python.org
To subscribe or unsubscribe via the World Wide Web, visit http://mail.python.org/mailman/listinfo/edu-sig or, via email, send a message with subject or body 'help' to edu-sig-request@python.org
You can reach the person managing the list at edu-sig-owner@python.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of Edu-sig digest..."
Today's Topics:
1. High School Programming for Newbies (Joseph Ehlers)
----------------------------------------------------------------------
Message: 1 Date: Thu, 24 Feb 2005 20:39:56 -0600 From: "Joseph Ehlers" <ehlersjp@msn.com> Subject: [Edu-sig] High School Programming for Newbies To: <edu-sig@python.org> Message-ID: <BAY4-DAV26194BFD97580C48EFDAF8DA650@phx.gbl> Content-Type: text/plain; charset="iso-8859-1"
Dear Python Community,
I joined the Python Edu-Sig about a year ago and posed the question of what would be good for an Introductory High School Programming course. Your input guided my efforts and now my high school is finally going to offer programming courses starting next year; we currently do not offer any programming. We have permission for two classes and administration support for a third class a few years down the road. At the moment the course offerings are looking like this:
1.. The first semester class will probably be Visual Basic. Two reasons for this: 1). The GUI should hold students' attention quickly in this elective class and, 2). Every other high school in my metro area is offering Visual Basic. 2.. The second semester class is looking like it will be Python. Books are hard to find but I'm looking at, "Python Programming for the Absolute Beginner" by Michael Dawson, "Python Programming An Introduction to Computer Science" by John Zelle, and "How to Think Like a Computer Scientist Learning with Python" by Allen Downey, Jeffrey Elkner and Chris Meyers. Maybe I'll settle on one or a combination of the three. 3.. The next full year class will be AP Computer Science Java (This class won't happen for a few years however. I have to become more knowledgeable before I tackle three big fish at once).
I have done a lot of research on this but I must confess that since I am not a programmer that most of the research results are over my head. My high school is not turning out programmers; we are just trying to expose students to computer science and programming and to help them think logically through problems. We are trying to prepare them for college computer science. From my research, Python's strengths seem to be: easy to learn, simple syntax, fun, allows students to spend time thinking about the problem versus fixing syntax, transitions nicely into Java, and develops logical thinking. All that sounds great, just what we are tying to accomplish and I can't wait for the course.
(I'm finally getting to my question.) Now some people are telling me that we need to offer C++. Help! I don't think I can fit more into the curriculum and do justice to any one language. One of our goals is to offer AP Computer Science Java in the future and we want the students adequately prepared for that language. What is the opinion of the Python Edu-Sig community? Should we offer C++? And if so, where would it fit into the curriculum?
Thank you. This community was very helpful in the past in steering me in the right direction. (Another strength of Python). You are helping shape new courses at the high school level. Your help is greatly appreciated.
Joe Ehlers
Behalf Of Darren Payne
Python IS a GREAT language to start out with ... but simply put, the lack of GUI means only the most committed students get anything out of it without alot of coercing from me. I read Kirby's work with interest - however my experience is teenagers just aren't interested in math. Rather it is a chore that must be endured, a minimum standard society requires us to attain.
Are we wrong to impose that chore? Or is it a responsibility of the educational system? If a responsibility, is it fair of the computer science educational community to peal off from it? When they hold the best cards. Art
Behalf Of Darren Payne
For the remainder of students who have chosen IT more for general interest I use VB (last year, 2004, we did Python, console based programs are really boring!). This year I have changed and moved to Gamemaker. I have read huge amounts of material advocating programming games as a way to encourage kids to think - (analyse, synthesise, evaluate, plan, design, manage, communicate) ... AND I have never seen such enthusiasm for programming, smiles from ear to ear - even the girls love it! BTW Gamemaker written in Delphi - I think - and has its roots in Pascal.
I don't mean to be combative, but I do look forward to IT loosing its privileged status in this regard, "analyse, synthesise, evaluate, plan, design, manage, communicate" I would hope that would be occurring in all aspects of the curricula, but that in no aspect of the curricula could it be considered sufficient outside the context of the substance of the subject matter. Bottom line, games are being made. And what is being taught is something about how games are made. Fine. But let's not elevate beyond that. Should the rest of the staff allow themselves the same basis to judge their success? Smiles, and girls like it. Math teachers - poor suckers. Art
Darren Payne
of coercing from me. I read Kirby's work with interest - however my experience is teenagers just aren't interested in math. Rather it is a chore that must be endured, a minimum standard society requires us to attain.
Yes, there's a lot of truth in that. And yet we insist they climb a slope vis-à-vis mathematics, i.e. we step them up a ladder, and send the message this is mandatory for many technical careers. So, *given* that, my question is: OK, so would you rather climb this ladder with or without Python (and/or other computer languages)? One approach: the math teachers are handling math, so we doing computer stuff are just free to play games and ignore math, because that's what kids like. Another approach (mine): let's compete with the math teachers, and show how to cover a lot of the same concepts and materials, but in a way that's more relevant and engaging -- AND we'll have time for games as well. Kirby
Darren Payne
of coercing from me. I read Kirby's work with interest - however my experience is teenagers just aren't interested in math. Rather it is a chore that must be endured, a minimum standard society requires us to attain.
Yes, there's a lot of truth in that. And yet we insist they climb a slope vis-à-vis mathematics, i.e. we step them up a ladder, and send the message this is mandatory for many technical careers.
So, *given* that, my question is: OK, so would you rather climb this ladder with or without Python (and/or other computer languages)?
One approach: the math teachers are handling math, so we doing computer stuff are just free to play games and ignore math, because that's what kids like.
Another approach (mine): let's compete with the math teachers, and show how to cover a lot of the same concepts and materials, but in a way that's more relevant and engaging -- AND we'll have time for games as well.
I would state a similar position, but with a little more emphasis on the importance of mathematics in a general education regardless of one's career direction. Or at least the mathematics that Felix Klein and friends have in mind. Against which the importance of exposure to VB or Gamemaker pales. And as public education is definitely an environment of limited resources - and it is more than clear which of these endeavors consumes more of those resources - hard for me to resist questioning the allocation, and with more alarm, the direction things seem to be taking. What I *don't* particularly question - which leaves me in never-never land somewhere - is Darren's conclusions as to the practicality of teaching Python in the context of a "soft" introduction to "computers" at a high school level. I just consider that no reflection on Python and its ultimate utility as an educational tool - when we get on with things a bit more. Whenever that might be. Art
Behalf Of Arthur
I just consider that no reflection on Python and its ultimate utility as an educational tool - when we get on with things a bit more.
Whenever that might be.
BTW - Given my bent, it is not surprising that to me the most significant recent development in the realm of Python and education is the announcement of Numeric3, and its goals: http://numeric.scipy.org/ """ Numeric3 There is a new project called numeric3 which should replace Numeric for almost all users. The goal is to make numeric3 a hybrid of and improvement on both numarray and Numeric. An older document roughly describing this project can be found here. Numeric3 can be checked out of CVS from sourceforge using the modulename Numeric3. When it is finished it will replace Numeric in SciPy. It will also be pushed to try and get it into the Python core (at least the basic types). Towards the goal of making numeric3 a hybrid of numarray and Numeric so that (at least portions of) it can be placed in the Python core, here is a PEP for an arrayobject for the Python core. It will be submitted as soon as enough interested people help construct it. The PEP is in the CVS tree of numeric3 (CVS module name Numeric3) which is hosted at the numpy sourceforge site. It can be edited directly by any developer of Numeric or numarray and this behavior is encouraged. Alternatively, snippets of text can be sent to oliphant@ee.byu.edu for insertion. """ I lot of the math I now know, I learned from Numeric. Which, BTW, I was doing for fun. Good, hard fun. Art
Python IS a GREAT language to start out with ... but simply put, the lack of GUI means only the most committed students get anything out of it without alot of coercing from me.
Also, on the GUI front, I think a nice compromise, if you're not wanting to code up inside of Tk (e.g. with John's graphics.py) or wx, is to do cgi and use the browser as your GUI. Even with a whiz bang GUI, there's still a question: what does your program *do*? i.e. what's the GUI about? One needs at least *some* guts behind the cosmetics. As a FoxPro programmer, I know the appeal of dragging widgets from palettes the Microsoft way. Speaking of FoxPro, I'd choose VFP over VB any day for teaching. The language let's you define classes, not just use objects (VB .NET is just catching up), plus you've got all the project management tools, even though it's not inside Visual Studio. Plus you've got a better interactive environment, embedded SQL and I think a cleaner syntax (OK, I'm biased). Indeed, I was well on the way towards pushing VFP as the teaching language of tomorrow when I discovered Python. Here's an article left over from that chapter, about VFP + POV-Ray: http://foxpro.advisor.com/doc/05315 (print issue: March 1999) Kirby
Darren Payne wrote on 2005-02-26:
This year I have changed and moved to Gamemaker. I have read huge amounts of material advocating programming games as a way to encourage kids to think - (analyse, synthesise, evaluate, plan, design, manage, communicate) ... AND I have never seen such enthusiasm for programming, smiles from ear to ear - even the girls love it! BTW Gamemaker written in Delphi - I think - and has its roots in Pascal.
Game Maker is real fun but quickly one bumps into the need to "real" programming operations that are more awkward than in a real language like Python. I'd like one day to develop ^H^H^H see (I don't want to commit to anything so big ;-)) a Python-based GameMaker. Presently, I think many nice things can be done with pygame and perhaps a bit of code wrapping it. -- Beni Cherniavsky <cben@users.sf.net> Note that I can only read emails on week-ends.
-----Original Message----- From: edu-sig-bounces@python.org [mailto:edu-sig-bounces@python.org] On Behalf Of Beni Cherniavsky Sent: Saturday, March 12, 2005 4:49 PM
Presently, I think many nice things can be done with pygame and perhaps a bit of code wrapping it.
Lee Harr's pygsear not only provides the wrapping, but a curriculum based on it. http://www.nongnu.org/pygsear/doc/index.html I only wish that pygame was named otherwise - thinking that its general utility for educational purposes (and otherwise) is significantly broader that game making, and that the name misdirects folks. To me the "game" is in getting the computer to respond to one's instructions, and that directing the end product to be in particular a "game" in any normal sense of the word is unnecessarily limiting, and - IMO - not as generally appealing to beginners as seems to be assumed. I do think that visual and/or sound feedback is a great way to go, and in that sense, in particular, pygame provides a nice platform. Art
Arthur:
To me the "game" is in getting the computer to respond to one's instructions, and that directing the end product to be in particular a "game" in any normal sense of the word is unnecessarily limiting, and - IMO - not as generally appealing to beginners as seems to be assumed.
Perhaps the solution is to get "game" to mean anything/everything, when we need it to. Wittgenstein: language games (anything we do with language) Bucky Fuller: world game (anything we do on Earth) That's a good start, i.e. you're in good company here. Kirby
participants (4)
-
Arthur
-
Beni Cherniavsky
-
Darren Payne
-
Kirby Urner