This course focusses on mathematical and computational modelling of various real-world processes, with the main focus on biological systems. Using discrete models, algorithmic strategies will be explored including exact algorithms, approximation algorithms, heuristic algorithms, and randomized algorithms. The algorithms and models used will involve sets, graphs, strings, trees, and machines. For each algorithmic technique, we will study applications from biological systems and bioinformatics, including biomolecule string matching, sequence alignment, sequence assembly, compression, read mapping, stochastic modelling, and genome rearrangement. A class project will test the implementation or study of a model/algorithm. Weekly hours: 3 Lecture hoursPrerequisite(s): An undergraduate course in algorithms (such as CMPT 360) is recommended. Note(s): This course is a hybrid course with CMPT 451, and cannot be taken for credit after previously taking CMPT 451.
This course focusses on mathematical and computational modelling of various real-world processes, with the main focus on biological systems. Using discrete models, algorithmic strategies will be explored including exact algorithms, approximation algorithms, heuristic algorithms, and randomized algorithms. The algorithms and models used will involve sets, graphs, strings, trees, and machines. For each algorithmic technique, we will study applications from biological systems and bioinformatics, including biomolecule string matching, sequence alignment, sequence assembly, compression, read mapping, stochastic modelling, and genome rearrangement. A class project will test the implementation or study of a model/algorithm. Weekly hours: 3 Lecture hoursPrerequisite(s): An undergraduate course in algorithms (such as CMPT 360) is recommended. Note(s): This course is a hybrid course with CMPT 451, and cannot be taken for credit after previously taking CMPT 451.