Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Wednesday, April 4, 2007

Alice


Programming is a difficult and time-consuming activity. Sometimes, a tiny mistake prevents a program from running properly, and it might take hours of debugging to determine the cause of an error. Middle School students expect immediate gratification, and if their projects don't work right away, they easily get frustrated and expect the teacher to fix errors immediately.

I always search for books, tutorials, and software to make teaching programming exciting and learning fun for Middle School students. Today, I’ve tried a free programming language Alice designed to teach object-oriented programming to children. It is developed by Carnegie Mellon University research group. Alice doesn’t require any previous knowledge of programming. The latest version 2.0 of Alice is available for free download.


Programming in Alice is easy. Students have to “drag-and-drop words in a direct manipulation interface.” Object can be added from the online gallery or created in 3DStudio MAX. A 3D world can be saved as a webpage applet.



Furthermore, I was impressed by a substantial list of available textbooks. Alice has an introductory video tutorial and the forum. In general, the newly released programs rarely have textbooks for teachers and students.

In my opinion, Alice is a good choice for Middle School computer classes. Also, it is open source software and could be implemented into High School computer classes. Students can download the source code and modify it.

Monday, April 2, 2007

Programming and Creativity -- Turtles and Geometry

This year, I teach Microworlds and Logo programming in 6th grade. Logo enables kids to become active designers and learners. In Middle School, programming exercises should require from students to design, implement and present some ‘mini’ programming projects. The learning process should be spiral and organized in gradual stages. Each stage should help a student to foster further understanding of the abstract programming concept. Logo commands and procedures are written in plain language: forward (fd), left (lt), pen down (pd) for drawing, repeat 4 [forward 100 right 90] for a square, and clear graphics (cg) to delete the screen graphics. Even error messages are simple in Logo: “I don't know how to square.”

After reviewing “Turtles and Geometry” activity, I asked my students to produce some interesting designs and patterns by changing variables and coloring geometric shapes with the Paint Can.


Squares



Circles



Tunnel



In the Tunnel project, a turtle has onClick command “fd 783 lt 983.” The student told me that he just put some random numbers to see what would happen.

Dulsky in his article “Logo Rose Windows” (The Computing Teacher 20 (7), 1993) suggests to shows students a picture of the Gothic Rose Window of the Cathedral of Notre Dame of Paris. Students should detect patterns in the picture and program a turtle to draw a rose window by using three simple geometric shapes. I would like to try this exercise with my students this semester.



Image: http://www.flickr.com/photos/quinnmckee/432565236/