top of page
Marble Surface

Courses Taught

Fall 2021 & 2022


Internet Technologies (COSC 2P89):

The course discusses the major principles, algorithms, languages and technologies that underlie web development. Students receive practical hands-on experience through a project.

Winter 2022

Programming Languages (COSC 2P05):

This course covers fundamental concepts of programming languages including syntax, semantics, program translation, virtual machines, control, data types, multi-threading, exception handling and abstraction mechanisms. Introduction to programming paradigms including imperative, applicative, logic and object-oriented.

Winter 2023 & 2024

Introduction to Natural Language Processing (COSC 5P84/4P84):

A theoretical and methodological introduction to the computational modelling of natural language, including techniques and algorithms, formalisms, and applications. Fundamental topics underlying current Natural Language Processing technologies in detail, including but not limited to computational morphology, lexical and compositional semantics, syntactic parsing, language modelling, summarization, machine translation, and coreference resolution. Various machine learning techniques showing promising results on many Natural Language Processing benchmarks.


Data Structures and Abstraction (COSC 1P03):

The course is an introduction to data abstraction and information hiding methodologies and the fundamental dynamic data structures of Computer Science: stacks, queues and lists. It continues the discussions of the Java programming language features that support abstraction.

bottom of page