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

Registry

Module Specifications

Archived Version 2006 - 2007

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

Online Module Resources

Module Co-ordinatorDr Gabriel-Miro MunteanOffice NumberS326
Level 1 Credit Rating 5
Pre-requisite None
Co-requisite None
Module Aims

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

On completion of this module, the student will be able to   -demonstrate basic and more advanced programming skills (PO1, PO2)   -apply good style in writing, improving, and modularizing programs using the C language (PO1, PO2, PO3, PO5, PO6)   -make use of functions, arrays, structured data types and pointers (PO1)   -solve quickly, creatively and efficiently complex problems (PO2, PO3)

-write programs, test and debug them.(PO1, PO2, PO3)   -apply programming techniques for building engineering applications (PO3, PO4, PO5)



Indicative Time Allowances
Hours
Lectures 24
Tutorials 0
Laboratories 36
Seminars
Independent Learning Time 15

Total 75
Placements
Assignments
NOTE
Assume that a 5 credit module load represents approximately 75 hours' work, which includes all teaching, in-course assignments, laboratory work or other specialised training and an estimated private learning time associated with the module.

Indicative Syllabus

PART ONE

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.

PART TWO

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

Arrays. Strings. Structures. Files.

Pointers. Single and Double linked lists: add an item, delete, search.

Assessment
Continuous Assessment50% Examination Weight50%
Indicative Reading List

Recommended & Reference Texts:

1) Harvey Deitel, Paul Deitel, "C How To Program", Fourth Edition, Prentice Hall, Pearson Education, 2003, ISBN 013122543X

2) Brian Kernighan, Dennis Ritchie, "C Programming Language", Second Edition, Prentice Hall, Pearson Education, 1998, ISBN 0131103628

3) Fischer, Eggert, Ross, Applied C: An introduction and more, McGraw-Hill, 2001

4) Hanly, Koffman and Horvath, C Program Design for Engineers, Addison-Wesley, 1995

5) Hanly and Koffman, Problem Solving and Program Design in C, Second Edition, Addison-Wesley, 1996

Contribution to Programme:

The module’s contribution to the IEI Programme Areas and Programme Outcomes is characterised according to a five point scale where 4 indicates a very strong contribution and 0 indicates no significant or intended contribution.

 Science & Mathematics  Discipline - specific Technology Information and Communications Technology Design and Development  Engineering Practice   
Social and Business Context
 3  4  3  3 1

 

Knowledge and Its Application:The ability to derive and apply solutions from a knowledge of sciences, engineering sciences, technology and mathematic

The ability to derive and apply solutions from a knowledge of sciences, engineering sciences, technology and mathematic

Problem Solving:

The ability to identify, formulate, analyse and solve engineering problems;

 

   

 Design:

The ability to design a system, component or process to meet specified needs, to design and conduct experiments and to analyse and interpret data;

Ethics & Responsibility:An understanding of the need for high ethical standards in the practice of engineering, including the responsibilities of the engineering profession towards people and the environment 

An understanding of the need for high ethical standards in the practice of engineering, including the responsibilities of the engineering profession towards people and the environment 
 

Effective Work and Learning:The ability to work effectively as an individual, in teams and in multidisciplinary settings together with the capacity to undertake lifelong learning;

The ability to work effectively as an individual, in teams and in multidisciplinary settings together with the capacity to undertake lifelong learning;
 

Effective Communication:The ability to communicate effectively with the engineering community and with society at large

The ability to communicate effectively with the engineering community and with society at large
 3  4  3  1  2  1

thics & Responsibility:

An understanding of the need for high ethical standards in the practice of engineering, including the responsibilities of the engineering profession towards people and the environment

Programme or List of Programmes
BMEBEng Manufacturing Engineering &Business
CAMB.Eng. Mechanical & Manufacturing Eng
CECEB.Eng. Common Entry (Electronic Eng)
DMEB.Eng. in Digital Media Engineering
EEBEng in Electronic Engineering
FEEOpen Opportunities in Engineering Course
ICEBEng Info and Communications Engineering
IFCCEEInt Foundation Cert (Common Electronic)
IFCMMEInt Foundation Cert (Common Mechanical)
MEB.Eng. in Mechatronic Engineering
MEDMB.Eng. in Medical Mechanical Engineering
MMENB.Eng. Common Entry (Mechanical Eng)
Archives: