Teaching

MACM 203 Computing with Linear Algebra

Spring 2020, Simon Fraser University

By writing programs in Matlab, students develop computational models which illustrate applications of linear algebra. Topics include large-scale matrix computations, experiments with cellular automata, PageRank (Google's ranking algorithm), population models, data fitting and optimization, image processing, and cryptography.

Algebra Workshop

Spring 2020, Simon Fraser University

Algebra Workshop is designed for the students in MATH 100, MATH 232, MATH 240 and MACM 201 to drop in casually to discuss course material with instructors, coordinators, and teaching assistants, or get help with assignments, studying, and exam preparation

Algebra Workshop

Fall 2019, Simon Fraser University

Algebra Workshop is designed for the students in MATH 100, MATH 232, MATH 240 and MACM 201 to drop in casually to discuss course material with instructors, coordinators, and teaching assistants, or get help with assignments, studying, and exam preparation

Algorithms and Data Structures (INFR10052)

Spring 2019, University of Edinburgh

The course aims to provide general techniques for the design of efficient algorithms and, in parallel, develop appropriate mathematical tools for analysing their performance. In this, it broadens and deepens the study of algorithms and data structures initiated in INF2. The focus is on algorithms, more than data structures. Along the way, problem solving skills are exercised and developed.

Informatics 2D - Reasoning and Agents (INFR08010)

Spring 2019, Spring 2018, University of Edinburgh

This course focuses on approaches relating to representation, reasoning and planning for solving real world inference. The course illustrates the importance of (i) using a smart representation of knowledge such that it is conducive to efficient reasoning, and (ii) the need for exploiting task constraints for intelligent search and planning. The notion of representing action, space and time is formalized in the context of agents capable of sensing the environment and taking actions that affect the current state. There is also a strong emphasis on the ability to deal with uncertain data in real world scenarios and hence, the planning and reasoning methods are extended to include inference in probabilistic domains.

Informatics 2B - Algorithms, Data Structures, Learning (INFR08009)

Spring 2019, University of Edinburgh

This course presents key symbolic and numerical data structures and algorithms for manipulating them. Introductory numerical and symbolic learning methods provide a context for the algorithms and data structures. To make the presented ideas concrete, the module will extend the student's skills in Java and Matlab. Examples will be taken from all areas of Informatics.

InfBase

Spring 2019, Fall 2018, Spring 2018, Fall 2017, University of Edinburgh

InfBase is a drop-in helpdesk for Informatics Year 1 and Year 2 students to get additional tutoring and support with their courses.

Discrete Mathematics and Mathematical Reasoning (INFR08023)

Fall 2018, Fall 2017, University of Edinburgh

This course is an introduction to formal mathematical reasoning underlying much of computer science: discrete mathematics. The course covers mathematical logic, proof techniques, number theory, combinatorics, probability and graph theory.

Informatics 1 - Cognitive Science (INFR08020)

Spring 2018, University of Edinburgh

This course is designed as a first introduction to Cognitive Science. It will provide a selective but representative overview of the subject, suitable for all interested students, including students on the Cognitive Science degrees and external students. The aim is to present a unified view of the field, based on a computational approach to analysing cognition. The material is organized by cognitive function (e.g., language, vision), rather than by subdiscipline (e.g., psychology, neuroscience). The course covers language, vision and attention, memory, motor control and action, and reasoning and generalization. All topics will be presented from a computational point of view, and this perspective will be reinforced by lab sessions in which students use implementations of cognitive models. The course will also provide a basic grounding in the methods of Cognitive Science, focusing on computational modelling and experimental design.