Learning about mathematical theories to model problems and practicing programming skills to implement efficient solutions.
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.
- 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