In this paper, we describe the design and implementation of two project-based courses, one on Apple iOS application development, and the other on Microsoft Kinect application development, and report the lessons learned in teaching these non-traditional courses. The courses were offered as technical elective courses for both undergraduate and graduate students in the computer engineering and electrical engineering majors. These courses provided students with the opportunities to learn and practice real-world software engineering, and gain experiences in solving multidisciplinary practical problems. Furthermore, these courses help students to attain several ABET student outcomes that are difficult to accomplish via traditional lecture-based and lab-based courses, such as (f) an understanding of professional and ethical responsibility, (i) a recognition of the need for, and an ability to engage in life-long learning, and (j) a knowledge of contemporary issues.
These courses differ from traditional Electrical Engineering and Computer Engineering courses both in the content covered and in the way they were taught. The iOS course covers the topics such as object-oriented programming, the Objective-C programming, various application programing interfaces (APIs) for graphical user interface design, touch-based human-computer interaction, inertial sensors, and computer networking. The Kinect course covers fundamental computer vision technologies that made Kinect possible to perform human motion tracking, the C-sharp programming language, the rich APIs provided by the Kinect Software Development Kit, the Unity 3D game development and visualization platform, and computer vision programming with OpenCV, which empowers students to extend the current Kinect APIs such as object detection. Furthermore, both courses consist of traditional lecture-based instructions as well as active learning components with lab exercises and team-based projects.
The courses were evaluated via both project-based objective assessment, and survey-based assessment. The surveys were administered at the end of each course. The data confirm the success of the courses. Nevertheless, we had to overcome several challenges, including the accommodation of students who have drastically different preparation levels, and cope with issues related to team management and project management. We also recognize that teaching courses on cutting edge technologies is demanding in both hardware resources and the instructor’s time and skills. Institutions must provide general support for purchasing hardware devices. Furthermore, instructors would also have to constantly update their knowledge and skills on the respective programming platforms because they are changed frequently.
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.