SEN 306
Software Construction
2
Course Description
At the end of this Course, students should be able to:
1. explain the importance of Software Construction and the key construction decisions;
2. describe the key issues in design including key design concepts, levels of design and
Abstract Data Types (ADTs);
3. discuss best practices in dealing with routines, fundamental data types and different types
of statements; and
4. describe how to ensure software quality through developer testing, debugging and
software craftsmanship.
Course Outline
Definition of Software Construction; Its importance; Key construction decisions – choice of
programming language, selection of major construction decisions. Design in construction –
Key design concepts, levels of design, design heuristics. Abstract Data Types (ADTs). Working
Classes. High Quality Routines. The Pseudo Code Programming Process. Fundamental Data
Types – Numbers, Characters and Strings, Boolean Variables, Arrays, Tables. Types of
Statements – Straight Line Code, Loops, Control Structures; Developer Testing and
Debugging. Software Craftsmanship – Layout and Style, Documentation, Personal Character.
Lab Work: Practicals on the most common tools to ensure good software construction. The
features include static code analysers to check that code follows coding conventions, special
code searching and editing, collaboration support to allow multiple programmers working
simultaneously, support for proper code documentation. Practice with IDEs (such as Visual
Study Code, NetBeans and Eclipse) on debugging, compilation, running of code, auto
completion and version control.