<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.2.5">
</HEAD>
<BODY>
On Thu, 2006-11-05 at 12:00 -0400, <BR>
<FONT COLOR="#000000">Petre Scheie <<A HREF="mailto:petre@maltzen.net">petre@maltzen.net</A>></FONT> wrote:<BR>
<FONT COLOR="#000000"><I> What programming languages are people teaching in K12LTSP environment</I></FONT><BR>
<BR>
I believe PASCAL is a great first language. I use FreePascal from <A HREF="http://www.freepascal.org">http://www.freepascal.org</A>. It can be used for procedural and OOP. I like PASCAL because it was designed for the purpose and has a rather small vocabulary. Students do not  need much more than the compiler and a simple text editor like vim or gedit. For preparing students for the workplace, C would be better, but it could be put in an intermediate or advanced course. A first course should get them excited about programming, not overwhelm them. With databases, I use MySQL. I also teach HTML with a simple text editor and Bluefish. HTML is just the beginner's level. That extends with PHP, javascript and CGI scripts. Pascal is good for writing CGI scripts because it has simple, powerful string handling. To set up servers, one pretty well has to introduce students to BASH. Starting in grade 9 or 10 and extending to grade 12, these languages will turn ordinary mortals into rabid computer geeks.<BR>
<BR>
 I think it is important to start as early as possible and do easy stuff at first. Keep it simple and use lots of examples. I have used the curriculum in Manitoba, Saskatchewan and Alberta, in Canada. Alberta is the best. They have a large number of Career and Technology Studies modules. Related to computers, one finds material on graphics, computer hardware, networking and programming. The idea is to bring teachers knowledgeable and excited about the field together with students who do not know what to do with themselves and to give the students the idea that they can do magic. I was once teaching a class in networking. The topic was ethernet cabling and I was getting students to assemble cables. A student visited the class on some errand and asked to join. She became the superstar being able to install PCs, networks and servers without ever having touched hardware before or having any idea that this might be in her future. The modules are flexible. Students are evaluated on accomplishments and keen students can finish a module and go onto the next. See <A HREF="http://www.education.gov.ab.ca/k_12/curriculum/bySubject/cts/">http://www.education.gov.ab.ca/k_12/curriculum/bySubject/cts/</A> The strands I have used are Information Processing, Electrotechnologies and Communication Studies. Saskatchewan's curriculum is decent but not as extensive. Manitoba has finally done a re-write from ancient articles and is getting close. With the Alberta curriculum, a student could accomplish all the objectives of the Manitoba curriculum for Computer Science in one semester. Manitoba spends a year on warm fuzzy things, a year on introductory topics and a year doing the real stuff. I think they must be trying to bore the keen students to death... The main differences are that the Alberta curriculum assumes the teacher is knowlegeable and on fire permitting many things to be done in parallel. That is, you teach the warm fuzzies about computers while students write their first game or search engine. Manitoba seems to assume the teacher is learning along with students and must plod. I wrote them and did not receive a reply... I will be teaching in Manitoba this year, and my students will not fall asleep. I will assume the Manitoba curriculum is the minimum standard.<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
-- 
A problem is an opportunity.
</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>