SEDS 504

Software Construction

The course introduces the fundamentals of software systems development with a focus on analysis and design phases. Data modeling and design principles such as data abstraction, information hiding, modularity, and coupling are viewed in the context of object-oriented paradigm. For object-oriented modeling Unified Modeling Language (UML) is introduced and used throughout the course. Unified process is taken as the basis for development efforts. Issues relating to making the transition from other software development methodologies are examined and risks involved in object-oriented process are discussed.

Week Topics
1 Introduction to Object-Oriented Programming
2 Flow of Control
3 Defining Classes I
4 Defining Classes II
5 Linear Data Structures in Object-Oriented Programming
6 Recursive Data Structures in Object-Oriented Programming
7 Inheritance
8 Polymorphism
9 Abstract Classes and Interfaces
10 Exception Handling
11 Collections
12 Generics
13 Object-Oriented Analysis and Design
14 UML Diagrams