This example shows off some of the new features in the latest Calico, version 2.3.5: you can programmatically create a spreadsheet, put data in it, collect data from other users, and make the data available on the web. This might be a way of collecting data in a classroom activity (perhaps measurements of some kind), or perhaps a multiplayer game. The program below is what the teacher might show on the screen, as it shows the spreadsheet as it changes as new data comes in from the student.
You can download the latest Calico from http://calicoproject.org/Calico_Download
There is a new version of Calico, version 2.0.4, ready for download. This version fixes a few bugs, new examples (such as accessing the Arduino), and adds a new language (Logo) for Calico. Additions to this version include:
In the Fall 2012 semester I'll be teaching a quarter course (1/2 semester) on Physical Computing at Bryn Mawr College. As an experiment, I thought I'd explore programming an Arduino, but I'd like to start out programming interactively rather than jumping straight into embedded systems using C.
Processing is the basis for the standard method of the Arduino programming environment, and also Processing can be used to talk to an Arduino board directly. I wondered if Calico could be used in the same way.
The Pyjama Project is a framework for learning, doing, and playing with computation. At its core is an integrated editor, interactive console, and social interaction framework for exploring computer science through modern, dynamic languages. It is designed to be a simple, yet powerful, integrated development environment (IDE) for students, teachers, researchers---and regular humans, too! It runs on most any operating system, including Linux, Mac OS X, and Windows. All sources for the Pyjama Project are open and free---freely available and you are free to use them in various ways.
Pyjama has three main types of users in mind: the educator, the learner, and the scripter.
Pyjama is a framework for educators to instruct, gain insight, and to explore better methods of teaching.
Pyjama is ready to use for instruction, and includes useful functions for teaching in the laboratory setting:
Instructors can use the user checkpoint question feedback, chat questions, and log analysis to adapt, even on the fly.
Instructors can extend the Pyjama framework by developing their own languages, visualizations, or interfaces. For example, an instructor develop a new text-based language, or a language like Scratch; or they could develop an interface to objects, like BlueJ.
Pyjama is designed for students:
It is planned that Pyjama will support extended assistance for getting help with particular errors.
Pyjama is a nice environment for writing code, in general. It is planned to make Pyjama be an environment for exploring (and researching) ideas in computer science. For example, one can write in multiple languages, sharing data between them.
We have been busy working on the Pyjama Project, our next version of our educational environment, and the Myro API to interact with robots.
As we have been redesigning the entire scripting environment from the bottom up, we have asked ourselves: what should a modern environment look like for learning about computing? There are many aspects to think about, but one that we have always considered was the social perspective.
Of course, most students are very familiar with social media: Twitter, Facebook, IM, IRC, and a host of other technologies designed to share and network. What could a programming environment do in this domain?
We have two answers: Chat, and Blast. Chat is fairly straight forward: allow students to easily communicate with the instructor and each other as they program. They are probably already doing that, so why not build it into the environment? We have experimented with this idea in the past, by designing a chat interface into Myro. This has allowed students to write programs that can coordinate with people, robots, and other programs (I just added a chess engine to Pyjama, so students can write the brains and play each other's chess programs over the Chat protocol). Students can send pictures taken from their robot to their associated webpage. It is really using the chat infrastructure as a networking protocol. We use XMPP, aka Jabber. It is a little slow as far as networking goes, but dependable and extendable. And pervasive! You can write a program to chat with your phone.
The second answer, Blast, is quite innovative, I think. The basic idea is that teachers have the ability to send programs directly to each other, or to a group of people. You can Blast a script to a student so that it shows up in their editor, centered on the line number you're discussing. Or you can Blast a program so that it just executes in the other's environment.
Want a checkpoint of the classes current understanding with a poll? Blast them an interactive survey question script, which gives you feedback. Want them to follow along with your lecture? Blast them an interactive set of executable "slides". Think of this as a sort of Classroom Presenter, but over chat.
But Blasting need not be only a teacher affair. What would students do if they could Blast code to each other? Would this end up being a cheating nightmare? What about security? Can we prevent people from sending destructive scripts? Or would Blasting be a really good way to learn? Would it drive motivation, and increase interest, attention, and knowledge?
We will see.
You can download Pyjama and try it out, in a variety of languages, including Python, Ruby, C#, Boo, and Scheme, at http://PyjamaProject.org.
Today is Ada Lovelace Day! In her honor, writers around the world have pledged to publish a note about a woman in technology who they admire. See FindingAda.com for more info. It is impossible for me to only pick one woman in technology! For me, there are so many to choose from, including:
But, instead of picking just one woman, I'm going to cop-out and vote for the entire Next Generation of women who will change the face of computing, and take the field in exciting new directions. This includes:
To all of the women in the Next Generation, we salute you!
We just returned from ACM SIGCSE-2008 which was held in rainy and gloomy Portland, OR. Nice city though, despite the weather and most of us from IPRE were just too busy fielding interest from the 1400+ attendees.
IPRE had a booth in the Exibhition Hall which was continuously staffed by the bulk of the IPRE team. The conference also coincided with the official launch of the first IPRE Kit and also an announcement regarding two summer workshops we will be hosting. Needless to say, we were thrilled to have received numerous orders within 24 hours of the launch. It kind of generated the euphoria that many dot-commers experience when a site goes online.
iQue robot by Toy Quest (image from http://www.toyquest.com/ique/index.html)
Its manufacturers, Toy Quest, call it the “world’s smartest robot”. Indeed, the speaking iQue robot on wheels has a superb memory and fact recall. Specifically, iQue knows the entire Meriam-Webster student edition dictionary, thousands of historical and other facts, and can even learn and remember information about its beloved owner. But does that really make iQue smart?
IQue’s marketers claim that it will become “your new best friend”, which seems a far reach. It’s entertaining that it can speak to you, ask you questions, and remember facts about you. Yet you cannot exactly have any real type of communication with the iQue – you must type all responses to its questions in a remote control keypad, and you cannot ask it questions about itself. I find Pleo, which cannot form human words, a better companion since it can interact with you. You can watch it develop as a live being would. It reacts when you play tug-of-war with it over its plastic “leaf”, tugging playfully at the leaf and panting, and it yelps angrily when you hold it up by its tail. In short, it can communicate non-verbally with you in a much more natural way than the iQue can.
She’s green and tan, with big curious blue eyes and scaly skin. She’s about as large as a little cat. And as we speak, she’s munching vigorously on her green and yellow plant leaf under my desk. Presently, she’s done eating and she’s staring across the room and up at the ‘ceiling’ (the underside of my desk), yelping and – even walking! One rubbery hoofed paw after the other.