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
- Employ Python adeptly for varied programming tasks, showcasing advanced understanding and application across domains.
-
Demonstrate critical awareness of programming fundamentals, including algorithms and data structures, for nuanced problem-solving and scalability.
-
Analyze and contrast common searching and sorting algorithms critically, showing deep comprehension and discernment.
-
Employ regular expressions with precision for text manipulation, assessing their effectiveness in complex scenarios.
-
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.