[K12OSN] Teaching Programming Languages

Todd O'Bryan toddobryan at mac.com
Tue Mar 6 21:55:34 UTC 2007


There are two AP Computer Science classes. They use Java and are
equivalent to either the first or first and second semesters of a
typical college CS major. I would highly recommend teaching an intro
class before offering AP, though, as the curriculum and test are pretty
challenging.

In my school, we teach three years of programming. We begin with the How
To Design Programs curriculum (http://www.htdp.org) developed by the
TeachScheme! project (http://www.teach-scheme.org). The textbook and all
the software you need for that is freely available online. It's what I
use for my of the first year. At the end of the year, we transition to
Python. It has less overhead than Java, but has similar syntax.

The second year is the AP course, using Java and the BlueJ programming
environment (http://www.bluej.org).

For students who've survived the two previous classes, we offer a
Special Topics in CS class. The curriculum varies, but this year we're
doing Python and creating web applications.

I highly recommend the HtDP program. It's pretty student-friendly and
has a really active group of high school and college teachers who use
it.

Todd

On Tue, 2007-03-06 at 13:56 -0500, Joe Korzeniewski wrote:
> 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>
> 




More information about the K12OSN mailing list