A new “class” has been proposed which will concentrate solely on programming.
As of 08/08/2007, it was decided to see if there's interest in the programming class detailed below.
A form will be given out at the end of the Scratch Programming Class to decide if there's interest. At minimum, there should be at least *interest* from 5 students before proceeding, although if there's 1 student that arrives promptly after Saturday classes, I'm willing to stay for the 90 minutes which is recommended.
The form can be located here: workshop_interest_form
Teach aspects of general computer programming. Different projects can be worked on during the class, making it more of a workshop rather than a class.
Some ideas are:
The following outline is very rough, and we should do research on existing programming classes. Here's rough concepts, and a
that we should find existing ideas by Googling for a HOW-TO on teaching programming. Important points to remember are:
People new to programming do not immediately need to know why something works. For example, it's more important to teach how to run your program, rather than why.
ruby myprogram.rb”ruby myprogram.rb which means blah blah blah. C++ is compiled, blah blah blah blah”This subject is relatively simple, yet so much time is wasted because people don't know how to find something on their computers unless it's the first thing that pops up when they run a program.
It does make a difference to teach people how files/directories work on a computer. I went for about 2 years in college without using directories to separate my projects. How I escaped basic filesystem knowledge is beyond me, but I was astounded when I learned about directories
I want to throw this out, and get feedback. So much time is wasted when people look down to hunt for a key and don't watch the screen, then must backtrack over their mistakes. Perhaps the basic finger positioning can be pointed out and students can be awarded for becoming better typists. Many students have remarked “Wow, you type fast!”. I don't know whether to be embarassed for being so geeky, or proud that I don't take a minute to type something that should take 5 seconds. The point is not to be fast while you type, but to be able concentrate on what you're doing without being distracted by the keyboard.
Even when learning how to program, it's good to start with a purpose or a goal.
We need to determine the best method for enrolling students in this class. After the kids' class of June 2007, I sent a couple of e-mails asking about students' interest in an advanced class. One student has responded. Perhaps this is due to CIN being unavailable to provide Internet access.
I've attended some linux meetings which were held at public libraries, and noticed at least six or seven kids using the Internet on the library's computers. We should inform students about the various public facilities which provide computers and Internet access, so they can periodically check their e-mail and keep the skills they've learned in the classes.
E-mail lists are one way of getting students to enroll in this class, but what other methods are out there for recruiting students?
The advanced programming class should probably state beforehand the concepts that will be taught, as well as the fact that there's not a computer waiting for students who complete these classes.