Software Design on the Apple iPhone
In the fall of 2009, Prof. Rick Zaccone started offering a course in software design, which focused on developing software for the Apple iPhone. Several reasons motivated the choice of the iPhone the development platform for this course. The iPhone has a mature software library that Apple built using important software design patterns, which are fully integrated into the device. Students had to develop a solid understanding of some basic patterns in order to develop iPhone applications.
Developing for the iPhone presented other software issues that many students had not encountered before. Because the iPhone is a mobile device that runs on battery power, its processor is slower than those in modern personal computers. Students had to adapt their programs to work with constrained processing power. Additionally, in order to be able to program iPhone applications, the students learn Objective C, a programming language that is new to most of them.
The students have developed different types of apps, in this course. One of the major accomplishments was software that provides useful information to visitors, students and staff on Bucknell's campus. There are maps, a phone directory, campus dining menus, campus news, the course catalog, and other information of interest. The components of the project were easy to separate into tasks, making it a good class project.
Prof. Zaccone has been working with other students, starting from the software that his students developed in the course, and assembling it into a single, comprehensive application. Aurimas Liutikas (BCSE '12) and Prof. Zaccone rewrote some of the software previously developed so as to impart a uniform look and feel to the application. More recently, Elaina Miller (BSCE '13) added a photo gallery and emergency contact information to the app. The screen shot provided here shows only some of the components of iBucknell, a universal application available on the Apple App Store, which runs on iPhones, iPod touch, and on the iPad.