IDCS - Elective Unit - DEE001 - Structured Programming Methods

Introduction  

The purpose of Structured Programming Methods is to give students a thorough grounding in the key concepts, techniques and methods to have emerged over time as programming has evolved into a process with increasingly formalised approaches.

This elective focuses on the development of transferable ideas and skills and is not language specific.

The skills and understanding developed in Structured Programming Methods should be sufficiently broad for students to be able to adapt to different software production situations with confidence and minimal adjustment to their understanding of the process.  

General Objectives  

Upon successful completion of this module candidates will be able to demonstrate a satisfactory performance in the following topic areas:  

A. History of Programming Languages.

Place in context developments in programming languages and reasons for their evolution.

B. Variables, Control Structures and Calculations.

Recognise and apply appropriate ways to control and manipulate data.

C. Analysis of Data and Problems.

Break down and formulate data into structures appropriate for the problem to be addressed.

D. Further Programming Techniques.

Recognise and use a range of common programming concepts as building blocks in the creation of structured programs.

E. Modelling Objects

Select and apply a range of techniques to modelling systems as objects and define code requirements from the models.

F. Testing.

Define and apply a range of testing approaches to check the correctness of programming code.

G. Alternative Methods.

Identify and explain other, evolving ways of designing and building programs.

H. Process Integration.

Put programming activities into the context of software development as a whole with emphasis on the importance of documentation.

Specific Objectives  

Objective A: History of Programming Languages  

A1.Describe the advantages and disadvantages of each generation of language.

A2.Understand the reasons for their development.

A3.Explain the differences between each generation of language.

A4.Describe the basic concepts of object-oriented technology.

A5.Explain how object oriented programming differs from structured programming.

Objective B: Variables, Control Structures and Calculations  

B1.Understand the importance of the order of precedence.

B2. Describe control structures.

B3.Use calculations to construct computer programs.

B4.Describe the different variable types and naming conventions.  

Objective C: Analysis of Data and Problems  

C1.Understand the software development process.

C2.Ability to create structure diagrams for structured programs.

C3.Achieve an understanding of the object oriented environment.

C4.Explain variable types.

C5.Organise information.

C6.Analyse problems.

Objective D: Further programming techniques

D1.Describe how procedures, functions and subroutines form the building blocks .

D2.Differentiate between local and global variables.

D3.Use procedure parameters.  

Objective E: Modelling Objects  

E1.Understand why the Unified Modeling Langauage (UML) was developed.

E2.Explain what is possible and what is not with UML.

E3.Design a simple system using some examples of UML notation.

E4.Describe how these notations fit together to make a system.

E5.Explain how these notations can form part of the system documentation.  

Objective F: Testing

F1.Explain the need for thorough testing once a program is coded.

F2. State, with examples, how unit, integration, system, acceptance, use case diagrams and installation testing differ.

F3.List the five components of a test description.

F4.Describe the methods of debugging.

F5.Write a test plan for a program and produce suitable test data.

F6.Desk check a program and dry run the corresponding code.

F7.Appreciate the problems and techniques of program maintenance.

F8.Use diagnostic aids generated during compilation.

Objective G: Alternative Methods

G1.Describe alternative methods for designing software.

G2.Understand how object oriented languages aid programming.

G3.Describe the use of database management systems and the database query language.

G4.Use an application program generator.

G5.Describe the Client/Server solution.

Objective H: Process Integration

H1.Explain why standards in development methodology and documentation lead to maintainable systems.

H2.Be able to describe the systems cycle.

H3.Describe the software development lifecycle.

H4.Understand requirements analysis.

H5.Understand system analysis.

H6.Understand the need for documentation and coding standards.

H7.State the attributes of good documentation.

H8.Understand and be able to use the various tools and techniques used to document a program.

H9.Achieve an awareness of the programmers’ role in software development.