[K12OSN] Teaching Programming Languages

Joe Korzeniewski jkorz at mceschools.com
Tue Mar 6 18:56:05 UTC 2007


Yeah, I realized that about two clicks past send. 

My biggest hurdles are:

1) I am a recovering M$ programmer. I know some C++ and am learning PHP, but I don't know enough about python to use it, let alone teach it.
2) Even if I was a python wizard, I am not a teacher so they wouldn't let me teach a class on it.

So I am hunting for a language that I can teach to a teacher who can teach it to students. If the students are taking well to python... there could be a gleam of hope that teachers could learn it too :-D

Is anybody teaching klogo-turtle to their elementary students or know about someone who is?

I am trying to convince our administration that we need to make technology more interesting for students (we teach typing until 10th grade). We are lucky enough to have 1:1 laptops in our high school (came with windoze for the grant, but the grant is over, so I am going to have my way with them next year). The problem is that the only thing they are used for is M$ office! 

Is anybody having any success getting students involved and interested in technology past the basic M$ office classes (other than what we have already discussed)?

The reason I am asking all this is so that I can gather some good examples of how people are making students excited about tech using free software (stuff that windows can't do is always good) so that they will have an easier time with the onset of my impending GNU/Linux takeover. 



Joe Korzeniewski
Technology Director
Mason County Eastern Schools
231-757-1120


>>> robark at gmail.com 3/6/2007 1:07 pm >>>
I think this should be a new thread.

---------- Forwarded message ----------
From: Robert Arkiletian <robark at gmail.com>
Date: Mar 6, 2007 9:38 AM
Subject: Re: [K12OSN] Dropbox directory permissions
To: "Support list for open source software in schools." <k12osn at redhat.com>


On 3/6/07, Joe Korzeniewski <jkorz at mceschools.com> wrote:
> This is kind of a caveat....
>
> Robert,
>
> What grade level are you teaching them programming (I am assuming python) at? Did you find the curriculum or develop it yourself? Is this most of your students' first exposure to programming or are they introduced to it in lower grades with kturtle or something similar? I am trying to get our school to teach something other than keyboarding and office to our students and I think programming would be perfect. Anybody else having any luck with programming classes?
>
>



Yes, this is my first year teaching Python. In years past I taught
C++. I switched because Python is so much easier for kids to
understand and therefore it keeps more kids interested in continuing.
Take a look at this example which compares some languages.
http://www.cs.sfu.ca/news/events/psc/io/ 
I teach two courses, junior and senior. The junior course has no
prereq. and is open to grades 10-12. I assume my juniors know nothing.
The senior course has the junior course as a prereq. I developed the
curriculum myself. My courses are actually a combination of Linux
command line stuff and Python. For a Python textbook I am using "Byte
of Python" PDF by Swaroop. Command line stuff includes things like ls,
mv, cp, tar, id, chmod, vi, finger, permissions, ssh, wc, piping,
grep, find, and so on. At first my students think these two topics are
not related. Then about 2/3 of the way through the junior course I
introduce (import os and sys) So they can start making system calls
and use command line args from within a python script. Very fun! In my
senior course I get into object oriented programming and gui's. In the
past I tried teaching FLTK in C++ but found there was too much C++
overhead to teach high school kids. So next year I am planning to
teach pyFLTK. pyFLTK is basically the same as FLTK but in python and
without the overhead of pointers, dynamic memory allocation and
destructors. Look at this  simple object oriented pyFLTK program. It
shows how widgets can talk to each other.

#!/usr/bin/python
from fltk import *

class MyApp(Fl_Window):
       def __init__(self, w, h, label):
               Fl_Window.__init__(self, w, h, label)

               self.begin()

               self.button1 = Fl_Button(95, 5, 140, 50)
               self.button1.label("Not clicked yet")
               self.button1.callback(self.button1callback)
               self.button1.color(FL_BLUE)

               self.input1 = Fl_Input(95, 90, 140, 50)
               self.input1.label("Input box")

               self.end()

       def button1callback(self, widget):
               widget.label(self.input1.value())

Fl.scheme("plastic")
app = MyApp(450, 155, "Widget communication")
app.show()
Fl.run()


-- 
Robert Arkiletian
Eric Hamber Secondary, Vancouver, Canada
Fl_TeacherTool http://www3.telus.net/public/robark/Fl_TeacherTool/ 
C++ GUI tutorial http://www3.telus.net/public/robark/ 

_______________________________________________
K12OSN mailing list
K12OSN at redhat.com 
https://www.redhat.com/mailman/listinfo/k12osn 
For more info see <http://www.k12os.org>

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.





More information about the K12OSN mailing list