SHE Level 1
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M1H624646
Module Leader Babakalli Alkali
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 using a variety of input sources (console, file) and a variety of output destinations (console, file). Students will learn the design principles that are relevant to style of "programming in the small" including decomposition, use of parameters and return values to create flexible components.


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 Module descriptorsB. EngE& CoE October 2011 Page 6 arrays;array of strings, string handling functions; array initialization, variably-length arrays. Pointers: declaring and initializing; accessing the address of a variable; pointer variables; operators; expressions; pointer and character strings; pointer and 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 and pointers. Structure and Unions: structure definition; structure initialization; comparison of structure variables; array of structures; structures within structures; structures and functions; unions. File Management: Reading, writing and appending data files; binary files ; transfer of data in blocks; command line arguments ; operation on files at command line.

Learning Outcomes

On completion of this module the student should be able to:1. Describe the role of algorithms and flowcharts for solving engineering problems. (AM1, AM5)2. Develop programs involving various control statements, loops, arrays, string and functions. (AM1, AM3, AM4, AM5)3. Demonstrate a knowledge of structure and union by solving real engineering problems (AM3,AM5)4. Implement file management and various file operations in a high level language (such as C) (AM1,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 selflearning exercises on structured programming concepts. Laboratory time will be used to provide structured exercises to introduce further topics of files, interface programming using c language.

Indicative Reading

1. Balaguruswamy, Programming in C, Tata Mc Graw Hill. 2. Herbert Schildt, The Complete Reference 'C', Tata Mc Graw Hill 3. Kern Ingham & Ritchie, The C programming language, Prentice Hall. 4. Y. Kenetker, Let us C, BPB Publications. Some Helpful Web Sites: C programming, 2008, Programming Tutorials ? C, C++, OpenGL, STL; , Accessed 16th May 2011. How Stuff Works, 2011, How C Programming Works,, Accessed 16th May

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, exercise independent thought, creativity and design appraisal. 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
Assessment (FT) 16.00
Practicals (FT) 56.00
Lectures (FT) 28.00
Independent Learning (FT) 100.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 50.00 35% Lab report (1000words ) based on solving problems
Exam (School) 1.50 25.00 35% End-term test - Lab test
Exam (School) 1.50 25.00 35% Mid-term test - Unseen written examination-1½ Hours