Gwybodaeth Modiwlau

Module Identifier
CS12910
Module Title
Computational thinking
Academic Year
2015/2016
Co-ordinator
Semester
Semester 1
Pre-Requisite
No Programming Experience Required
Other Staff

Course Delivery

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

Assessment

Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   online examination  50%
Semester Assessment Weekly exercises (up to 10) that involve computational thinking  50%
Supplementary Exam 2 Hours   Resit failed Examination in B23 computer room  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.

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.

Some of the topics covered will be:
• Basics of programming - Compiling vs. interpreting- different programming language environments
• Variables
• Selection
• Iteration
• Decomposition and functions
• Debugging and understanding the ways in which programs can go wrong

• Complex variables (lists, arrays, structs and objects)

Week 1: What is computational thinking and what is problem solving?
Week 2: What is programming? Variables and sequence
Week 3: Loops
Week 4: selection and nesting
Week 5: functions and decomposition
Week 6: Menus, Java types, functions
Week 7: workweek
Week 8: YOUR problems, general approach, debugging
Week 9: review mock exam
Week 10: Object-orientation
Week 11: recap

Module Skills

Skills Type Skills details
Application of Number Yes in assignment - particularly the spreadsheet
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
Research skills Yes in assignment
Subject Specific Skills See module content
Team work No

Notes

This module is at CQFW Level 4