Skip to Content

EE3093: C/C++ PROGRAMMING (2016-2017)

Last modified: 28 Jun 2018 10:27

Course Overview

C programming is presented with an introduction to methods for the design of well-structured and maintainable computer programs.  The course begins by introducing the syntax and semantics of the C programming language.  This includes the use of structures and of pointers with a view to a later introduction to the C++ language.  Techniques for producing easily maintained and modifiable code are emphasised.  An introduction to elementary data structures (lists, stacks and queues) is included.  Practical activity includes the use of basic software development tools (debugging techniques, version control).  The course concludes with an introduction to the C++ programming language.

Course Details

Study Type Undergraduate Level 3
Session First Sub Session Credit Points 15 credits (7.5 ECTS credits)
Campus None. Sustained Study No
  • Dr Nakkeeran Kaliyaperumal

Qualification Prerequisites


What courses & programmes must have been taken before this course?

  • Any Undergraduate Programme (Studied)
  • One of BSc Engineering (Electrical & Electronic) or Bachelor of Engineering in Eng (Electrical and Electronic) or () or Master of Engineering in Electrical & Electronic Engineering or Bachelor of Engineering in Eng (Mechanical and Electrical) or Master of Engineering in Mechanical & Electrical Eng
  • Either Programme Level 3 or Programme Level 4

What other courses must be taken with this course?


What courses cannot be taken with this course?

  • EG3092 C/C++ Programming A (Studied)
  • EG3093 C/C++ Programming (Studied)

Are there a limited number of places available?


Course Description

  1. Background history; A simple C program and explanation; Sequential execution of statements; Compiling (on UNIX and pc); Comments; Simple variables; Displaying variable values; input of variable values; formatting output.
  2. Expressions and assignments; conditional statements; true and false in C; Boolean operators; arithmetic operators.
  3. Loops using for and while; loop initialisation; loop termination; simple arrays, Pointers and addresses, local and heap storage.
  4. Functions, formal and actual arguments; scope rules; passing data by value; using pointers as arguments; recursive functions; Example: Factorial of a number.
  5. Libraries, writing maintainable code, code style, example code.
  6. Data structures, use of struct, structs that contain pointers, linked lists, stacks, FIFOs and trees.
  7. Techniques for large programs, organisation of #include files, development tools, use of version control, software test.
  8. Additional features in C++, introduction to classes, public and private members and methods. Constructors and destructors. Instantiation of classes. Static class members.
  9. Inheritance, protected members, function overloading and virtual functions. Example: use of GUI library.           

Contact Teaching Time

Information on contact teaching time is available from the course guide.

Teaching Breakdown

More Information about Week Numbers

Details, including assessments, may be subject to change until 31 August 2023 for 1st half-session courses and 22 December 2023 for 2nd half-session courses.

Summative Assessments

1st Attempt: 1 three-hour computer based programming examination (80%); continuous assessment (20%).

Resit: 1 three-hour computer based programming examination (100%).

Formative Assessment

The 3 three-hour Lab exercise requires the students to submit their log books for marking at the end of each lab, in order for formative assessment and feedback to be provided.


a) Students can receive feedback on their progress with the Course on request at the weekly tutorial/feedback sessions and at the design lab sessions.
b) Generic exam feedback will be emailed to the whole class at their University email address.
c) Students requesting individual feedback on their exam performance should make an appointment within 3 weeks of the publication of the exam results.
d) Logbooks will be returned with marks and comments after each lab.

Course Learning Outcomes


Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.