Module 06-26266 (2013)
|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 One
Eleven two-hour weekly lectures 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