Course Descriptions CSCI 6516   Deep Learning
Deep Learning is a subfield of Machine Learning; in this course, we study concepts that build on the fundamentals of neural networks and machine learning. This extension of concepts may include topics such as variational autoencoders, dilated convolutional networks, generative adversarial networks, adversarial examples, attention mechanisms, the transformer architecture, language models such as ELMo and BERT. In doing so, we improve our understanding of how the more basic systems work, and explore foundations such as optimization techniques.
NOTES: Students are expected to have a knowledge of fundamental concepts of Machine Learning. Students are also expected to strong mathematical skills in multivariate calculus, linear algebra (e.g. eigendecomposition), and probability (e.g. multi-dimensional Gaussian pdf).

CSCI 6606   Human Factors in On-Line Information Systems
Introduction to issues related to behavioural/human aspects of computing as applied to hypertext and other on-line information tools.

CSCI 6608   Advanced Computer Animation
The course introduces students to fundamental and advanced techniques and algorithms in Computer Animation. Topics include interpolation based and kinematic techniques, physically based modelling, motion capture, and character animation.
PREREQUISITES: Undergraduate course in Computer Graphics or Animation, or instructor's consent.

CSCI 6609   Ubiquitous Computing
Ubiquitous Computing moves computing off the desktop and into the fabric of our everyday lives. This course explores both systems and human-centric advances in Ubiquitous computing, including sensing, middleware, locative applications, smart environments, ambient displays, and tangible interactions. Students will design and implement a Ubiquitous Computing application prototype.
FORMAT: Lecture

CSCI 6610   Human Computer Interaction
Human-Computer interaction (HCI) deals with facilitating human-computer communication. Students will learn the foundations of HCI, including the process for user-centered development, the models that inform HCI design, the social issues influencing HCI design and use, and the evaluation of interfaces and systems with users.
  • Lecture
  • Lab

FORMAT COMMENTS: lab for hands-on/group work
PREREQUISITES: CSCI 3160 or equivalent

CSCI 6611   Persuasive Computing Design
Persuasion Technologies (PTs) are interactive systems designed to motivate people to change their behaviours without using coercion or deceit. This course will explore the fundamental theory, principle, and practice in the design, implementation, and evaluation of persuasive systems. Topics include theories of persuasion and behaviour change, persuasive strategies, application of the theories and strategies in persuasive interface/system design, persuasive system evaluation methods, approaches for personalizing and adapting persuasive systems, privacy and ethical issues of persuasive systems. Students will get hands-on experience on persuasive user interface design and evaluation, user studies, behaviour modelling, persuasive affordances of various technological platforms (e.g., mobile, social media, games), and ethics of PT through case analysis, critics, real-world project, project report, and project presentation.
NOTES: It is expected that students have a knowledge of user interface design and an interest in designing human-computer interfaces and/or systems that motivate behaviour change.

CSCI 6612   Visual Analytics
This course will introduce the concepts of Visual Analytics (VA). VA is a multi-disciplinary domain that combines data visualization with machine learning and other automated techniques to help people make sense of data. Students will be introduced to the design of visual representations supporting tasks to go from findings to insights based on data. Topics include basic concepts of information visualization and machine learning; visual analytics of evolving phenomena; analysis of spatial and temporal data sets; visual social media analytics; and the visual analytics of text and multimedia collections. Students will prototype visual analytics applications using existing toolkits, coupling machine learning and visualization methods. Students will gain competence in performing data analysis and visualization tasks in different application domains.
NOTES: Students must be proficient in at least one or multiple programming languages that support the design of interactive visual interfaces and the execution of data mining/machine learning libraries and toolkits.

CSCI 6613   The Web of Open Linked Data
The Web of Linked Data (WLD) is a major step towards making abstractions represented in data into something that can be meaningfully manipulated by computing machines. This experiential-learning project-based course introduces models and technologies for representing, aggregating, and machine reasoning about data using WWW standards (e.g, XML, RDF, OWL, SPARQL, RIF). The course prepares students to build applications and services for open government, eCommerce, OpenStreetMap, etc. The course also explores key issues in the development of the future of linked data.

CSCI 6702   Parallel Computing
This course explores various aspects of parallel computing including parallel architectures, systems, programming languages and implementation issues. It focuses on solving real problems on existing parallel machines. Students will participate in an implementation of a significant parallel computing project.

CSCI 6704   Advanced Topics in Networks
The primary focus of this course is to provide a comprehensive coverage of emerging and emergent network technologies that lay the foundation for the design of next generation high-performance global internetworks. Topics covered include advanced TCP/IP design, ATM protocols, Gigabit Ethernets, IPv6 networks and protocols, Secure Networks and VPNs, Wireless Networks, Optical Networks, and Internetwork Architecture Case Studies.
PREREQUISITES: CSCI 4171.03 or equivalent

CSCI 6706   Network Design and Management
The distributed enterprise information system consisting of workstations, servers, bridges, routers, hubs, Internet and interactive Web technology is critical to corporate productivity. This course explores how Information Technology (IT) can be used to manage an enterprise. It further examines how managers can strategically use IT to capture and deliver knowledge more efficiently and to create a competitive advantage.

CSCI 6708   Advanced Topics in Network Security
This course will provide a comprehensive coverage of the design of secure information systems with emphasis on secure networking and secure information transfer. It will also include topical and emerging areas in security such as wireless network security, mobile device security, security and privacy issues in mobile cloud computing, the establishment of an organization-wide security plan and bio-metric identification systems.
FORMAT: Lecture
PREREQUISITES: Undergraduate course in network

CSCI 6709   Software Defined Networking
Software Defined Networking (SDN) is one approach to designing networks, where network control functions (control plane) is decoupled from the hardware (data plane) like router or switches. The decoupled control plane or controller gathers a global network view to dynamically configure and manage network operations to meet the demand of applications. This course will introduce students to the SDN architecture and show how it can be used to efficiently design various networks.

CSCI 6710   Advanced Mobile Communication Systems
This course is composed of two components. In the first component, a review of the foundational topics in mobile communication systems (including Wireless Sensor Networks, Wireless Ad Hoc Net-works, Vehicular Networks, Mobile Cloud Computing, Mobile Edge Computing, Mobility Models, Localization and Positioning, and Data Analytics for Mobile Networks) will be provided. In the second component, we will study the state-of-the-art technologies on mobile communication systems using the latest research papers from top conferences and journals, such as IEEE International Conference on Computer Communications (INFOCOM) and IEEE Transaction on Wireless Communications (TWC). In addition, by completing an in-depth course project, the students will gain a thorough understanding of a specific problem in mobile communication systems.
RESTRICTIONS: Restricted to graduate level students only.

CSCI 6801   Computational Biology and Bioinformatics
This course is an introduction to current problems and techniques in computational biology and bioinformatics. The emphasis is put in the following themes: sequence analysis, phylogentics inference and structural biology. No biological background is assumed although the course covers many relevant biological concepts.`
RESTRICTIONS: Graduate student in Computer Science or Instructor's approval.

CSCI 6802   Algorithms in Bioinformatics
The discipline of bioinformatics applies sophisticated computational and statistical techniques to problems in the biological domain. This course will focus on a few biosequence-related challenges in depth, examining the complexity and efficiency of different approaches, the relationship between statistical optimality and biological reality, and the consistency (or lack thereof) among methods.

CSCI 6901   Directed Studies
This course offers the student the opportunity to undertake further study into a specific topic of interest that is not covered in the regular course offerings. The student will be supervised by a faculty member competent in the area of interest. Regular meetings between the student and supervising faculty will be held. A substantial project and report are required.
PREREQUISITES: Permission of the Graduate Committee

CSCI 6902   Doctoral Directed Studies
This course offers the doctoral student the opportunity to undertakefurther study into a specific topic of interest that is not covered in the regular course offerings. The student will be supervised by a faculty member competent in the area of interest. Regular meetings between the student and supervising faculty will be held. A substantial project and report are required.
PREREQUISITES: Permission of the Graduate Committee

CSCI 6903   Special Graduate Topics in Computer Science
This graduate course examines topics determined by the interests of the students and the instructor.
NOTE: Course Details listed here also apply to CSCI 6904/CSCI 6905/CSCI 6906/CSCI 6907/CSCI 6908.

CSCI 6904   Special Graduate Topics in Computer Science
See CSCI 6903.