Skip to main content

Study information

The C Family - 2025 entry

MODULE TITLEThe C Family CREDIT VALUE15
MODULE CODEECM2433 MODULE CONVENERProf Richard Everson (Coordinator)
DURATION: TERM 1 2 3
DURATION: WEEKS 0 11 0
Number of Students Taking Module (anticipated) 200
DESCRIPTION - summary of the module content

The family of C languages includes some of the most widely-used programming languages in science and commerce today. From embedded systems to scientific modelling and from mobile apps to web services, many of the systems around us have been developed in a C family language. Although writing in these compiled languages can be more complex and exacting than some more recent languages, they offer greater performance and direct access to operating system services.   In this module you will be introduced to a number of the C family languages, their history and relationships, and the computer systems that they are most commonly used to develop.

AIMS - intentions of the module

This module aims to develop skills in the C family languages including the syntax of each language and its predominant application area. The module also aims to highlight the similarities and differences between each of the languages, to explain their shared history and to describe the relationship between these languages, principally C, C++ and Rust, and languages such as Java and Python. 

INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)

On successful completion of this module you should be able to:
 
Module Specific Skills and Knowledge
 
1. Read and write computer programs in C, C++ and Rust;
 
2. Demonstrate an understanding of the strengths and weaknesses of relevant languages;
 
3. Describe the similarities and differences between these languages and explain their shared history and relationships with other languages. 
 
Discipline Specific Skills and Knowledge
 
4. Identify common programming structures amongst separate languages;
 
5. Choose appropriate languages for specific applications;
 
Personal and Key Transferable / Employment Skills and Knowledge
 
6. Use C languages for the development of a variety of programming tasks.

 

SYLLABUS PLAN - summary of the structure and academic content of the module
History of C languages and relationship with other current languages;
C syntax and applications;
Interaction with system services via the standard C library;
C++ syntax and standard library;
Rust syntax and surrounding programming environment; 
Summary of languages highlighting feature comparison.
LEARNING AND TEACHING
LEARNING ACTIVITIES AND TEACHING METHODS (given in hours of study time)
Scheduled Learning & Teaching Activities 36 Guided Independent Study 114 Placement / Study Abroad 0
DETAILS OF LEARNING ACTIVITIES AND TEACHING METHODS
Category Hours of study time Description
Scheduled learning & teaching 3 Lectures
Scheduled learning & teaching 33 Computer-based workshops
Guided independent study 40 Independent assignments
Guided independent study 77 Private Study

 

ASSESSMENT
FORMATIVE ASSESSMENT - for feedback and development purposes; does not count towards module grade
Form of Assessment Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Programming exercises In weekly programming workshops 1,2,4,5, 6
Verbal feedback and automated code analysis

 

SUMMATIVE ASSESSMENT (% of credit)
Coursework 25 Written Exams 50 Practical Exams 25
DETAILS OF SUMMATIVE ASSESSMENT
Form of Assessment % of Credit Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Weekly programming exercises 25 10 hours 1-2, 4-6 Written and automated code analysis
In-class programming exercise 10 2 hours 1-2, 4-6 Written
In-class programming exercise 15 2 hours 1-2, 4-6 Written
Examination 50 2 hours 1-6 Individual marksheet

 

DETAILS OF RE-ASSESSMENT (where required by referral or deferral)
Original Form of Assessment Form of Re-assessment ILOs Re-assessed Time Scale for Re-assessment
In-class programming tests In-class programming test (50%) 1-2, 4-6 Referral/deferral period
Examination Examination (50%) 1-6 Referral/deferral period

 

RE-ASSESSMENT NOTES

Reassessment will be by coursework in the failed or deferred element only. For referred candidates, the module mark will be capped at 40%.  For deferred candidates, the module mark will be uncapped.

RESOURCES
INDICATIVE LEARNING RESOURCES - The following list is offered as an indication of the type & level of
information that you are expected to consult. Further guidance will be provided by the Module Convener
Brian Kernighan and Dennis Ritchie. The C Programming Language (2nd edition), Addison-Wesley, 1988.
Bjarne Stroustrup. The C++ Programming Language (4th Edition). Addison-Wesley, 2013.
Stanley Lippman, Josée Lajoie, Barbara Moo.  C++ Primer. Addison-Wesley, 2012.
Brian Ward. How LINUX Works; what every superuser should know (3rd edition).  No Starch Press. 2021.
Steve Klabnik, Carol Nichols. The Rust Programming Language (2nd edition).  No Starch Press. 2023.

Reading list for this module:

There are currently no reading list entries found for this module.

CREDIT VALUE 15 ECTS VALUE 7.5
PRE-REQUISITE MODULES ECM1410, ECM1400
CO-REQUISITE MODULES
NQF LEVEL (FHEQ) 5 AVAILABLE AS DISTANCE LEARNING No
ORIGIN DATE Thursday 14th March 2024 LAST REVISION DATE Wednesday 11th June 2025
KEY WORDS SEARCH C language, programming

Please note that all modules are subject to change, please get in touch if you have any questions about this module.