Intro to Programming with C

The details
Computer Science and Electronic Engineering (School of)
Colchester Campus
Autumn Special
Undergraduate: Level 4
Thursday 03 October 2019
Saturday 14 December 2019
03 July 2019


Requisites for this module



Key module for

BENGH610DA Electronic Engineering

Module description

This module will provide an introduction to fundamental concepts of computer programming in the C language, which is particularly relevant to programming embedded systems and for electronic engineers.

Module aims

The aim of this module is to provide an introduction to the fundamental concepts of computer programming in the C language, which is particularly relevant to programming embedded systems.

Module learning outcomes

After completing this module, students will be expected to be able to:

1. Demonstrate an understanding of the basic principles and concepts that underlie the procedural programming model.
2. Explain and make use of high-level programming language features that support control, data and procedural abstraction.
3. Analyse and explain the behaviour of simple programs that incorporate standard control structures, parameterised functions, arrays, structures and I/O.
4. Implement, test and debug simple programs that use the features listed above.

Module information


Underlying principles of procedural programming

-The imperative programming model; state, sequentiality and destructive assignment.

-Abstraction: separating internal and external views; control, data and procedural abstraction.

-A model of memory: variables; static and dynamic memory; the execution stack

Programming in a high-level procedural language

Identifiers and keywords

Expressions and types: well-typed expressions; operator precedence and expression evaluation

Statements and control flow: simple, compound and control statements; the assignment statement; selection and repetition

Functions: definition, and call; local variables, scope and existence; parameters, formal and actual parameters, parameter passing

Lists and dictionaries: declaration and initialisation; accessing elements
Input and output: console and file I/O

Learning and teaching methods

20 hours of lectures, 20 hours of laboratory, 2 hours revision lectures


  • King, K. N. (©2008) C programming: a modern approach, New York: W.W. Norton & Co.

The above list is indicative of the essential reading for the course. The library makes provision for all reading list items, with digital provision where possible, and these resources are shared between students. Further reading can be obtained from this module's reading list.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Weighting
Coursework Progress Test - Week 6 20%
Coursework Assignment 1 13/11/2019 40%
Coursework Assignment 2 09/12/2019 40%
Exam 120 minutes during Autumn Special (Main)

Overall assessment

Coursework Exam
50% 50%


Coursework Exam
50% 50%
Module supervisor and teaching staff
Dr Andrei Majidian



External examiner

No external examiner information available for this module.
Available via Moodle
Of 67 hours, 20 (29.9%) hours available to students:
47 hours not recorded due to service coverage or fault;
0 hours not recorded due to opt-out by lecturer(s).


Further information

Disclaimer: The University makes every effort to ensure that this information on its Module Directory is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to programmes, modules, facilities or fees. Examples of such reasons might include a change of law or regulatory requirements, industrial action, lack of demand, departure of key personnel, change in government policy, or withdrawal/reduction of funding. Changes to modules may for example consist of variations to the content and method of delivery or assessment of modules and other services, to discontinue modules and other services and to merge or combine modules. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications and module directory.

The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and Ordinances and in the University Regulations, Policy and Procedures.