Overview

The goal of this course is to teach the skills necessary for building a software product as a team. The lecture portion of the class will cover the broader picture of software engineering that includes a wide range of software development projects in terms of size, complexity, and criticality.

There will be no written exams; there will be individual assignments given to cover the key concepts of the course that are not well reinforced through the project and to expose you to the literature in the field. There are a lot of new things happening in the field of software engineering that you are not exposed to within the department's curriculum. Each team will present a technology from a provided list or one that they are using that has not been taught in other classes. Teams will give a 30-45 minute presentation to the class.

The essence of the course, however, is the faculty-coached team project. Teams of 2-4 students spend the semester negotiating, estimating, scheduling, specifying, coding, debugging, integrating, documenting and testing a substantial programming product. Each project has a real client that is expecting a completed project. Each document will be submitted to the professor in draft form and will be revised based on comments. In addition, documentation needs to be maintained to reflect changes in the product that is being produced.

Project grades are based on code, documentation, ambition, effort, teamwork, and accomplishment.

The final exam is a presentation of the end product.

At the end of the course, each student will have experienced all aspects of a software development project, including

Meetings

Class Meetings: Monday and Wednesday 1:00-2:15 Sitterson 011

Each team also meets wth the instructor for an additional instructional hour each week. Team meetings begin Tuesday, September 3 (Links to project web sites will be added here):

In addition, you should plan on weekly meetings with your client and your team.

iOS Development

If you are developing a native app for the iPad, you will need to get a provisioning profile in order to test it on the iPad. You will need to go to the iOS Dev Center. Summary of instructions are at iOS_Instructions.pdf.

General Education Requirements

Satisfies the Communication Intensive Connection and the Experiential Education Requirement.

Credit Hours

This is a 4-credit course.

Syllabus