Also try our "Searchable" Subject Post Listings (2017-2018)

Course Rating & Comments

CSC343H1    Introduction to Databases[24L/12T]

Introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the query language SQL. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management.

Prerequisite: CSC165H1/CSC240H1/(MAT135H1, MAT136H1)/MAT135Y1/MAT137Y1/MAT157Y1; CSC207H1. Prerequisite for Engineering students only: ECE345H1/CSC190H1/CSC192H1
Exclusion: CSC434H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101T1-3D Horton
  R1D Horton
 L0201T3-5R Miller
  R3R Miller
 L2001T1-3
  R1
 L2003T3-5
  R3
 L2501T6-8
  T8
 L5101T6-8R Miller
  T8R Miller
SL0101MWF12-1D Horton
 L0201MWF2D Horton
 L2001MWF12-1D Horton
 L2201MWF2D Horton
 L2501T6-8D Horton
  T8D Horton
 L5101T6-8D Horton
  T8D Horton

Course Rating & Comments

CSC358H1    Principles of Computer Networks[24L/12T]

Introduction to computer networks with an emphasis on fundamental principles. Basic understanding of computer networks and network protocols. Topics include network hardware and software, routing, addressing, congestion control, reliable data transfer, performance analysis, local area networks, and TCP/IP.

Prerequisite: CSC209H1, CSC258H1, CSC263H1/CSC265H1, STA247H1/STA255H1/STA257H1/ECO227Y1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101M10A Chinaei
  T3-5A Chinaei
 L0201W10
  R3-5

Course Rating & Comments

CSC369H1    Operating Systems[24L/12T]

Principles of operating systems. The operating system as a control program and as a resource allocator. The concept of a process and concurrency problems: synchronization, mutual exclusion, deadlock. Additional topics include memory management, file systems, process scheduling, threads, and protection.

Prerequisite: CSC209H1, CSC258H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MWF2B Simion
 L5101T6-8B Simion
  T8B Simion
SL0101M3B Simion
  TR2B Simion
 L5101R6-8B Simion
  R8B Simion

Course Rating & Comments

CSC373H1    Algorithm Design, Analysis & Complexity[36L/12T]

Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms.  Brief introduction to NP-completeness: polynomial time reductions, examples of various NP-complete problems, self-reducibility.  Additional topics may include approximation and randomized algorithms.  Students will be expected to show good design principles and adequate skills at reasoning about the correctness and complexity of algorithms.

Prerequisite: CSC263H1/CSC265H1
Exclusion: CSC375H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MWF10M Brudno
  R2M Brudno
 L5101W6-9M Brudno
  R6M Brudno
SL0101MWF11A Jepson
  M4A Jepson
 L0201MWF3A Jepson
  M4A Jepson

Course Rating & Comments

CSC384H1    Introduction to Artificial Intelligence[24L/12T]

Theories and algorithms that capture (or approximate) some of the core elements of computational intelligence. Topics include: search; logical representations and reasoning, classical automated planning, representing and reasoning with uncertainty, learning, decision making (planning) under uncertainty. Assignments provide practical experience, in both theory and programming, of the core topics.

Prerequisite: CSC263H1/CSC265H1, STA247H1/STA255H1/STA257H1
Recommended Preparation: CSC324H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101T3-5
  R4
 L2001T3-5
  R4
SL0101MWF1S McIlraith
 L0201MWF3S McIlraith
 L2001MWF1S McIlraith
 L2201MWF3S McIlraith

CSC385H1    Microprocessor Systems[24L/12T/36P]

Microprocessor and embedded systems: Software techniques for real-time task creation and management.  Connected device charachteristics and the hardware and software ramifications. System construction and management.  An examination of the issues unique to or particulaly important to embedded computing. Laboratory experiments provide "hands on" experience. An open team project is done in the last few laboratory sessions.

Prerequisite: CSC258H1; CSC209H1/proficiency in C
Exclusion: CSC372H1, ECE385H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101T3-6P Anderson
  W3-5P Anderson
  F3P Anderson

 

CSC396Y0    Designing Systems for Real World Problems[TBA]

This Summer Abroad special offering provides students with an opportunity to explore new environments, which improves their ability to see their own world with increased sensitivity and germinates new design ideas. In this course, students will identify a real problem in the world and work in groups on projects addressing this problem. Students will explore their problem space and the people within that space, identify needs, constraints, and requirements, and ultimately design solutions. Their designs will be iterated by gathering feedback and conducting usability testing on the early prototypes. The course projects will culminate with development of a technological solution that addresses the identified problem. Final project presentations will take place at the end of the course. This course can be counted as 0.5 FCE at the 300-level for Computer Science program completion.

Prerequisite: Any CSC half course, and balloting
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

400-level courses

If you are not in our Major or Specialist program, you are limited to three 300-/400-level CSC/ECE half-courses.


Class Time

Not Available (Possibly Cancelled)

Course Rating & Comments

CSC401H1    Natural Language Computing[24L/12T]

Introduction to techniques involving natural language and speech in applications such as information retrieval, extraction, and filtering; intelligent Web searching; spelling and grammar checking; speech recognition and synthesis; and multi-lingual systems including machine translation. N-grams, POS-tagging, semantic distance metrics, indexing, on-line lexicons and thesauri, markup languages, collections of on-line documents, corpus analysis. PERL and other software.

Prerequisite: CSC207H1/CSC209H1; STA247H1/STA255H1/STA257H1
Recommended Preparation: MAT221H1/MAT223H1/MAT240H1 is strongly recommended
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF10
 L2001MWF10

Course Rating & Comments

CSC404H1    Introduction to Video Game Design[24L/12T]

Concepts and techniques for the design and development of electronic games. History, social issues, and story elements. The business of game development and game promotion. Software engineering, artificial intelligence, and graphics elements. Level and model design. Audio elements. Practical assignments leading to team implementation of a complete game.

Prerequisite: CSC301H1/CSC318H1/CSC384H1/CSC418H1
Distribution Requirement Status: Science
Breadth Requirement: Creative and Cultural Representations (1)

Class TimeCheck current enrolment

FL0101T10
  R10-12
SL0101T10S Engels
  R10-12S Engels

Course Rating & Comments

CSC410H1    Software Testing and Verification[24L/12T]

Concepts and state-of-the-art techniques in quality assessment for software engineering; quality attributes; formal specifications and their analysis; testing, verification, and validation.

Prerequisite: CSC207H1, CSC236H1/CSC240H1
Recommended Preparation: CSC330H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M2M Chechik
  M3-5M Chechik
 L0201T2
  T3-5

Course Rating & Comments

CSC411H1    Machine Learning and Data Mining[24L/12T]

An introduction to methods for automated learning of relationships on the basis of empirical data. Classification and regression using nearest neighbour methods, decision trees, linear models, and neural networks. Clustering algorithms. Problems of overfitting and of assessing accuracy. Problems with handling large databases. Emphasis on statistical approaches.

Prerequisite: CSC263H1/CSC265H1, MAT(135H1,136H1)/MAT137Y1/MAT137Y1/MAT157Y1, STA247H1/STA255H1/STA257H1
Recommended Preparation: CSC336H1/CSC350H1, STA248H1/STA250H1/STA261H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M11-1R Urtasun
  M3R Urtasun
 L0201W11-1R Urtasun
  W3R Urtasun
 L0301F11-1R Zemel
  F3R Zemel
 L2001M11-1
  M3
 L5101R4-6
  R6
SL0101MWF12-1M Guerzhoy
 L2001MWF12-1
 L2501R6-8
  R8
 L5101R6-8M Guerzhoy
  R8M Guerzhoy

CSC412H1    Probabilistic Learning and Reasoning[24L/12T]

An introduction to probability as a means of representing and reasoning with uncertain knowledge. Qualitative and quantitative specification of probability distributions using probabilistic graphical models. Algorithms for inference and probabilistic reasoning with graphical models. Statistical approaches and algorithms for learning probability models from empirical data. Applications of these models in artificial intelligence and machine learning.

Prerequisite: CSC411H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101T3-5R Zemel
  R1R Zemel

Course Rating & Comments

CSC418H1    Computer Graphics[24L/12T]

Identification and characterization of the objects manipulated in computer graphics, the operations possible on these objects, efficient algorithms to perform these operations, and interfaces to transform one type of object to another. Display devices, display data structures and procedures, graphical input, object modelling, transformations, illumination models, primary and secondary light effects; graphics packages and systems. Students, individually or in teams, implement graphical algorithms or entire graphics systems.

Prerequisite: CSC336H1/CSC350H1/CSC351H1/CSC363H1/CSC365H1/CSC373H1/CSC375H1/CSC463H1, (MAT135H1, MAT136H1)/MAT135Y1/MAT137Y1/MAT157Y1, CSC209H1/proficiency in C or C++;  Prerequisite for Engineering students only: ECE345H1 or ECE352H1
Recommended Preparation: MAT237Y1, MAT244H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M12-1
  W12-2
 L0201M12-1K Singh
  T12-2K Singh
 L2001M12-1
  W12-2
 L2201M12-1
  T12-2
SL0101M3
  W3-5
 L2001M3
  W3-5
 L2501T6
  T7-9
 L5101T6
  T7-9

CSC420H1    Introduction to Image Understanding[24L/12P]

Introduction to basic concepts in computer vision. Extraction of image features at multiple scales. Robust estimation of model parameters. Multiview geometry and reconstruction. Image motion estimation and tracking. Object recognition. Topics in scene understanding as time permits.

Prerequisite: CSC263H1/CSC265H1, (MAT135H1, MAT136H1)/MAT135Y1/MAT137Y1/MAT157Y1, MAT221H1/MAT223H1/MAT240H1
Recommended Preparation: CSC320H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101TR3
  R4

Course Rating & Comments

CSC428H1    Human-Computer Interaction[24L/12T]

Understanding human behaviour as it applies to user interfaces: work activity analysis, observational techniques, questionnaire administration, and unobtrusive measures. Operating parameters of the human cognitive system, task analysis and cognitive modelling techniques and their application to designing interfaces. Interface representations and prototyping tools. Cognitive walkthroughs, usability studies and verbal protocol analysis. Case studies of specific user interfaces.

Prerequisite: CSC318H1; STA247H1/STA255H1/STA257H1,(STA248H1/STA250H1/STA261H1)/(PSY201H1, PSY202H1)/(SOC202H1, SOC300H1); CSC209H1/proficiency C++ or Java
Recommended Preparation: A course in PSY; CSC209H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL5101M6-8
  M8
SL2501M6-8
  M8
 L5101M6-8
  M8

CSC436H1    Numerical Algorithms[24L/12T]

Numerical algorithms for the algebraic eigenvalue problem, approximation, integration, and the solution of ordinary differential equations. Emphasis is on the convergence, stability, and efficiency properties of the algorithms. 

Prerequisite: CSC336H1/CSC350H1
Exclusion: CSC351H1
Recommended Preparation: MAT235Y1/MAT237Y1/MAT257Y1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M1-3C Christara
  R2C Christara

CSC438H1    Computability and Logic[24L/12T]

Computable functions, Church's thesis, unsolvable problems, recursively enumerable sets. Predicate calculus, including the completeness, compactness, and Lowenheim-Skolem theorems. Formal theories and the Gödel Incompleteness Theorem. Ordinarily offered in years alternating with CSC448H1.

Prerequisite: (CSC363H1/CSC463H1)/CSC365H1/CSC373H1/CSC375H1/MAT247H1
Exclusion: MAT309H1; PHL344H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MW4S Cook
  F12-1S Cook

CSC443H1    Database System Technology[24L/12T]

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: CSC343H1, CSC369H1, CSC373H1/CSC375H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL2501M6-8
  M8
 L5101M6-8
  M8
SL0101MWF2
 L2001MWF2

CSC446H1    Computational Methods for Partial Differential Equations[24L/12T]

Finite difference methods for hyperbolic and parabolic equations; consistency, convergence, and stability. Finite element methods for 2-point boundary value problems and elliptic equations. Special problems of interest. Ordinarily offered in years alternating with CSC456H1.

Prerequisite: CSC351H1/(CSC336H1 (75%))/equivalent mathematical background; MAT237Y1/MAT257Y1; APM346H1/APM351Y1/(MAT244H1/MAT267H1 and exposure to PDEs)
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF1K Jackson

CSC448H1    Formal Languages and Automata[24L/12T]

Regular, deterministic, context free, context sensitive, and recursively enumerable languages via generative grammars and corresponding automata (finite state machines, push down machines, and Turing machines). Topics include complexity bounds for recognition, language decision problems and operations on languages. Ordinarily offered in years alternating with CSC438H1.

Prerequisite: CSC236H1/CSC240H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M10-12F Ellen
  T12-1F Ellen

Course Rating & Comments

CSC454H1    The Business of Software[24L/12T]

The software and internet industries; principles of operation for successful software enterprises; innovation and entrepreneurship; software business definition and planning; business models, market and product planning; product development, marketing, sales, and support; financial management and financing of high-technology ventures; management, leadership, and partnerships. Students will all write business plans in teams.

Prerequisite: Five CSC half-courses at the 200-level or higher
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL5101W6-8
  W8
SL5101W6-8
  W8

 

CSC456H1    High-Performance Scientific Computing[24L/12T]

Computationally-intensive applications in science and engineering are implemented on the fastest computers available, today composed of many processors operating in parallel. Parallel computer architectures; implementation of numerical algorithms on parallel architectures; performance evaluation. Topics from: matrix-vector product, solution of linear systems, sparse matrices, iterative methods, domain decomposition, Fourier solvers. For students in computer science, applied mathematics, science, engineering. Ordinarily offered in years alternating with CSC446H1.

Prerequisite: CSC436H1/(CSC336H1 (75%))/equivalent mathematical background; CSC209H1/proficiency in C, C++, or Fortran
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class Time

Not Available (Possibly Cancelled)

Course Rating & Comments

CSC458H1    Computer Networking Systems[24L/12T]

Computer networks with an emphasis on network programming and applications. An overview of networking basics: layering, naming, and addressing, packet switching fundamentals, socket programming, protocols, congestion control, routing, network security, wireless networks, multimedia, web 2.0, software-defined networking, and online social networks.

Prerequisite: CSC209H1, CSC258H1, CSC263H1/CSC265H1, STA247H1/STA255H1/STA257H1/ECO227Y1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101R1-3Y Ganjali
  F11Y Ganjali
 L0201T1-3Y Ganjali
  F1Y Ganjali
 L5101T6-8
  T8

Course Rating & Comments

CSC463H1    Computational Complexity and Computability[24L/12P]

Introduction to the theory of computability: Turing machines and other models of computation, Church’s thesis, computable and noncomputable functions, recursive and recursively enumerable sets, many-one reductions. Introduction to complexity theory: P, NP, polynomial time reducibility, NP-completeness, self-reducibility, space complexity (L, NL, PSPACE and completeness for those classes), hierarchy theorems, and provably intractable problems.

Prerequisite: CSC236H1/CSC240H1
Exclusion: CSC363H1/CSCC63H3, CSC365H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF2S Cook

CSC465H1    Formal Methods in Software Design[24L/12T]

Using mathematics to write error-free programs. Proving each refinement; identifying errors as they are made. Program development to meet specifications; modifications that preserve correctness. Useful for all programming; essential for programs that lives depend on. Basic logic, formal specifications, refinement. Conditional, sequential, parallel, interaction, probabilistic programming, and functional programming.

Prerequisite: CSC236H1/CSC240H1/MAT309H1
Recommended Preparation: CSC463H1
Distribution Requirement Status: Science
Breadth Requirement: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL5101R6-9