Welcome to the CS351 Software Enginering and CS352 Software Engineering Project web site..
The aim of this course is to cover issues relating to software engineering in the small. It is designed to be taken before CS460/461 which will focus on software engineering in the large.
This is a challenging course which will bring together a great deal of the Computer Science curriculum you have seen to date. You will learn skills that will be invaluable to you in your career as a software engineer as well as assist you in almost every other Computer Science subject you take after this one!
Software engineering in the small is a term used to describe software engineering issues that relate more to the individual building the software rather than the software team involved in a large project. These personal skills are necessary to develop code that is robust, correct and efficient while still meeting deadlines generated by managers. These skills form the basis from which any software engineer develops.
This course will examine vaious aspects of software engineering paying particular attention to the individuals involvment in that process.
Topics covered will be selected from (but are not limited to):
The project work will require you to develop parts of a complete system, but not the whole system. A set of requirements will be provided and it will be ncessary to strictly adhere to those requirements. Students then build a complete working system by "selling" their software modules and "purchasing" those that they did not write. As a result, software quality and maintenance issues must be addressed.
Assessment will be based on performance in exams and in practical assignments.