About This Course
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 two essays assigned to cover the key concepts of the course. A new addition to the course this semester is student-selected and presented hot topics. 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. Teams of three will research, write-up and give a 15-minute class on a topic of their choice.
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.
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
- working with a client to define goals and priorities
- designing a system
- scheduling and planning a multi-person project
- effective communications
- running meetings
- writing technical documentation
- preparing web content
- writing and testing code
- deploying the system
- public presentations
Class Meetings: Monday and Wednesday 11:00-12:15 Hanes 130
Each team also meets wth the instructor for an additional instructional hour each week. This will be scheduled after teams are selected.
General Education Requirements:
Satisfies the Communication Intensive Connection and the Experiential Education Requirement.
This is a 4-credit course.