Multi-Paradigm Programming module (CS21003)

Learn to program in C and C++ through the exploration of data structures.

Credits
20
Module code
CS21003
Level
2
Semester
Semester 1
School
School of Science and Engineering
Discipline
Computing

Multi-paradigm programming refers to the ability to use different programming styles, such as procedural or object-oriented programming.

In the first part of the module, you will study the C programming language, which supports the procedural programming paradigm.

In the second part, you will move on to study the C++ programming language, which expands upon C and allows for object-oriented programming.

Learning multiple programming paradigms enables you to approach problems from different perspectives, and allows you to choose the best way to solve them.

What you will learn

In this module, you will:

  • study two important programming paradigms, procedural and object-oriented programming
  • develop programming skills in C and C++
  • explore elements of C and C++ programming, such as pointers, structs, and dynamic memory allocation
  • learn about data structures, such as stack, queues, trees, graphs, and hash tables

By the end of this module, you will be able to:

  • understand and apply both procedural and object-oriented programming concepts
  • show a strong understanding of data structures and their capabilities
  • identify and evaluate suitability of data structures to solve a given computational problem
  • demonstrate your ability to program in C and C++

Assignments / assessment

  • C Programming assignment (30%)
  • C++ Programming assignment (40%)
  • exam (30%)

This module has a Qualifying Fail condition which means that you must pass each of the individual topics (C and C++) in order to pass the module overall.

Teaching methods / timetable

You will learn by taking a hands-on approach. This will involve taking part in tutorials and practical sessions.

Learning material is provided through videos, review notes, examples, and tutorial questions.

Week Topic
1 C Fundamentals
2 C Memory Management
3 Data Structures in C
4 C Data Structures continued
5 C Data Structures continued
6 C++ Fundamentals
7 C++ Object Orientation
8 C++ Templates and Memory Management
9 C++ Data Structures
10 C++ Error handling and File I/O
11 Revision

Courses

This module is available on the following courses: