The conference, as the title would suggest is geared towards teachers of Computer Science, particularly at the school level. The sessions therefore, were based more on the practical elements of teaching computer science than theoretical understanding of Computer Science concepts.
Programming through Art and Math: Sheena Vaidyanathan
Sheena Vaidyanathan runs a program called CSTEM in the Los Altos school districts of California. The stated program highlights are:
- Pair Programming
- Focus on design, art, creativity
- Extensive use of Edmodo to engage and assign work, post finished projects, comment on posts, ask questions after class, homework/quizzes, class discussions
- Student showcase and competition
Her website www.computersforcreativity.com details this and her other endeavors.
I was intrigued by this session because of the mention of art, math and programming and the possibility of the use of math and arts education and learning science to influence computer science learning.
My impression though, is that the role of programming is unclear. I haven't read any of Sheena's other work so I may be wrong but the talk seemed to be more about the usability of tools rather than it's effectiveness.
She did however, mention that introducing kids to Processing's text based setup before Scratch led to some struggles with syntax but ultimately some kids preferred it to the drag-and-drop of Scratch.
Computer Science with Calico: Douglas Blank, Laura Blankenship, Ashley Gavin, Jim Marshall, Jennifer S. Kay, Keith O’Hara, Mark F. Russo
Calico is a multi-language programming environment/IDE. Right now it has the following languages:
- Jigsaw (a Scratch like drag and drop)
The system is designed around transitions from (Scratch -> Jigsaw -> Python -> Scheme) but they aren't limiting themselves to just these languages. Java is coming up and they have plans for other languages too.
They weren't able to go through the whole presentation but it's shared online (http://goo.gl/p2oKk).
The system seems very professionally made and has some great features built-in. Some of which are :
- A shell within the IDE
- Simulator for robots so you don't need an actual physical robot for testing (they showed off the Scribbler bot)
- Real-time display of all the robot's (/simulated robot) parameters
- ROS module for communicating with ROS enabled robots
- All languages in a similar enivornment so the cognitive load of learning a new environment is spared
This was the most interesting of the talks that I saw. There was some chaos around live demos but overall the demos were pretty cool and displayed the versatility of the system.
It would be really awesome if the system could make libraries in one language could be made available in other languages. Don't know how hard that would be.
Inspiring High School Students in STEM Using App Inventor: Kristin Violette and Shaileen Pokress
This session was more an account of how MIT AppInventor was used in a class-room in Connecticut and representatives of the class eventually ended up winning a state wide competition.
Not a lot was mentioned about the software except for an (informal) announcement that the Alpha of the latest version of AppInventor was just released at http://ai2.appinventor.mit.edu/.
This session was more oriented towards teachers that want to use AppInventor in their classrooms. One thing that I did find interesting about the implementation that the teacher was using was that they used a business oriented format i.e. the students made an elevator pitch about their apps that was "judged" by a
Shark Tank like panel. Even though it's not really my area of research, I imagine there are some interesting links between student's engagement and the popularity of 'Shark Tank', the television show. That would be a good social psychology question.
Mobile Programming Throwdown : David Reed (Moderator), Alfred Thompson (Windows), Ralph Morelli (Android), and XXX (iOS)
First done at last year's conference, experts on the three main mobile development platforms Apple iOS, Google Android and Microsoft Windows Phone were give a task of developing a simple app live. The people came pre-prepared though so they could copy and paste pre-prepared snippets into the code.
The app idea this year was an app that looks through the phone contacts and randomly shows a contact with the ability to place a call to that contact. Kind of a
'I'm feeling lucky' for phone calls.
Each platform had approximately 15 minutes to build their app.
Surprisingly, Windows Phone was the cleanest and quickest of the three platforms. I'm never been a fan of how Visual Studio adds so much annoying infrastructure to the system instead of just starting barebones but for once, I was made to eat my words.
Apple was by far the worst, the code was hard to follow along with and things were going on all over the place. The developer who already has a well known app on the AppStore couldn't finish in the alloted 15 minutes. The Android developer used MIT AppInventor for most of the work. However, since AppInventor is a much higher level abstraction, it didn't have the necessary feature for the random contact selection to be done entirely in AppInventor. For that part, the programmer used standard Java and referenced that from AppInventor.
AppInventor doesn't give the whole feel of the Android Java system but since I have experience in that domain I can say that Windows Phone was still the clearest and easiet of the three systems.