We use cookies on our website. To learn more about the cookies we use, please see our cookie policy. You can manage cookies via your browser settings. By continuing to browse the site you are agreeing to our use of cookies.
Accept and Close.

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.

Aims

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

Brief description

The module aims to increase students’ ability to abstract solutions to problems in a programming language. It is designed to support students who come to University with no programming experience and will be taken alongside, and act as a support module for CS12020 (Introduction to programming) or as a stand alone for foundation year students and students from other departments.

All computational thinking is characterised by decomposition, data representation, generalization/abstraction, and the creation of an algorithm using iteration and selection. The details of these things are realized differently in different programming languages. 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 students will be encouraged to recognise those parallels and to use techniques from programming in real world problem solving and vice versa. Supplementary examples of creation of an algorithm in other modalities such as, for example: a LOGO like turtle in an environment like BlueJ; or a drag and drop programming language, such as Scratch.

Content

This module will be taught mainly in a computer lab.
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 through some or all of:
• a set of text based exercises,
• computer exercises
• the same programming environment as that used in CS12020, or
• in a drag and drop style programming language.
The aspects of computational thinking will be coordinated to reinforce the lectures in CS12020 as far as possible.