CM1101: Computational Thinking
| School | Cardiff School of Computer Science and Informatics |
| Department Code | COMSC |
| Module Code | CM1101 |
| External Subject Code | 100956 |
| Number of Credits | 20 |
| Level | L4 |
| Language of Delivery | English |
| Module Leader | Dr Kirill Sidorov |
| Semester | Autumn Semester |
| Academic Year | 2025/6 |
Outline Description of Module
This module aims to excite and enthuse students in the field of IT, information systems, software engineering, and computer science. It provides an introduction to some of the fundamentals of computing, explores applications of computing, and develops the relevant intellectual and learning skills. The module addresses this from both a theoretical and a practical viewpoint.
On completion of the module a student should be able to
-
Describe the history of computing and the internal workings of a digital computer.
-
Complete basic programming tasks in high-level languages (Python).
-
Construct simple software systems and analyse their functionality.
-
Have awareness of the application of computation processes to real-world problems.
-
Begin to apply the best practices, such as using version control software and unit testing.
How the module will be delivered
The module will be delivered through a combination of lectures, supervised lab sessions, example classes, and tutorials as appropriate.
Skills that will be practised and developed
Elementary programming;
Analysing and solving problems using computational thinking;
Working on creative projects in teams;
Contributing effectively and conscientiously to the work of a team;
Using command line interface to manipulate files and directories, compile and run code, and interact with version control software;
Elements of personal development planning;
Communicating ideas and solutions to others;
Avoiding plagiarism and collusion;
Planning and managing own workload;
Study skills (reading, writing, listening, and note taking);
Students will have a good understanding of what they will encounter and what is expected of them on their degree scheme;
Students should understand and value the different subjects and disciplines conducted within the School;
Students will have formed “informal” support networks via team working.
How the module will be assessed
A blend of assessment types which may include coursework and portfolio assessments, class tests, and/or formal examinations.
Students will be provided with reassessment opportunities in line with University regulations.
Assessment Breakdown
| Type | % | Title | Duration(hrs) |
|---|---|---|---|
| Written Assessment | 50 | Team Project: Adventure Game | N/A |
| Written Assessment | 30 | Python And Computer Architecture Test | N/A |
| Written Assessment | 20 | Individual Project: Towards An Adventure Game | N/A |
Syllabus content
Student Learning
· Learning skills (meeting personal tutors, system registration, learning resources, library, ethics, plagiarism).
· Learning spaces (Introduction to the Blackboard VLE, establishing email accounts, and other learning tools).
Computation
· What is computation? (Characteristics, limits on its use, relationship to hardware, software, history and future of computing.)
· Computational thinking at multiple levels of abstraction (applications to the real world problems).
· Scientific principles underpinning computation.
· Purpose and level of programming languages.
Operation of a Digital Computer
· Basic components of a computer architecture.
· Elements of logic and Boolean algebra, binary arithmetic.
· Representation of data.
Introduction to Programming in Python
· Values, variables, data types.
· Program control flow (structured programming).
· Elementary means of abstraction.
· Input and output.
· Python standard library.
Collaborative Development
· An introduction to tools available for developing software collaboratively, e.g. Git.
· Presentation skills.