production
Skip to Content

EG3093: C/C++ PROGRAMMING (2014-2015)

Last modified: 03 Jun 2014 15:19


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
Co-ordinators
  • Dr Nakkeeran Kaliyaperumal

Qualification Prerequisites

  • Programme Level 3

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

  • Any Undergraduate Programme (Studied)

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

Are there a limited number of places available?

No

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.           

Degree Programmes for which this Course is Prescribed

  • Bachelor of Engineering in Eng (Elec & Elec with Eur Stud)
  • Bachelor of Engineering in Eng (Electrical and Electronic)
  • Master of Engineering in Electrical & Electronic Eng w Man't
  • Master of Engineering in Electrical & Electronic Engineering
  • Master of Engineering in Electronic & Computer Engineering
  • Master of Engineering in Electronic Eng'g wth Communications

Contact Teaching Time

Sorry, we don't have that information available.

Teaching Breakdown

  • 0
    • None.
  • 1
    • None.
  • 2
    • None.

More Information about Week Numbers


Assessment

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.

Feedback

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.

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.