A second course in discrete mathematics and discrete structures. Topics include: counting, sequences and sums, discrete probability, basic statistics,...
A continuation of COMP 1807, this course will focus on data uncertainty and various timing issues inherent to the field of mobile robot...
A first course in operating systems stressing fundamental issues in design: process management; memory management; process co-ordination and...
The structure, organization and design of the phases of a compiler are considered: lexical translators, syntactical translators, scope handlers, type...
Theory and development software systems. This course will discuss computer ethics. Possible topics include: software development processes,...
Introduces students to concepts of database management systems, database design and file structures. Topics include: entity-relationship modeling and...
An introduction to functional and logic programming. Topics include: semantics of functional programming, assignment-free programming, the...
Fundamentals of the underlying theories, design principles, development and evaluation practices of human-computer interaction (HCI). Topics may...
This is an introductory course to the field of Network Computing. Topics include: Protocol Architectures and Internetworking, Types of Networks,...
This practical interdisciplinary course will provide a broad overview of bioinformatics in which computer science and mathematics are applied to solve...
Mathematical concepts of 3D engines. Topics may include: illumination and visibility determination; quaternions; homogeneous coordinates; transforms;...
Introduction to virtual communities, overlay networks and social networking. Topics include architectural principles for heterogeneous social...
An introduction to computational geometry focusing on applications to autonomous mobile robots. Topics may include planning, probabilistic roadmaps,...
Theoretical aspects of computer science. Topics include: formal languages and automata theory, computability theory. Prerequisite(s): COMP...
An introduction to the design and analysis of algorithms. Topics include: divide-and-conquer, dynamic programming, linear programming, greedy...
Enumeration: inclusion and exclusion, recurrence relations, generating functions and applications. Graph theory: connectivity, planarity, Hamilton...
Elementary discussion of error, polynomial interpolation, quadrature, linear systems of equations and matrix inversion, non-linear equations,...
Incorporation of basic numerical methods into efficient, reliable software. The course includes examination of existing software systems, e.g. linear...
An advanced course emphasizing the principles of distributed operating systems including networking protocols, distributed file systems, remote IPC...