@alfredtwo Hi Alfred! Quick question: what prog. language do you recommend MS students learn?
— David Lee EdTech (@davidleeedtech) December 4, 2013
OK the question was quick and I answered quickly with:
.@davidleeedtech Either Python or Small Basic. You may want to start them with Alice or Scratch for basic concepts first. They'll have fun.
— Alfred Thompson (@alfredtwo) December 4, 2013
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:
@alfredtwo @reesegans @kelpowers5 @davidleeedtech Good question! I have 3 diff. languages right now: Scratch (6), Python (7) & JS (8)
— Laura Blankenship (@lblanken) December 5, 2013
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.
@lblanken @alfredtwo @kelpowers5 @davidleeedtech I agree. Need 2 add @AppInv , also @KidsRuby There is a lot 2 choose from
— Patrice Gans (@reesegans) December 5, 2013
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. "
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?
ReplyDelete