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.
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
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