Module 06-26266 (2014)
|Hayo Thielecke||Semester 2||10 credits|
The module introduces the C/C++ family of programming languages, including programming language design issues arising from the various extensions of C that have been developed. The module assumes some familiarity with programming in Java, and it will emphasise the differences between C-style languages and Java, such as garbage collection vs memory management and pointers.
The aims of this module are to:
- To present the main features of the C/C++ family of programming languages
- To introduce students to programming styles appropriate for C and/or C++
On successful completion of this module, the student should be able to:
- Program in C, with due care of memory management issues. 2 . Describe a number of different extensions (such as Objective C, C-sharp), and the ways in which they differ.
- Demonstrate knowledge of the programming language design issues arising from these variants (e.g. garbage collection vs memory management, dynamic vs static typing).
- Students will be able to write programs using the main features of C++.
- 06-18190 - Software Workshop 1
Two hourly lectures per week plus eleven two-hour demonstrator-supervised laboratory sessions.
Sessional: 1.5 hr examination (80%), continuous assessment (20%).
Supplementary (where allowed): By examination only (100%).
- Strings, arrays and pointers; string operations and buffer overflow
- Pointers and linked lists
- Trees in C: struct and union, enum and switch
- Memory management; stack vs heap allocation
- Polymorphism, structures and function pointers
- C++ classes and objects
- C++ templates
Programmes containing this module
- BSc Artificial Intelligence & Computer Science 
- BSc Artificial Intelligence & Computer Science with an Industrial Year 
- BSc Computer Science 
- BSc Computer Science with an Industrial Year 
- BSc Computer Science with Business Management 
- BSc Computer Science with Business Management with an Industrial Year 
- BSc Computer Science with Study Abroad 
- MEng Computer Science/Software Engineering 
- MEng Computer Science/Software Engineering with an Industrial Year 
- MSci Computer Science 
- MSci Computer Science with an Industrial Year 
- MSci Computer Science with Study Abroad