DCU Home | Our Courses | Loop | Registry | Library | Search DCU


Module Specifications

Archived Version 2015 - 2016

Module Title Software Development for Engineers
Module Code EM108
School School of Electronic Engineering

Online Module Resources

Module Co-ordinatorDr Gabriel-Miro MunteanOffice NumberS326
NFQ level 8 Credit Rating 5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

The aim of the module is to develop familiarity with basic concepts and techniques of software engineering in C. The notion of a programming language will be introduced, as well as compiling and debugging issues. A selection of simple C programs will be developed first and then more complex programming issues will be introduced along with more complex programs.

Learning Outcomes

1. demonstrate basic and more advanced programming skills
2. apply good style in writing, improving, and modularizing programs using the C language
3. make use of functions, arrays, structured data types and pointers
4. solve quickly, creatively and efficiently complex problems
5. write programs, test and debug them.
6. apply programming techniques for building engineering applications

Workload Full-time hours per semester
Type Hours Description
Laboratory36No Description
Lecture24No Description
Independent Study65No Description
Total Workload: 125

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities


Introduction to programming. A minimal C program. Translation. Execution. Translation time defects. Execution time defects. Basic programming concepts. Structure of a C source file (translation unit). Introduction to C syntax. Identifiers
Concept of identifiers. Identifier uniqueness. Syntax of identifiers in C programs. Reserved identifiers in C (keywords). Conventions and guidelines on identifier usage. Data: Concepts of data type, constants, and variables. Types int, double, char. Declaring variables. Data types for character strings, integer and rational numbers, logical values. Operators: Arithmetic, relational, logical, assignment. Expressions: Forming expressions. Introduction to I/O functions and I/O redirection. The C standard library. Sequential evaluation. Operator procedence and associativity; parentheses. Programs: Skeleton structure of a C program: the main function. Declarations and statements. Sequential, conditional, and iterative statement execution. The concept of flow of control. Types of statements: expression, if, if-else and switch statements. Compound statement. Iteration: the for and while statements. Development Cycle: Specification. Algorithm design. Coding. Compilation and linkage. Testing: selection of test cases. Exception handling. Debugging.


Functions. Functional Decomposition
Function definition and invocation. Parameters. Passing by value versus passing by reference. Variable scope.

Arrays. Strings. Structures. Files.
Engineering applications

Pointers. Lists.
Add, delete, search for items.

Assessment Breakdown
Continuous Assessment50% Examination Weight50%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Indicative Reading List

  • Deitel et al: 0, Recommended & Reference Texts:1) Harvey Deitel, Paul Deitel, "C How To Program", Fourth Edition, Prentice Hall, Pearson Education, 2003, ISBN 013122543X2) Brian Kernighan, Dennis Ritchie, "C Programming Language", Second Edition, Prentice Hall, Pearson Ed,
  • Deitel et al: 2003, C How To Program, 4, Prentice Hall, 013122543X
Other Resources

Programme or List of Programmes
BMEDB.Eng. in Biomedical Engineering
CAMB.Eng. Mechanical & Manufacturing Eng
CEB.Eng. in Common Entry into Engineering
ECEBEng Electronic & Computer Engineering
ECSAStudy Abroad (Engineering & Computing)
ECSAOStudy Abroad (Engineering & Computing)
IFCCEEInt Foundation Cert (Common Electronic)
IFCMMEInt Foundation Cert (Common Mechanical)
MEB.Eng. in Mechatronic Engineering
MWBBSc Manufacturing Eng with Business