Module Information

Module Identifier
Module Title
Computational thinking
Academic Year
Semester 1
No previous Programming Experience.
Other Staff

Course Delivery

Delivery Type Delivery length / details
Practical 10 x 2 Hour Practicals
Lecture 10 x 1 Hour Lectures


Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   Online examination  50%
Semester Assessment Weekly exercises (10) that involve computational thinking  50%
Supplementary Exam 2 Hours   Resit failed Examination  50%
Supplementary Assessment Resubmission of failed/non-submitted coursework components or ones of equivalent value  50%

Learning Outcomes

On successful completion of this module students should be able to:

1. Explain the basics of computational thinking and relate to different environments
2. Read and write computer code as appropriate
3. Critique a software product and explain how it exhibits computational thinking.


The module aims to increase students' ability to abstract solutions to problems in a programming language

Brief description

This module reinforces the programming concepts being introduced in CS12020. All computational thinking is characterised by decomposition, data representation, generalization/abstraction, and the creation of an algorithm. In CS12020 students are applying their algorithms in the environment of C programming on arduinos. In this module there will be further discussion of these topics and supplementary examples of creation of an algorithm in an appropriate programming language.


Each week students will be introduced to an aspect of computational thinking in a 1 hour lecture and will then practice it in a 2 hour laboratory setting. They will do this through some or all of:
  • Online quiz;
  • A set of text based exercises,
  • Programming exercise in an appropriate programming language.

The aspects of computational thinking will be coordinated to reinforce the lectures in CS12020

Some of the topics covered will be:
1. Basics of programming
2. Variables
3. Selection
4. Iteration
5. Decomposition
6. Events
7. Compiling vs. interpreting- different programming language environments
8. Debugging and understanding the ways in which programs can go wrong
9. Complex variables (lists and objects)

The fundamental concepts behind all programming are decomposition, iteration and selection. These things are realized differently in different programming languages and in fact in all problem solving. Students will be encouraged to make those parallels explicit in different environments and to use techniques from programming in real world problem solving and vice versa.

Module Skills

Skills Type Skills details
Application of Number Yes in assignment
Communication Yes in assignment and exam
Improving own Learning and Performance Yes in assignment
Information Technology Yes in assignment
Personal Development and Career planning
Problem solving Yes in assignment and exam
Research skills Yes in assignment
Subject Specific Skills See module content
Team work No


This module is at CQFW Level 4