Hanging in there with Python

I will be teaching a Python class for dual-credit this Spring semester so I figured I ought to learn Python before then.  No big deal, I am used to learning a language in a hurry to a level I can teach it, and there is no other way of learning the language.  I worked through “Think Python” by Allen Downey which got the fundamentals out of the way.  The book was OK but did a lot of string manipulation assignments which is about as exciting as watching grass grow.  Oh well, the book is free which is the major factor in my textbook selection.  I am now working through “Making Games with Python & Pygame” by Al Sweigart.  Another freebee.  This is a bit more fun but I am not too crazy about the approach.  The author gives a program code at the beginning of the chapter then disassembles and explains the code.  This would work fine for those motivated to learn the language.  For high school kids it is not so optimal.  I think I need to keep looking for a fun factor textbook.

After working with Python for a month or so I do not really understand the educational hype I keep hearing about the language.  It is a perfectly good language but there are several out there that would seem just as good.  It is definitely better than Java or C languages for an early language but for lower levels (middle school or intro high school) Small Basic is much more teachable.  Working with Python has helped be design my programming curriculum.  My Programming I will stick with Scratch, Small Basic and a very brief glance at Visual Basic.  Programming II will be either Python or Corona, depending on who took what last year.  Programming III will flip Python and Corona.  Kids that hang in there for a fourth semester can be given a choice of what they want to do.  I really need to nail this down so it is solid.  I keep jumping all over the place (Codea, Alice, App Inventor, GameMaker, Lego Mindstorms, Arduino, Flint’s latest Great Idea) because there is always something new and fun to play with out there but I do not think that approach is best for the kids.  Of course once I get this nailed down something new and cool will appear and I will have to mess with it with the kids.  I just read an article about Microsoft’s Project Siena.  Arggg!  Just say no!

Advertisements

6 Responses to “Hanging in there with Python”

  1. Mike Zamansky (@zamansky) Says:

    I like Python very much as an intro language although all languages have faults but I haven’t used any version of Basic for ages.

    Could you elaborate on what about small Basic makes it more teachable?

  2. gflint Says:

    SB has intellisense so as soon as a letter is typed all the possible word/command options are there for the kids. On the right margin as soon as a command is selected the syntax for that command is shown. Greatly reduces memorization. No parameter passing, all variables are global. This can be good or bad but for beginners I see it as good. I like to do turtle graphics with the kids because I also teach math. Turtle graphics requires some good geometry. SB is a great turtle language. The tutorial that is on the web site is very simple but is enough to get kids started on some fun stuff. SB has very little overhead so I can get the kids doing things in it quickly and they enjoy the language. This is as simple as it gets but some cool games can be written with it.

  3. Mike Zamansky (@zamansky) Says:

    Not sure I agree on the global front, but for the other things you mentioned, IDE’s like PyCharm should do the auto-completion. I get it in my editor of choice – Emacs, but I wouldn’t wish that on a middle school or early high schooler.

    Also, python has a turtle graphics library (part of tk):

    import turtle
    turtle.Screen()
    t=turtle.Turtle()
    t.fd(40)
    etc.

  4. Garth Says:

    I think global variable are a pain but it is just one less thing to worry about with beginners. I am using PyScripter for an IDE and it does the auto-completion also. Very nice. I guess the thing with Small Basic is the simplicity. Most of the kids I teach are not computer geeks and this will probably be the only programming course they ever take. SB is simple to install and easy to remember how to use if they have been away from it for a while. It is one nice little package that is very low maintenance with simple documentation. It is an absolute pain to write something big in because of the lack of local variable and no parameters so it isn’t really appropriate for an advanced course. Give it to some beginners to tinker with. They can figure a lot of the language out without much guidance. No special librarys to worry about or separate IDEs.

  5. geekymom/Laura Says:

    I use Calico as my IDE. It’s multilanguage. And it includes some great libraries for robotics, graphics, even drones!

  6. Garth Says:

    Downloading Calico right now. I will give it a look. Thanks. I think my first week in my new course will be on IDEs. I actually think it is a relevant topic for a programming course, especially with a language that has options like Python. I have the same issue with Corona.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: