Additional profile information on Alfred Thompson at Google+
Long before I ran into graphical/drag and drop programming languages for kids like Scratch and Alice I was thinking about some thing similar. What I wanted was a tool that allowed a beginner to write their own programs without syntax and syntax errors getting in the way. I wanted something that would provide the programmer only a list of the options that were legal in the selected context.
I envisioned drop-down lists largely because I am artistically challenged but conventionally I was along the right path. Of course the experiences people are having with Scratch and Alice are opening my eyes to a lot of things I hadn't thought about earlier.
One of the problems I've heard a couple of people talk about is that while these tools don't allow one to do things that would be syntax violations they also don't tell the user why they can't do those things. I'd like to see something that both listed the allowable options but also to ask why other things are not allowed. Perhaps a "Why can't I ..." option for the user. This seems like something that would especially help students who are learning on their own.
The other things is that variables are both tricky to create and to use in these tools. I'd like to see a way to easily create variables with names, types and initial values. And then of course we'd want adding them to algorithms and statements should be easy as well. Personally I have trouble dragging variables into little boxes in Scratch and Alice. I'd like to be able to right-click on a place and see a list of possible and legal variable options. I also think that warnings about possible interaction/conversion issues with different variable types (see my recent post on some Visual Basic conversion issues) would be useful.
I'd like to be able to run bits of code without driver programs/routines like one can in BlueJ or Visual Studio's Object Test Bench. I like the idea of doing small unit testing early in the development process. I also think it would be useful for students to see how the little pieces work individually as well as collectively.
And I'd like to see the created program be available in a variety of higher level languages. Alice allows one to see a more complex version of the symbolic code and I understand that one day Java output will be available. I'd like to see a choice of languages that include C++, C# and of course Visual Basic. Since F# is coming to Visual Studio which will make it more widely available I like the idea of using this programming method with a functional language as well.
Of course in my dreams one would be able to import higher level language code into this environment. But for practicality and manageability we'd likely to have to limit a tool like this to a subset of complete languages.
The other thing I would like is ease of combining multiple projects. With separation of UI and code using Visual Studio and Expression Design (part of the Expression Suite) and perhaps even Silverlight this should be manageable. In fact perhaps it would let designers create some simple code to work with their user interface designs.
What would you like to see in a teaching tool? Are there things missing in Alice and Scratch that you'd like to see? Are there tools in other IDEs that should be included in your ideal beginning programming environment? What should be left out?
Eventually I'd like to come up with something to ask Microsoft to build. Jump on in and help me out.
Nominations for the 2007 Edublog Awards are now open. Anyone can nominate their favorite education blog in one (or more) of 20 categories. So if there is an education blogger out there you think deserves some recognition this would be a way. I've nominated a couple of my favorites already.
Well October was an interesting month. In some cases I was pretty good at predicting which posts would get the most interest and in others I was pretty far off.
I did think that the free download book on creating websites that sell would be popular but I had no idea how popular. (My write up here - the download itself here) Apparently a lot of the professionals in my audience linked to it big time and hundreds of people followed the link.
My Game Builder which is a web site that lets beginners make cute and interesting games was also a big hit. That didn't surprise me. The site itself is just very well done and the potential for future growth is impressive. I was surprised that there were not more comments left on the post though.
Speaking of comments, my post on things that guidance should know received a good number of comments. Lots of people have opinions about the value of computer science (or lack there of) in schools and in preparation for a career. A lot of people also weighed in on my somewhat process oriented post on what the right rate of posting is. So far 58 of you answered my readership survey which I appreciate quite a bit.
My commentary on Mark Guzdial's post where he said that learning a second programming language was harder than learning the first received a lot of visits and attracted a surprising number on in links. For all that attention there were few comments left locally. Don't be shy people - tell me what you think!
Security was a big topic this month with the SQL Injection post (Do Your Students Understand this Cartoon) getting a lot of traffic. Many people seemed to find the Microsoft article I linked to on SQL Injection to be interesting. I also posted a link to a series of articles on threat modeling that seemed to strike a cord with people.
With all the apparent interest in security I expected more interest in the "Phun with Phishing" post that linked to an online game that teaching students about phishing sites. Well if the people who were interested got value from it then its still all good.
The really cool and different use of PowerPoint as a teaching tool/random access method was also interesting to a lot of people showing the range of interests among my readers.
A couple of posts from the end of September were still getting attention through October. Randy Pausch's last lecture continues to spread through the web. I even received a link to the version on YouTube from someone I hadn't heard from in months the other day. I do believe that the version at CMU is the best and most complete because it includes people who introduced and followed Randy.
People also continued to be interested in the IEEE special Issue on Tablet PCs in education. I'm not sure how much longer it will be available though. I saved a copy on my local PC and would be willing to share in the future.
Well that is my review of October posts. As always comments, suggestions and links to things you think I should be talking about or linking to are always welcome. Thanks for reading.