CM1103: Problem Solving with Python

School Cardiff School of Computer Science and Informatics
Department Code COMSC
Module Code CM1103
External Subject Code 100956
Number of Credits 20
Level L4
Language of Delivery English
Module Leader Professor Stuart Allen
Semester Autumn Semester
Academic Year 2022/3

Outline Description of Module

This module will provide students with the fundamental programming and problem solving skills necessary to continue study in Computer Science. The delivery of the module will be case study based, motivated by a study of a number of classical and topical real-world problems. Through these, the module will introduce the mathematical theory necessary to model problems and the programming skills necessary to implement efficient solutions.

On completion of the module a student should be able to

  1. Use Python and common modules to implement simple algorithms expressed in pseudocode, and understand fundamental programming concepts
  2. Develop informal algorithms and apply recursion to solve simple problems
  3. Informally analyse the efficiency of algorithms and contrast different searching algorithms
  4. Understand and apply basic logic, set theory, counting techniques, probability and statistics
  5. Write scientific reports describing the analysis of a problem

How the module will be delivered

Modules will be delivered through blended learning. 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

Programming in Python

Problem Solving

Effectively using online and offline API documentation

Writing scientific reports

Using the command line to manipulate files and run code


 

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)
Exam online – Autumn semester 60 Problem Solving With Python 2
Written Assessment 40 Problem Solving Exercise N/A

Syllabus content

Fundamental programming concepts in Python

         Representing data: booleans, numbers, strings, lists & tuples, functions & classes, sets

         Defining functions and modules

         Program control – loops and branching

         Input and output

         Useful Python modules

         References, mutability and lambda functions

Algorithms, including:

         Searching: including Linear search, Binary search, Regular expressions

         Fisher-Yates shuffle

         Recursion

         Efficiency

Mathematics

         Numerical skills

         Propositional logic

         Basic set theory

         Basic statistics and probability

         Permutations, combinations

         Introduction to mathematical proofs

Scientific report writing, including:

            Structuring a report

            Analysing and presenting results

            Drawing conclusions

 


Copyright Cardiff University. Registered charity no. 1136855