Course Search

CSCC73H3 - Algorithm Design and Analysis

Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, and possibly others.

Prerequisite: CSCB63H3 and STAB52H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]
Exclusion: CSC373H, CSC375H, CSC364H
Breadth Requirements: Quantitative Reasoning

CSCC85H3 - Fundamentals of Robotics and Automated Systems

The course introduces the fundamental principles, problems, and techniques involved in the operation of mobile robots and other automated systems. Course topics include: components of automated systems, sensors and sensor management, signal acquisition and noise reduction, principles of robot localization, FSM-based A.I. for planning, fault-tolerance and building fault-tolerant systems, real-time operation and real-time operating systems; and computational considerations such as hardware limitations and code optimization. Ethical considerations in the implementation and deployment of automated systems are discussed. The concepts covered in the course are put in practice via projects developed on a Lego robotic platform.

Prerequisite: CSCB58H3 and CSCB09H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt]
Exclusion: ECE385H
Recommended Preparation: CSCB07H3
Breadth Requirements: Quantitative Reasoning

CSCD01H3 - Engineering Large Software Systems

An introduction to the theory and practice of large-scale software system design, development, and deployment. Project management; advanced UML; requirements engineering; verification and validation; software architecture; performance modeling and analysis; formal methods in software engineering.

Prerequisite: CSCC01H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt]
Exclusion: CSC302H, (CSCD08H3)
Breadth Requirements: Quantitative Reasoning
Course Experience: University-Based Experience

CSCD03H3 - Social Impact of Information Technology

The trade-offs between benefits and risks to society of information systems, and related issues in ethics and public policy. Topics will include safety-critical software; invasion of privacy; computer-based crime; the social effects of an always-online life; and professional ethics in the software industry. There will be an emphasis on current events relating to these topics.

Prerequisite: 14.0 credits and enrolment in a Computer Science Subject POSt. Restricted to students in the Specialist/Specialist Co-op programs in Computer Science or in the Specialist/Specialist Co-op programs in Management and Information Technology
Exclusion: CSC300H
Breadth Requirements: Social and Behavioural Sciences
Course Experience: University-Based Experience

CSCD18H3 - Computer Graphics

The course will cover in detail the principles and algorithms used to generate high-quality, computer generated images for fields as diverse as scientific data visualization, modeling, computer aided design, human computer interaction, special effects, and video games. Topics covered include image formation, cameras and lenses, object models, object manipulation, transformations, illumination, appearance modeling, and advanced rendering via ray-tracing and path-tracing. Throughout the course, students will implement a working rendering engine in a suitable programming language.

Prerequisite: MATB24H3 and MATB41H3 and [CSCB09H3 or proficiency in C] and CSCC37H3 and [a CGPA of at least 3.5 or enrolment in a Computer Science Subject POSt]
Exclusion: (CSC418H1)/CSC317H1
Breadth Requirements: Quantitative Reasoning

CSCD21H3 - Blockchains and Decentralized Applications

The course is meant to expose students to Web3 by covering the technical aspects of blockchain technologies and smart contracts. The course will have three learning outcomes. First, the students will learn how to build blockchains based on different consensus. Secondly, they will learn how to develop decentralized applications using smart contracts. Finally, they will learn about the current challenges of blockchain technologies such as scalability, interoperability and privacy.

Prerequisite: CSCC09H3
Breadth Requirements: Quantitative Reasoning

CSCD25H3 - Advanced Data Science

This course teaches the basic techniques, methodologies, and ways of thinking underlying the application of data science and machine learning to real-world problems. Students will go through the entire process going from raw data to meaningful conclusions, including data wrangling and cleaning, data analysis and interpretation, data visualization, and the proper reporting of results. Special emphasis will be placed on ethical questions and implications in the use of AI and data. Topics include data pre-processing, web scraping, applying supervised and unsupervised machine learning methods, treating text as data, A/B testing and experimentation, and data visualization.

Prerequisite: CSCB63H3 and CSCC11H3 and [a CGPA of 3.5 or enrolment in a CSC Subject POSt]
Breadth Requirements: Quantitative Reasoning

CSCD27H3 - Computer and Network Security

Public and symmetric key algorithms and their application; key management and certification; authentication protocols; digital signatures and data integrity; secure network and application protocols; application, system and network attacks and defences; intrusion detection and prevention; social engineering attacks; risk assessment and management.

Prerequisite: CSCB09H3 and CSCB36H3 and CSCB58H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt]
Exclusion: CSC427H
Recommended Preparation: CSCC69H3
Breadth Requirements: Quantitative Reasoning
Course Experience: University-Based Experience

CSCD37H3 - Analysis of Numerical Algorithms for Computational Mathematics

Most mathematical models of real systems cannot be solved analytically and the solution of these models must be approximated by numerical algorithms. The efficiency, accuracy and reliability of numerical algorithms for several classes of models will be considered. In particular, models involving least squares, non-linear equations, optimization, quadrature, and systems of ordinary differential equations will be studied.

Prerequisite: CSCC37H3 and MATB24H3 and MATB41H3 and [CGPA of at least 3.5 or enrolment in a CSC Subject POSt or enrolment in a non-CSC Subject POSt for which this specific course is a program requirement]
Exclusion: (CSCC50H3), (CSCC51H3), CSC350H, CSC351H
Breadth Requirements: Quantitative Reasoning

CSCD43H3 - Database System Technology

Implementation of database management systems. Storage management, indexing, query processing, concurrency control, transaction management. Database systems on parallel and distributed architectures. Modern database applications: data mining, data warehousing, OLAP, data on the web. Object-oriented and object-relational databases.

Prerequisite: CSCC43H3 and CSCC69H3 and CSCC73H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt]
Exclusion: CSC443H
Breadth Requirements: Quantitative Reasoning

CSCD54H3 - Technology Innovation and Entrepreneurship

This course examines high-Tech innovation and entrepreneurship, principles of operation of successful high-tech enterprises, customer identification and validation, product development, business models, lean startup techniques, and financing of high-technology ventures. Students will work in teams to develop their own innovative product idea, and will produce a sound business plan to support their product.

Prerequisite: A minimum of 2.5 credits at the B-level or higher in CSC courses
Corequisite: CSCD90H3
Exclusion: CSC454H
Breadth Requirements: Social and Behavioural Sciences
Note: Restricted to students in the Entrepreneurship stream of the Specialist/Specialist Co-op programs in Computer Science. If space permits, students in other streams of the Specialist/Specialist Co-op programs in Computer Science may be admitted to the course, with the permission of the instructor.

CSCD58H3 - Computer Networks

Computer communication network principles and practice. The OSI protocol-layer model; Internet application layer and naming; transport layer and congestion avoidance; network layer and routing; link layer with local area networks, connection-oriented protocols and error detection and recovery; multimedia networking with quality of service and multicasting. Principles in the context of the working-code model implemented in the Internet.

Prerequisite: CSCB58H3 and CSCB63H3 and STAB52H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt]
Exclusion: CSC458H
Breadth Requirements: Quantitative Reasoning

CSCD70H3 - Compiler Optimization

The goal of this course is to examine the design and implementation of a compiler optimized for modern parallel architectures. Students will learn about common optimizations, intermediate representations (IRs), control-flow and dataflow analysis, dependence graphs, instruction scheduling, and register allocation. Advanced topics include static single assignment, memory hierarchy optimizations and parallelization, compiling for multicore machines, memory dependence analysis, automatic vectorization/thread extraction, and predicated/speculative execution.

Prerequisite: CSCB63H3 and CSCC69H3 and [CGPA 3.5 or enrolment in a CSC Subject POSt]
Breadth Requirements: Quantitative Reasoning

CSCD71H3 - Topics in Computer Science

A topic from computer science, selected by the instructor, will be covered.
The exact topic will typically change from year to year.

Prerequisite: Permission of the instructor and [CGPA 3.5 or enrolment in a CSC Subject POSt]. Normally intended for students who have completed at least 8 credits.

CSCD72H3 - Topics in the Theory of Computing

A topic from theoretical computer science, selected by the instructor, will be covered.
The exact topic will typically change from year to year.

Prerequisite: Permission of the instructor and [CGPA 3.5 or enrolment in a CSC Subject POSt]. Normally intended for students who have completed at least 8 credits.

CSCD84H3 - Artificial Intelligence

A study of the theories and algorithms of Artificial Intelligence. Topics include a subset of: search, game playing, logical representations and reasoning, planning, natural language processing, reasoning and decision making with uncertainty, computational perception, robotics, and applications of Artificial Intelligence. Assignments provide practical experience of the core topics.

Prerequisite: STAB52H3 and CSCB63H3 and [a CGPA of 3.5 or enrolment in a CSC subject POSt]
Exclusion: CSC484H, CSC384H
Breadth Requirements: Quantitative Reasoning

CSCD90H3 - The Startup Sandbox

In this capstone course, students will work in teams to develop a viable product prototype following the methodologies and techniques covered in CSCD54H3. Students will produce written reports, short videos pitching their idea, and a final presentation showcasing their proposed innovation, as it would be pitched to potential investors. The course instructor and TAs will provide close supervision and mentorship throughout the project.

Prerequisite: A minimum of 2.5 credits at the B-level or higher in CSC courses
Corequisite: CSCD54H3
Breadth Requirements: Quantitative Reasoning
Course Experience: University-Based Experience
Note: Restricted to students in the Entrepreneurship stream of the Specialist/Specialist Co-op programs in Computer Science. If space permits, students in other streams of the Specialist/Specialist Co-op programs in Computer Science may be admitted to the course, with the permission of the instructor.

CSCD92H3 - Readings in Computer Science

Students will examine an area of interest through reading papers and texts. This course is offered by arrangement with a computer science faculty member. It may be taken in any session, and must be completed by the last day of classes in the session in which it is taken.

Prerequisite: Students must obtain consent from the Supervisor of Studies before registering for this course.
Breadth Requirements: Quantitative Reasoning
Note: UTSC students interested in Computer Science reading or project courses must enroll using the following course codes: CSCD92H3, CSCD94H3 or CSCD95H3, regardless of whether these courses are instructed by faculty from UTSC, UTSG, or UTM.

CSCD94H3 - Computer Science Project

A significant project in any area of computer science. The project may be undertaken individually or in small groups. This course is offered by arrangement with a computer science faculty member, at U of T Scarborough or the St. George campus. This course may be taken in any session and the project must be completed by the last day of classes in the session in which it is taken. Students must obtain consent from the Supervisor of Studies before registering for this course.

Prerequisite: [Three C-level CSC courses] and [permission of the Supervisor of Studies] and [CGPA 3.0 or enrolment in a CSC Subject POSt]
Enrolment procedures: Project supervisor's note of agreement must be presented to the Supervisor of Studies, who must issue permission for registration.

Exclusion: CSC494H
Breadth Requirements: Quantitative Reasoning
Note: UTSC students interested in Computer Science reading or project courses must enroll using the following course codes: CSCD92H3, CSCD94H3 or CSCD95H3, regardless of whether these courses are instructed by faculty from UTSC, UTSG, or UTM.

CSCD95H3 - Computer Science Project

Same description as CSCD94H3. Normally a student may not take two project half-courses on closely related topics or with the same supervisor.
If an exception is made allowing a second project on a topic closely related to the topic of an earlier project, higher standards will be applied in judging it. We expect that a student with the experience of a first project completed will be able to perform almost at the level of a graduate student.

Prerequisite: CSCD94H3 Enrolment procedures: Project supervisor's note of agreement must be presented to the Supervisor of Studies, who must issue permission for registration.
Exclusion: CSC495H
Breadth Requirements: Quantitative Reasoning
Note: UTSC students interested in Computer Science reading or project courses must enroll using the following course codes: CSCD92H3, CSCD94H3 or CSCD95H3, regardless of whether these courses are instructed by faculty from UTSC, UTSG, or UTM.

CTLA01H3 - Foundations in Effective Academic Communication

This highly interactive course for English Language Learners who find Academic English a challenge aims to fast-track the development of critical thinking, reading, writing and oral communication skills. Through emphasizing academic writing and rapid expansion of vocabulary, students will gain practical experience with university-level academic texts and assignment expectations.

Prerequisite: No more than 10.0 credits completed. Students are required to take a diagnostic test of academic English skills to be conducted by the English Language Development Support, Centre for Teaching and Learning, in advance of the first day of class.
Breadth Requirements: Arts, Literature and Language
Note: The instructor has the authority to exclude students whose level of proficiency is unsuitable for the course, including those students who meet the prerequisites.

CTLA02H3 - Exploring Inter-Cultural Perspectives in Academic Contexts

Students will develop language, communication and critical thinking skills through an exploration of culture and academic culture(s). Students will use various media in activities and assignments to connect their knowledge and experience with course learning, to foster dynamic academic integration for international students as they develop their English and multi-literacies.

Prerequisite: No more than 10.0 credits completed. Students are required to take a diagnostic test of their academic English skills to be conducted by the English Language Development Support, Centre for Teaching and Learning in advance of the first day of class.
Breadth Requirements: Arts, Literature and Language
Note: The instructor has the authority to exclude students whose level of proficiency is unsuitable for the language learning and cultural exploration focus of the course, including those students who meet the prerequisites.

CTLA20H3 - Writing for Change: Foundational Academic Skills to Make a Difference in Your Community

This course uses the mode of advocacy writing to teach the foundational skills necessary for all effective communication. Students will learn to convey their ideas about issues relevant to their communities with attention to structure, voice, evidence, and writing mechanics.

Breadth Requirements: Arts, Literature and Language
Course Experience: University-Based Experience
Note: This course is available to students in the Transitional Year Program only, and students will be enrolled into the course by program administrators. 

CTLA21H3 - Math4life: Developing Mathematical Thinking and Skills in Practical Contexts

This course will cover basic mathematics concepts such as Arithmetic, Elementary Algebra, Geometry and Trigonometry, Data collection and Interpretation, Sets, and Functions. Students will engage these concepts through a series of activities which require them to solve practical problems based on real life circumstances. The course will also draw on African and Indigenous cultural knowledges and perspectives to connect the study of mathematics to TYP students’ interests and lived experiences.

Breadth Requirements: Quantitative Reasoning
Course Experience: University-Based Experience
Note: This course is available to students in the Transitional Year Program only, and students will be enrolled in the course by program administrators.

CTLB03H3 - Introduction to Community Engaged Learning

In this experiential learning course, students apply their discipline-specific academic knowledge as they learn from and engage with communities. Students provide, and gain, unique perspectives and insights as they interact with community partners. Through class discussions, workshops and assignments, students also develop transferable life skills such as interpersonal communication, professionalism and self-reflection that support their learning experiences and help them connect theory and practice.

Prerequisite: Completion of 4.0 credits and selection of a U of T Scarborough Specialist or Major program. GPA will also be considered.
Exclusion: FREC10H3, HCSC01H3
Breadth Requirements: Social and Behavioural Sciences
Course Experience: Partnership-Based Experience

DTSB01H3 - Introduction to Diaspora and Transnational Studies I

An interdisciplinary introduction to the study of diaspora, with particular attention to questions of history, globalization, cultural production and the creative imagination. Material will be drawn from Toronto as well as from diasporic communities in other times and places.

Exclusion: DTS200Y, DTS201H
Breadth Requirements: Social and Behavioural Sciences
Note: It is recommended that students take DTSB01H3 in their second year of study.

DTSB02H3 - Introduction to Diaspora and Transnational Studies II

A continuation of DTSB01H3. An interdisciplinary introduction to the study of diaspora, with particular attention to questions of history, globalization, cultural production and the creative imagination. Material will be drawn from Toronto as well as from diasporic communities in other times and places.

Prerequisite: It is recommended that DTSB01H3 and DTSB02H3 be taken in the same academic year.
Exclusion: DTS200Y, DTS202H
Breadth Requirements: Social and Behavioural Sciences

ECTB58H3 - Foundations of Translation

This course is a gateway to translation. After dealing with essential skills necessary in translation such as logical thinking, reading proficiency, and precision and clarity in writing, it focuses on fundamental aspects of translation at the conceptual, lexical, syntactic, grammatical, and stylistic levels. It also discusses the practical issues encountered by translators. A variety of real-world documents will be used for practice.

Breadth Requirements: Arts, Literature and Language

ECTB60H3 - Agri-Food, Cultures, and Translation

From wheat to seafood, Canada’s agri-food exports to China are increasing and Chinese food is popular in Canada. This course explores agri-food, cultures, and translation using materials in Chinese and English. It gives text analysis in translation and hands-on translation experience from English to Chinese and/or from Chinese into English. Students must be able to read and write Chinese and English well.

Breadth Requirements: Arts, Literature and Language
Note: Students will be assessed by the instructor in their first week of class, and must have a good command of both English and Chinese.

ECTB61H3 - English and Chinese Translation: Theory and Practice

An introduction to the major concepts and theories of translation and a survey of English/Chinese translation in modern history. It discusses linguistic, cognitive, socio-political, and cultural aspects of translation. Through analysis and application of translation theory, students practice the art of translation and develop awareness of issues that translators face.

Exclusion: CHI411H5
Recommended Preparation: Proficiency in Chinese and English
Breadth Requirements: Arts, Literature and Language
Note: Students must already have mastered the principles of grammar and composition in both English and Chinese.