Hi,
I am brand new at teaching technology (not computer science trained, just kinda fell into it), and i am trying to develop a unit on computer language/software programming for 6th, 7th and 8th graders. Right now, I am looking at Scratch, Stagecast and Virtual Basic. Could anybody help me put these in perspective, and decide which one would be the easiest to start with and/or the most useful? Would anybody have any lesson plans or units they have already developed on the subject?
Thanks,
Bruno
Offline
I have never used Stagecast or Virtual Basic. I've never heard of "virtual basic" and it seems to have very little web presence, so I'd be rather concerned that it might be a dead-end product. I generally avoid anything with "Basic" in the language name, since the original "BASIC" programming language was a terrible teaching language that stunted the development of a whole generation of programmers. People who are basing teaching tools on that language and way of thinking are unlikely to be doing useful things pedagogically.
Of the various teaching languages I've seen over the past 35 years, scratch seems like the easiest to teach and to get kids producing interesting (to them) projects quickly.
Offline
People who are basing teaching tools on that language and way of thinking are unlikely to be doing useful things pedagogically.
When you need a program NOW that works and can be easily modified and worked in the real world, I think VB3/4 was the master
Somedays, you need a Big Mac NOW and you don't go into a high class restaurant with a Michelin starred chef to get one - you go to McDonalds
I've let some of your answers go by in recent months but I think your starting to troll a bit too much and I've now bitten
Rest of post/rant deleted
Simon
..back off to his cave to try to use some coloured mud on the walls to produce a good Mario game to show his classes - ooh - sorry - I am unable to do anything pedagogically ...
Offline
sorry, i meant visual basic of course (not virtual - bad bad typo)...
what i am looking for is some kind of progression that would go from easiest to harder to use but more flexible language??? to spread programming over the three years of 6th, 7th and 8th grade?
Offline
Scratch still seems to me like the best choice for a first language.
Next language depends a lot on what you want to do and what you want the students to learn. I can see arguments for alice, for starlogo, for java, for flash, and for various other languages. I could also see sticking with Scratch for 3 years, but advancing the programming level. (Three years might be pushing it for scratch, as you can cover all the essential features fairly quickly, and if you are not an expert programmer yourself, you could be running out of things to teach after a year.)
Offline
Well(!),
I learned programming with BASIC, as did quite a few folks of my vintage. (On a terminal that looked like a telegraph machine, your program showed up on paper as you pecked it in, if I recall correctly, you could type in "LI 10" to "list" it, which meant printing it onto the paper line by line.) I don't think it stunted me too badly :-) . And, in defense of my pedagogue, I must point out that it was the only thing available if you wanted to avoid punch cards!
I do agree that Scratch is an excellent starting point for learning to program. (A big plus: it's free! Interested students will use it at home.) While it has some limitations (on purpose) to keep it from being overwhelming to a new user, the basic constructs needed to understand the logic (and "art") of programming are available in a friendly and unintimidating package. Being able to use graphics right away makes Scratch instantly rewarding. The community (forum and users) is very active and some very impressive things have been done with Scratch.
Visual Basic is a far cry from "BASIC", and there's a good argument that "BASIC" doesn't belong in the name. VB is object oriented, following the "object.method" , "object.property" syntax, and has a truly excellent debugger. It's relatively easy to get started with it on a small scale, and as you get deeper into it, you could teach about passing variables "by reference" or "by value", explore concepts like creating "classes", and "instancing" the classes, even create "dlls".
VB sees a lot of use in industry. It's used to build "front-ends" for databases as well as stand-alone programs of various types. I've used it to control machinery (and seen others do that) and written simulations with it. People even make video games with it. A subset of VB is included with MS Office products (many people don't realize they even have it). The "VBA" that comes with Excel is a great way to add your own custom functions to a spreadsheet.
I haven't used the other languages that Kevin mentions, so I don't know how difficult they are to "get going" with. Alice looks (at a glance) like "3d Scratch", which a lot of Scratch users seem to want.
I suppose the decision comes down to where you want to go. VB lets you build a "Windowed" application very easily, and sees lots of use in business, but may not hold the interest of an 8th grader as well as something that creates nifty graphics. VB is not nearly as intimidating as C++, and not quite as dangerous (as in being able to really mess up the computer) but I think it is still probably "too much" for your target group.
If the course is just a semester (1/2yr) long, I think you could cover Scratch pretty well with the 6-8th grade groups. (You may want to tailor the course depending on the age group.) Perhaps by extending from just "Scratch" to using Scratch to do simulations of physics or solving some challenges with it, you could extend its use to 2 semesters.
-MrEd
Last edited by EdnaC (2008-01-11 15:18:06)
Offline
Mr. Ed, my programming development was definitely stunted by my first programming language (FORTRAN, using punched cards). I t was at least 4 years later before I learned my first structured programming language (PASCAL, when it first came out). I have since recovered from this beginning (about the best that was available at the time), but I would not recommend it to others.
I have long suspected that "Visual Basic" had little to do with Basic, but the applications that it gets used for (database front ends, Excel hacking, ...) have less than zero interest for me, so I've never bothered to learn the language.
Offline
I'll put my voice behine EdnaC's. Visual Basic and VBA see a lot of use in Industry and are great for getting out quick front-ends or single-use specialty programs. They are great for getting the job done in a timely fashion. The debugger is really nice. My only other language that I'm very familiar with is Fortran-77 which I wouldn't wish on anyone.
Scratch seems like a great language for an beginning programming course. It is a lot of fun and instantly rewarding. The price is right too! It is lacking a few things that would make it a better teaching language such as commenting capability, charcter strings and arrays. The commenting lack I see as a serious flaw; we need to encourgage all programmers to document their work properly. Hopefully this lack will be filled soon.
Offline
I did the punch card thing (once, for Fortran) too. And quite a bit with Lisp (AutoDesk's version), and Karel (Fanuc's robot language, similar to Pascal). Scratch is very impressive. I'd love to see it grow in capability, but I suspect that much of what us old programmers (and more advanced young ones) would like to see would be beyond what the developers want it to be, even if they could wave a wand and grant it with no effort. You can only do so much without making it something that doesn't fulfill the role that it does so well: Get kids writing programs and LIKING it!
What I've done with VB was work related, though it was actually pretty fun. I'm very curious about doing games with it, and there are quite a few books out there about doing just that, but my spare time for "playing" is limited and Bill isn't giving VB away, so Scratch is a good fit for me. There are some Open Source languages out that look a lot like VB, but again, I haven't looked into them. Anyone have experience with those?
What I find appealing about Scratch is that it is actually pretty "powerful" as it is, and you can dream up an idea, then spend a few hours (or even a few minutes) and have something up and running. I may have a look at Alice, but to be honest, I don't get that excited about 3d. I kind of enjoy the challenge of trying to dream up a "fun" game and building it, and for someone "raised" on the 2d quarter eaters of long ago, Scratch does (most of) what I want. It would be nice to get a list of what the developers would like add for sure, what they think are "maybes", and start collecting ideas on how to implement the new possibilities that don't go "too far". (Like your "pull-down" variable blocks, which I really think could be done in a way that wouldn't be confusing, they could even be mixed in with the existing blocks.)
-MrEd
Offline
Mr. Ed, Bill does give VB away, sort of... check out the "Express Editions", they are basically free versions of the full software...you don't get all of the features, but for a teaching environment, it should do more than enough.
http://www.microsoft.com/express/vb/Default.aspx
Paulmedwal
Offline
I would have to say scratch, but im not sure I am taking my first visual basics class this week for high school and when i take it ill let you know which one is easier to start with from my point of view!
Offline