Friday, December 06, 2013

Programming Languages for Middle School

There may be quick questions but are there any quick answers? I had the following Tweet recently.
OK the question was quick and I answered quickly with:
But that left me unsettled. It’s been a while since I taught middle school full-time. I’ve done some workshops for middle school students (Kodu and HTML) but that is not the same. But I know that a lot of people are using Python, Small basic, Alice and Scratch with middle school students. So the answer seemed reasonable.
I decided though to ask some people who are involved with middle school computer science education what they thought. Laura Blankenship was the first reply:
JS would be JavaScript which is a real up and coming language. That she uses different languages with different grades should not come as any surprise. Students to a lot of growing in every way between 6th grade and 8th grade.
Patrice Gans added App Inventor and Kids Ruby to the list of recommendations. 
App Inventor is based on ideas from Scratch and I like it. It might work best if you actually have some devices (Android phones or tablets) to work with. KidsRuby I don’t know much about at all so I guess I’ll have to do some research on that one.
Patrice has a Google Doc with a list of K through 8 computer science education resources BTW. I was reminded of this during a Twitter chat about K8 computer science the other night. You can see a lot of that by looking at the #CSK8 hash tag. I think they may be running these chats regularly so keep an eye of for them.

[edit] Emmanuel Schanzer reminded me on Facebook that some 2000 middle school students are using the Bootstrap curriculum he developed using the Ratchet language. "Bootstrap is a curricular module for students ages 12-16, which teaches algebraic and geometric concepts through computer programming. "

1 comment:

Garth said...

After a couple of weeks of working with Python I would hesitate to use it with middle school unless they have done some previous language like Scratch, Alice or Small Basic. It seems to be a bit picky with syntax and tabs to use with middle school. I have started using PyScripter with my Python and that does make it more user friendly. Also, compared to Small Basic, Python is a little low on the fun factor. In our case all our middle school goes through our programming course as part of a tech course so it is not an elective. The class skill level goes from tech savvy kids to tech challenged kids. Whatever language we use has to entice those that are clueless. My hands down favorite introduction line code language is Small Basic. The combination of Intellisense, documentation, tutorials, user network and what can be done with it makes it the winner by a huge margin. The fact it does not pass parameters sort of limits it as a big program language but it can be done. Scratch is our choice for a very first language in middle school. When the kids get their regular daily work done in the tech course they are allowed to work on their Scratch programs. Kids want to program in it. What more could you want in a programming language?