Rethinking Computer Science

Africa is well-suited as a testbed for the development of a mobile phone programming curriculum. Given their massive adoption and widespread use, as well as the recent technological advances in their computational power, mobile phones are ideal substitutes for the personal computer throughout the continent. Customized applications could have profound implications for the economic development of some of the poorest communities in Africa. Despite the unprecedented growth of mobile phone usage however, these applications are rare. Furthermore, the computer science curricula of universities throughout the continent still focus entirely on traditional desktop computer programming. As a result, African computer science graduates are not qualified to address the computing needs of African people. At such a critical point in the evolution of computing technology, there is a need to equip these computer science students with the skills to develop mobile phone applications specifically for African users.

We have developed a series of courses to be offered to students with different levels of programming experience. For those with little programming experience we have an extended version of a week-long Python for Rapid Mobile Application Development pilot course for faculty and students at the University of Nairobi. This course provides an overview of how to efficiently develop applications for mobile phones with minimal amounts of coding. Additionally, we are preparing a joint MIT / University of Nairobi project-based course entitled Mobile Phone Programming for Entrepreneurs, which will team MIT and University of Nairobi students together to develop, market, and launch their own mobile phone application in Nairobi and Boston. These applications will generally be SMS server-based services similar to Kace’s vegetable pricing system, although applications that run on the handset will also be encouraged. Nokia has pledged seed funding to turn the best class projects into commercial ventures. For those students who have already had a course on object-oriented (preferably Java) programming, we are offering Introduction to Mobile Phone Application Development in Java syllabus from our existing MIT and Nokia course material. Most recently, we have developed a Mobile Web Application Development course that is currently being taught within ten universities across Sub-Saharan Africa.

Students who take these courses will be enabled to take an active role in the creation of an African community of mobile phone application developers. By creating a mobile phone application developer community in Kenya, we hope to provide a foundation for the development of mobile phone applications that are not only tailored to local needs but also applicable globally in other developing countries.

Mobile Web Application Development

Python

Java

SMS

Mobile Phone Programming for Entrepreneurs