“H” is for happiness!

The “Hour of Code” is an initiative to get all sorts of kids and adults to devote an hour during the 2013 Computer Science Education Week (CSEd), promoted by the Computer Science Teachers’ Association (CSTA), especially to draw attention to getting the activity to happen in the daily routine of school work. Lots of different groups have signed up to participate. There are hundreds of challenge activities which have been designed for every age group and for all sorts of contexts, in school and outside of the school setting.

Image

This example is based on the Khan Academy activity at https://www.khanacademy.org/hour-of-code/hour-of-code-tutorial/p/challenge-h-for-hopper.

This was my first use of the Kahn Academy site. The Kahn Academy activity was well done, with lots of popup support from an animated character named Hopper which is similar to the infamous “Clipper” help system of Windows. Hopper worked, especially in this context. The site does NOT require login or an account to use the coding tool. There is nothing to download. You are free to play.

Are you planning to participate?

Screencapture of my Kahn challenge. Yes, I know that the expected result is just the basic large “H” outlines, but what’s the point of stopping when the urge to extend washes over? If you choose to complete the activity for the badge, you will want to set up an account and go through the steps without doing extensions. You are not limited to the planned activity, but the system is set up to get a particular result in order for you to earn official recognition.

Image

Advertisements

If you were around for the beginning of the personal computer, this is a site for you. You’ve noticed the illustration, right? Yes that’s a screen shot from the IBM of around the early 1980s…Well, actually it’s an emulation, and what’s more, the emulation is done in JavaScript!

http://jsmachines.net/

Try it yourself.

Once the ancient machine boots, emulated in the speed of the day on a 4.77MHz processor, just tap the Enter Key twice to accept the default date of January 1, 1980 (You want the whole retro experience, no?)

There it is. BASIC and the flashing cursor just waiting for you to type a command.

Try this: (USING CAPS LOCK ISN’T NECESSARY, BUT IT’S REALISTIC.)

ENTER EACH LINE, FINISHING WITH THE ENTER KEY.

10 FOR X = 1 TO 10
20 PRINT X
30 NEXT

RUN

Wow, right?

Have we made progress? Maybe.

Now pat yourself on the back. You are a novice BASIC (Beginners All-purpose Symbolic Instruction Code)  programmer.

If you are even more “adventurous” work on figuring out how to load Adventure and play that. I’m told you can try the original VisiCalc, too.

Update: This thing could take off. Old software running in emulation might make it possible to actually get access to that ancient data that nobody converted. Dave Winer of RSS fame has an old outliner program, ThinkTank, that is now available on the emulator.

ScratchEd Meetup, Saturday June 18, 2011

The ScratchEd Meetup at MIT this Saturday was the final get together of the year. Across the Charles, Boston was packed with Bruins fans. Helicopters circled the Rolling Rally as a dozen of us shared our interest in programming with the ScratchEd team. We almost didn’t notice it was beautiful outside the windows. It did help that Building E-14, the Media Lab at MIT, is air conditioned letting us avoid the 80+ degrees outside.

The ScratchEd team, lead by Karen Brennan, got us to know one another, gave patient advice to keep us from stalling in our projects and sought our advice about the team’s plans for the coming year.

Scratch is developed by the Lifelong Kindergarten group at the MIT Media Lab.
See http://scratch.mit.edu

If you have an interest in programming and encouraging programming in the middle elementary to high school grades, Scratch is worth learning. Scratch is very accessible. It works on Macintosh, Windows and Linux. Everybody can get into the act. It is free software. You may download it to all the computers in your school, your students’ computers, your town library and community center. It is a visual tool. Scratch puts useful elements of a program into sensible categories and it is easy to gradually build complicated behaviors. Generally, a program shows the results on screen, often by moving images (called sprites) around in a “Stage” shown on your computer’s screen.

The focus of Saturday’s activities was physical computing. It was not just a speaker’s presentation and a bunch of talk. This Meetup let us have some fun, playing with sensors, Lego blocks and such. The ScratchEd team modeled good processes for us. Everybody was involved.

We were extra lucky. Some meetups this year were so well attended that they didn’t get the 1 to 1 attention we had. We had the chance to build sensor setups with the Pico Board and Lego WeDo sets. Everybody got their hands into the pieces and explored the real world with the easy USB connection to the computer. Scratch revealed measurements of light, tilt, and proximity. And with the WeDo motor, it was even possible to build a “Can’t Catch Me” car. Trying to sneak up behind the car set it rolling away, moving ahead of the stealty pursuit from a sneaking sneaker. We wrote a short Scratch program which instructed the WeDo sensor to activate the motor if anything came too close.

 

I strongly recommend you go to the Scratch website. Explore the work that has been submitted, mostly by kids from all over, kids with great ideas, kids who share their work to an international audience. After you have explored a bit, get your copy of Scratch, an easy download and install. Start playing. That’s right. Scratch is playful programming. Yes, it is possible to do programs which calculate sums, do multiplications, square roots and other “problems” typical in programming courses. However, Scratch encourages visual engagement which quickly allows/encourages students to make interactive stories and games.

In schools, computers have become tools, tools which too often focus on the “productivity” part that technology can provide. Children write more efficiently, learn to edit their documents and produce spell-checked, font-enhanced projects. Some even get to do mashup presentations and the ever popular spreadsheet. Computers help kids connect with more information than we could have dreamed of not too long ago. But efficient, productive use of computers is, too often, just no big deal.

How many of us really love the other tools of education, a pen, a pencil, a black or white board?

Do your students often tell you how much they love using the computers in the classroom?

Is something missing in the concept of productivity though technology?

Scratch provides what kids want from a computer, an engaging chance to take control of a computer and, most importantly, to have fun. You know, fun, that thing everyone is looking forward to when they start kindergarten or first grade. Scratch can reinvigorate that fun for kids and their teachers.

If you can’t get Scratch into your school’s core curriculum, add it to the after school program; get it into Boy Scouts and Girl Scouts; gather your kids and the neighbors in the playroom. You’ll all have fun. You should not be surprised that you’ll also learn something.

Finally, become part of the ScratchEd group. You’ll get to access tutorials, training materials like the popular Scratch Cards, and an enthusiastic group of users who will share their successes with you, and encourage your success, too.

The MassCUE Conference for 2009 is over. Some part of me wishes it were still going on, but then sanity kicks in and I am glad the three days have passed. I look forward to the ghouls, goblins, ghosts and superheros who will visit in costume tonight for Halloween.

I’m dressing as Norm Abram, master woodworker, plaid shirt, toolbelt and all. I won’t be alone. Popular Woodworking has encouraged it. (Thanks for all the years of New Yankee Workshop, Norm!)

Gillette gave us a great venue. The conference was full; 1300+ over two days got to see speakers, keynotes, demos, vendors and the Patriots practicing on the field both days!

Several of you came by the registration table where my volunteer assignment put me (and I enjoyed immensely). It was great to see you and I was glad to be able to speak with several of you.

Share your tales of the sessions here because nobody could get to all of them. I sneaked away from the registration table long enough to attend the session on Scratch given by Mitchel Resnick of MIT.

Programming as a creative activity has been around since BASIC hooked me in on my TRS-80 back in the 1970s, and LOGO was great for kids, too. Scratch is another step in the right direction because it abstracts the tedium of typing correct programming syntax and lets a student concentrate on the creative structure instead. Scratch is very visual and embeds the programming effort in an effective envelope that allows a person to imagine, create, test, share and rework. The on line storage at the Scratch servers makes projects by others into tools for exploration and development. If your posted project inspires another user to experiment on your work, the result automatically shows the development sequence, giving credit to each contributor, your original work and that of your collaborator.

As a result, a community of effort can develop around a project with several people making contributions to create projects that have input from many, even when the contributors are scattered around the globe. Scratch may be to students and schools what open source is to professional programmers. Time will tell, but Scratch may be a path that leads young people into the culture and community of sharing/collaborating and and contributing. It could help to produce the next generation of open source programmers.

Scratch is available for download from http://scratch.mit.edu/ and is available for both Windows PC and Macintosh. A Linux version is in beta and can be downloaded for Debian/Ubuntu systems.

[This post started out just to focus on Richard Stallman’s comments about Free Software in schools, but morphed as I wrote it to also focus on programming in schools. I guess you are lucky. You get two posts in one!]

Richard Stallman isn’t exactly a household name.  The chances are that his name isn’t brought up in most US schools either, but it should be.

Stallman is the moving force behind Free Software. Yes, that does mean free from cost, but much more importantly such software is free to be used, studied, modified, improved.

The Free Software Foundation is an organization working to put Stallman’s ideals into action. The most well known of the organization’s work may be the GNU General Public License (GPL), a software license that seeks to ensure software freedom.

The operating system, GNU/Linux is licensed under the GPL as are thousands of other programs.

I bet Richard Stallman would not even mind too much if students didn’t learn who he is, as long as they get to benefit from his ideals.

Students need to learn by doing. That means they need to learn to read by reading, learn to write by writing, learn math skills through computation.

Students learn more by being creative than by rote memorization. It has seemed to me a shame that the creative activities of computer programming have been almost totally absent from the curriculum lately. There has been an argument that students should see and use computers only as a tool, one they learn to use, but not actually control. So we teach them how to do word processing, spreadsheets, etc. That strikes me as similar to stopping math education after fractions…no algebra, trigonometry, calculus and so on. Math teachers are certainly asked often enough, “Why do we need to know algebra? We’ll never use it.”

You might know that programming was once a common part of many schools’ curricula. TRS-80, Pet, Apple II, IBM 8086 and more all came with the computer programming language, BASIC along with the operating system. When those computers spread into schools in the late 1970s and 1980s, programming was common in high schools and junior highs. Soon after that, Computers got the Logo programming language created earlier by Seymour Papert and colleagues at MIT. Logo took programming skills into the elementary schools. Is any programming language still generally taught in your school/district? Has programming remained at all, even as an elective for high school?

Writing on Education, Stallman has said:

Free software permits students to learn how software works. When students reach their teens, some of them want to learn everything there is to know about their computer system and its software. That is the age when people who will be good programmers should learn it. To learn to write software well, students need to read a lot of code and write a lot of code. They need to read and understand real programs that people really use. They will be intensely curious to read the source code of the programs that they use every day.

Some have argued that programming need not be taught until college, but is that really soon enough to begin programming?

Stallman further along in his article says:

The next reason for using free software in schools is on an even deeper level. We expect schools to teach students basic facts, and useful skills, but that is not their whole job. The most fundamental mission of schools is to teach people to be good citizens and good neighbors—to cooperate with others who need their help. In the area of computers, this means teaching them to share software. Elementary schools, above all, should tell their pupils, “If you bring software to school, you must share it with the other children.” Of course, the school must practice what it preaches: all the software installed by the school should be available for students to copy, take home, and redistribute further.

You can read the full article at the Free Software Foundation:

http://www.gnu.org/philosophy/schools.html

You might also benefit from reading more about Free Software.

http://www.gnu.org/philosophy/

Questions for you to answer:

Does your school/district use and encourage students to use Free Software?

Does your school/district have programming courses in the curriculum?

Do you use algebra in your daily activities, and if not, would you advocate it be removed from the general curriculum?