Computing class develops applications for iPhone
What is needed to develop applications for iPhone? "High levels of engagement and motivation..." chips in Dr. Herbert H. Tsang, instructor for the CMPT 275 Software Engineering I class, "...in addition to knowledge of programming languages." Tsang is a Research Associate of the MoCSSy (Modelling of Complex Social Systems) Program at the IRMACS (Interdisciplinary Research in the Mathematical and Computational Sciences) Centre of SFU.
The idea to incorporate developing iPhone applications in his coursework first came to Tsang when he was playing around with his own newly acquired iPhone. He thought, "Wouldn’t it be fun if we develop an application for this platform? The students will get firsthand experience of the software engineering cycle from idea to design specification, implementation, testing, and finally putting the application product out in the market."
Though the students are excited about this new project, there are some challenges they face. "This is the first time we are doing this. And our intention is to mimic the real world. When you are hired, you don’t necessarily have all the skills and background to do your job. But you need to be a fast learner and resourceful enough to find the information you need to accomplish what you need to do," says Tsang.
Students don’t necessarily need to have a background in the programming language used to design the iPhone applications, namely Objective C . As long as they have a background in any of the other programming languages like C++ or Python, they should be able to learn the new language.
Motivation and engagement go a long way in this project as students work in teams and learn from each other. They are randomly divided into groups and they have to figure out each other’s strengths and how they can each contribute to the project. These skills are valuable and an essential part of software engineering training.
The students can propose their own iPhone applications as long as these applications are new and not already existing in the market. They are currently working on applications that range from gaming to education technology.
This Software Engineering I course, a pre-requisite for the Co-operative Education Program at Simon Fraser University, fits well with the new professional Software Systems Major that is offered at the Surrey campus. "This course can get students excited about the Software Systems program that is more hands on and practical," says Tsang excitedly. It will train students in programming, project management, problem solving and teamwork - skills that a Software Systems graduate will have employers are looking for in new employees.
As an added bonus, Apple’s iPhone Developer University Program enables students to showcase their newly developed applications online at the Apple store. Students get the whole experience as they move from design, to implementation, to seeing their final products in the Apple Store.