SHE Level 1
SCQF Credit Points 10.00
ECTS Credit Points 5.00
Module Code M1H324645
Module Leader Alan Nesbitt
School School of Computing, Engineering and Built Environment
Subject SCEBE - School Office
  • A (September start)
  • B (January start)

Summary of Content

This module aims to master basic procedural programming constructs. Students will learn to write and debug small programs using a full range of procedural techniques. Students will learn the design principles that are relevant to style of "programming in the small".


The teaching syllabus will cover the following areas: Program Planning Concepts: algorithm; different ways of representing algorithms- pseudo code, flow charts, structured charts, programming preliminaries. Introduction to C language: Data types; Character set; constants and variables; operators; use of control statements - if, for, while, do-while, switch, jump - use of built in l/O functions - writing small programs. Arrays and Strings: Introduction; one, two and multidimensional arrays; array of strings, string handling functions; array initialization, variably-length arrays. Functions: declaration; need for user defined functions; scope of function; passing parameters by value and by reference; writing algebraic and string handling functions; recursion ; functions with arrays. Introduction to Matlab: Introduction to command window, workspace and editor in Matlab - Simple arithmetic operations - Plotting in Matlab - Basic Mathematical functions.

Learning Outcomes

On completion of this module the student should be able to:1. Develop well-structured algorithms and flowcharts (AM1, AM5).2. Write, edit, compile and execute a high level language program on a computer (AM1, AM3, and AM4).3. Develop programs involving decision structures, loops, arrays, strings and functions (AM3, AM5).4. Develop a fundamental program in MATLAB to solve engineering problems. (AM3).

Teaching / Learning Strategy

The main teaching method will be based on lectures with laboratory exercises used to relate theoretical concepts to practical experience. The students will be expected to perform directed reading exercises and self-learning exercises on structured programming concepts. Laboratory time will be used to provide structured exercises to introduce further topics of Arrays, Functions programming using C language and MATLAB.

Indicative Reading

-360 1. Balaguruswamy, E., 2010. Programming in C , 5th ed., Tata McGraw Hill. 2. Herbert Schildt, 2000. C: the complete reference , 4th ed., Tata McGraw Hill. 3. Kerningham , B.W. & Ritchie , D.M., 1988. The C programming language , 2nd ed., Prentice Hall. 4. Kenetker, Y., 1998. Let us C , 4th ed., BPB Publications. Some Helpful Web Sites: C programming, 2008. Programming Tutorials - C, C++, OpenGL, STL [Online] Available at [Accessed 16 May 2011]. How Stuff Works, 2011. How C Programming Works [Online] Available at [Accessed 16 May 2011].

Transferrable Skills

Technical literacy, problem solving and synthesis of solutions are enhanced and exercised in all parts of the taught syllabus. The laboratory sessions provide the opportunity for students to further demonstrate and apply knowledge and exercise independent thought The student's interpersonal/team skills and practical skills are further exercised with the laboratory and a course work project.

Module Structure

Activity Total Hours
Independent Learning (FT) 64.00
Assessment (FT) 8.00
Practicals (FT) 28.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 50.00 35% Lab based Programming Exercises with report 1500 words + quizzes(formative)
Exam (School) 1.50 25.00 35%  Unseen written examination-1½ Hours
Exam (School) 1.50 25.00 35%  Unseen written examination-1½ Hours