CMT115: Python for Computation

School Cardiff School of Computer Science and Informatics
Department Code COMSC
Module Code CMT115
External Subject Code 100956
Number of Credits 20
Level L7
Language of Delivery English
Module Leader Dr Federico Liberatore
Semester Autumn Semester
Academic Year 2024/5

Outline Description of Module

The aim of this module is to introduce the Python programming language, and how it can be used to implement fundamental data structures and algorithms for computation. Students will be introduced to computational methods and techniques, regular expressions, and the design and use of relational databases. 

On completion of the module a student should be able to

  1. Employ Python adeptly for varied programming tasks, showcasing advanced understanding and application across domains. 
  2. Demonstrate critical awareness of programming fundamentals, including algorithms and data structures, for nuanced problem-solving and scalability. 

  3. Analyze and contrast common searching and sorting algorithms critically, showing deep comprehension and discernment. 

  4. Employ regular expressions with precision for text manipulation, assessing their effectiveness in complex scenarios. 

  5. Design and implement relational databases using Python, evaluating decisions critically for optimization and normalization. 

How the module will be delivered

Modules will be delivered through a blend of teaching styles. You will be guided through learning activities appropriate to your module, which may include: 

• on-line resources that you work through at your own pace (e.g. videos, web resources, e-books, quizzes), 

• on-line interactive sessions to work with other students and staff (e.g.  discussions, live streaming of presentations, live-coding, team meetings) 

• face to face small group sessions (e.g. help classes, feedback sessions) 

Skills that will be practised and developed

Fundamental Programming in Python 

Use concepts of Data Structures and Algorithms for practical problem solving 

Recursive programming 

Performing time complexity analysis 

Use of Regular Expression 

Use of SQL in Python 

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 100 Programming Coursework Using Python N/A

Syllabus content

Basic programming in Python: Fundamental data types, program control structures, Object Oriented Programming and other basic language features. 

Algorithms and Data Structures.

Iteration, recursion. 

Sorting and searching. 

Lists, queues, stacks, hashes and trees. 

Regular expressions. 

Testing and documentation. 

Fundamentals of relational database systems and SQL. 


Copyright Cardiff University. Registered charity no. 1136855