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. 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 that they are using that has not been taught in other classes. Hopefully, this is a technology that you are using in your project. Teams will give a 20-30 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
Class Meetings: Monday and Wednesday 3:30-4:45 Brooks 007
Each team also meets wth the instructor for an additional instructional hour each week. Team meetings begin Tuesday, September 6:
In addition, you should plan on weekly meetings with your client and your team.
Satisfies the Communication Intensive Connection and the Experiential Education Requirement.
This is a 4-credit course.