C S 240

Advanced Software Construction

Computer Science College of Physical and Mathematical Sciences

Course Description

Advanced software development with an object-oriented focus. Design, implementation, and testing of medium-sized programs including a server program.

When Taught

All Semesters/Terms

Fixed

4

Fixed

3

Fixed

1

Other Prerequisites

or instructor's consent.

Title

Construction

Learning Outcome

Learn to construct a medium-scale server program with data persistence in a principled way by applying relevant engineering techniques such as up-front design, quality code construction, unit testing, assertions, and error handling.

Title

Design

Learning Outcome

Learn and apply basic software design principles such as single responsibility, low coupling, avoidance of code duplication and information/data hiding to create modular code.

Title

Databases

Learning Outcome

Learn and apply the basics of relational database design, modeling and programmatic access.

Title

Security

Learning Outcome

Learn and apply basic security principles and concepts.

Title

Testing

Learning Outcome

Learn to validate a program’s behavior against its specification using testing practices.

Title

Tools

Learning Outcome

Use modern software tools including integrated development environments, testing frameworks, debuggers, version control, and documentation processing tools.