Principles of Software Engineering
Software projects are notoriously behind schedule and over budget. Over the last 20 years, many different paradigms have been tried in an attempt to make software development more predictable and controllable. While there is no “silver bullet,” much has been learned that can directly benefit today’s software projects. You will study alternative software development paradigms and processes, including the actual benefits that they can produce as well as the problems that can arise.
Description
This course serves as an introduction to software engineering. The course’s focus is on understanding the software engineering process and its attendant problems as manifest in real development projects. The course compares and contrasts different models of the software engineering process and approaches to process improvement. It includes the analysis of where and how things go wrong motivated by case studies. This course is intended as a leveling course for entering students who have not had prior instruction in software engineering and may be waived for students with an equivalent senior-level or master’s-level course or equivalent work experience.
|