MATH602 – Mathematics for Programming

Print
Module code
MATH602
Module title
Mathematics for Programming
Prescription
To enable students to obtain the mathematical skills to facilitate an in-depth understanding of advanced programming techniques. Students will be able to solve problems in recurrence functions, asymptotic functions, algorithmic puzzles, combinatorics and graph theory and advanced topics in probability and statistics.
Programmes
  • BI1601
  • BI1804
NZQA Level
Level 6
NZQA Credits
15
Delivery method
  • Web-Supported
Learning hours
Directed hours
64
Self directed hours
86
Total learning hours
150
Resources required
Learning Outcomes
1. Discuss, examine and apply common recurrence functions and asymptotic functions to
analyse common algorithms

2. Solve algorithmic puzzles with average complexity

3. Discuss and apply combinatorics, probability and statistics to analyze algorithms and
programs

4. Apply common problems of graph theory used in computer programs
Content
- Recurrence functions and generating functions
- Definition and examples.
- Recurrence functions used in common algorithms.
- Growth rates and Recursion tree.

- Asymptotic function and big O notation
- Definition and examples
- Using Big O notation to analyse common algorithms
- Growth rates of functions and analysis pf algorithms

- Algorithms and mathematical puzzles
- Missing number, Fake coin detection, Max-Min weights, Tower of Hanoi
- Summation formulas

- Combinatorics
- Sum and product principles
- K-elements permutation of a set
- Counting subsets of a set

- Graph theory.
- Definitions and representations
- Depth first search and breadth first search
- The shortest path problem and Dijkstra's algorithm
- Minimum spanning tree
- Trees

- Probability and statistics for advanced programming

- Introduction to NP problems and classic examples
Teaching and Learning Strategy
Teaching methods will involve theoretical and practical classes which may include but not limited to lectures, class discussions, tutorials, case studies, simulations, computer laboratory work, group activities, face-to-face and online activities.
Assessment Criteria
In order to receive a passing grade, students must achieve a minimum 40% average over all supervised tests and achieve 50% overall for the module.
Learning and Teaching Resource
Wintec Learning Management Systems, Computer Laboratory
Required Textbooks
An extended reading list will be supplied by the tutor at commencement of the module. This will be updated annually.