Cell Phone Stuff
Programming cell phones is fun and interesting to me, and incredibly exciting to students. I have gathered together all necessary (and free) software tools, and developed step-by-step instructions for installing the tools, creating a simple cell phone program, downloading the program to a phone, and running it.
Why Bother with Cell Phones?
Let's be perfectly honest: it seems a daunting task to bring cell phone programming into a classroom. New software tools are required, new hardware is necessary, new techniques must be learned and explained. Things will go wrong, as they do in every new venture. Why bother? What's the beneift?
Well, it's a great platform for exploring computer science. Desktop computers are so powerful today, that students rarely see a genuine need to be efficient in their use of space, processing power, or algorithm selection and design. User interfaces have been become quite uniform on the destop too. Cell phones, even the more powerful Smartphones, have slow processors, highly constrained user input mechanisms, and very small screens. All of these constraints encourage thoughtful design.
And, while desktop and notebook computers are all virtually identical, cell phones vary dramatically from one to another in memory capacity, cpu speed, screen size, keyboard, and feature sets. This promotes creative thinking about how to generalize solutions to work across a range of phones.
But here's the best reason: if you're anything like me you'll get goosebumps hearing the buzz that spreads through your school community (students and teachers) when you announce a computer science course that'll teach kids how to program their cell phones. At my school, in spring 2009, I sent out an e-mail to all 9th, 10th and 11th graders:
Dear Students,
Want to bend your cell phone to your will? Want to create a game that will run on your cell phone, or a game that you and your friends can play simultaneously and interactively on each of your cell phones? Want to write a program to log your daily activity, track your nutrition and exercise, post images or video to your web site, all through your cell phone? Do you have an exciting new idea of your own for a cell phone program that you would like to learn how to create?
If you answered, "Yes!" to any of those questions, you should consider enrolling in Computer Science I for next year. The course will run for the full year. Next year, for the first time at Sidwell or any other high school in the world, the Computer Science I course (2009 - 2010) will apply computer science to mastering the cell phone. All programming projects will be cell phone projects. Those taking the course will have a variety of cell phones (different screen sizes and feature sets) at their disposal to work and experiment with. All programming will be done in Java on a "normal" computer using freely available software, and your programs will be downloaded to one or more phones for testing and running.
This is a unique opportunity to study computer science in a fun, exciting, and very practical context. Who knows, one of next year's smash hit programs on a cell phone could be yours! Fame, Fortune and Knowledge await you...
Occassionally, I also bring cell phones into my computer science and math classes to show my students what I'm working on. More kids signed up for computer science in fall 2009 than ever in the history of the school.
Computer science can be interesting, challenging and fun. Computer science needs to be interesting, challenging and fun. We all know it takes much time and effort to design, implement and perfect software; if students find the work interesting and fun they will pour themselves into it. If they don't, why bother?