Programme And Module Handbook
 
Course Details in 2024/25 Session


If you find any data displayed on this website that should be amended, please contact the Curriculum Management Team.

Module Title LC Introduction to Computing for Engineers
SchoolSchool of Engineering
Department Elec, Elec & Sys Engineering
Module Code 04 30329
Module Lead Dr AE Archibong
Level Certificate Level
Credits 10
Semester Semester 1
Pre-requisites
Co-requisites
Restrictions None
Contact Hours Lecture-10 hours
Practical Classes and workshops-14 hours
Guided independent study-76 hours
Total: 100 hours
Exclusions
Description The aim of this module is to introduce engineers to computers and computer programming using an important modern programming language which has applications from small embedded systems to supercomputers.

Syllabus: Lecture material

1. Introduction to Computer Programming
a. Key definitions - components of a computer, operating system, embedded computers.
b. High-level programming languages - overview and examples
c. C programming language - history, current importance and applications
d. Compiling and Linking

2. Introduction to C programming
a. Variables & Data types
b. Assignment and initialisation
c. Operators & Input
d. Introduction to using the Math library

3. Program control (Iteration & Selection)
a. Loops - importance in programming
b. Iteration - "for" loops, The "while" loop, The "do - while" loop, and Comparison of for, while and do-while loops
c. Conditional statements - the "if" and "if else" statements
d. The switch statement
e. Logical and relational operators

4. Arrays
a. Introduction to arrays - rationale for using arrays in C
b. Declaring arrays, Initializing arrays, Multi-dimensional arrays, and Character arrays – strings.

5. Functions and procedural programming
a. Basic ideas about functions
b. Local, global and static variables
c. Function arguments and "call-by-value"
d. Function prototypes

6. Introduction to numerical methods and algorithms
a. Developing mathematical / numerical applications
b. Internal representation of data types and Variable precision - roundoff errors
c. Algorithm expression and design

7. Files
a. Files - the basics, Using files - the FILE data structure
b. String file i/o - fgets() and fputs() and Formatted file i/o - fprintf() and fscanf()

8. Pointers
a. Concept of pointers as memory addresses
b. Pointer and indirection operators, pointer arithmetic
c. Pointers and arrays, Pointers and functions - call by reference
d. Dynamic allocation of one-dimensional arrays

9. Real-world applications
a. Introduction to program design
b. Header files and libraries
c. Developing new data types - "structs" and "typedefs"
d. Programming on Embedded systems.
Learning Outcomes By the end of the module students should be able to:
  • Demonstrate the knowledge and understanding to write programmes in C in order to help them solve problems in engineering.
  • Demonstrate the ability to interpret and enhance programmes developed by other engineers.
  • Demonstrate the ability to extract and reformulate real world scenarios into C programing code.
Assessment 30329-02 : Eight Lab Log Summaries : Coursework (8%)
30329-06 : Assessed Labs : Coursework (42%)
30329-07 : Exam : Exam (Centrally Timetabled) - Written Unseen (50%)
Assessment Methods & Exceptions Assessments:
One 2-hour formal written examination (50%) to be held during the January examination period and 50% by assessed laboratory examinations.
Reassessment:
One 2-hour Canvas-based examination (100%) to be held during the University’s supplementary examination period.
Other Duplicate of Birmingham-based module 28607
Reading List