Skip to content

CO2412 Computational Thinking Contents

Lecture 0 - What is Computational Thinking - Part A.pdf

What is Computational Thinking - Part A

Computational Thinking is the process of taking a complex problem, understanding the goals and requirements of that problem and developing and evaluating potential solutions.

The four fundamental aspects to Computational Thinking are:
- Decomposition
- Abstraction
- Pattern Recognition
- Algorithms

Decomposition

The process of breaking a complex problem down into smaller more manageable parts.

Pattern Recognition

Decerning and recognising the similarities that appear within the problem.

Abstraction

Focusing on the important details and ignoring anything that is not relevant to the problem.

Algorithms

Developing a step-by-step solution to the problem or devising the rules to be used to solve the problem.

Programming

The computational thinking module will utilise Python.

Grading

Number of Assignments Form of Assignment % Weighting Size of Assignment Category LOs being assessed
1 Examination 40% 1.5 Hours Written 1,2,3,4
# Module Learning Outcome
When successfully completing this module a student is expected to be able to:
- Use methods, including logic and probability to reason about algorithms and data structures.
- Compare, Select, and Justify algorithms and data structures for a given problem.
- Analyse the computational complexity of problems, and the efficiency of algorithms
- Use a range of notations to represent and analyse problems.

Lecture 0 - What is Computational Thinking - Part B.pdf

What is Computational Thinking - Part B

Python is a high-level programming language which is:
- interpreted
- interactive
- beginner's language
- object-orientated

Recommended IDE Anaconda Navigator

Python Advantage Disadvantage
Easy To Learn Slow
Scientific Community Sharing Interpreted
Easy To Access Library Type Inferred (Not Typed; Errors at runtime)
C++ Advantage Disadvantage
Execution Speed Learning Curve
Pre-Complied Harder To Access Libraries (Less shared libraries than Python)
Typed
Lecture 1 - Introduction To Python Programming Language