Object-Oriented Software Engineering (CS441/CS314/CS244/CS341/CS214)

This module is designed to introduce the students to the activities involved in a software development project. The module follows an object-oriented approach, compatible with leading programming languages such as Java, C++ and C#.
Students will be introduced to the principles of software engineering: Requirements, analysis, design and testing. We will also review of principles of object orientation, agile software development, software development life cycle, object oriented analysis, design using UML, Design Patterns and Software testing.
The module project will help the students learn how to work as a team for developing properly designed and documented software systems.