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 |