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

  1. Describe the history of computing and the internal workings of a digital computer. 
     

  2. Complete basic programming tasks in high-level languages (Python). 
     

  3. Construct simple software systems and analyse their functionality. 
     

  4. Have awareness of the application of computation processes to real-world problems. 
     

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


Copyright Cardiff University. Registered charity no. 1136855