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

Course Rating & Comments

CSC343H1 - Introduction to Databases Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101T1-3D Horton
  R1D Horton
 L0201T3-5M Craig
  R3M Craig
 L2001T1-3D Horton
  R1D Horton
 L2501T6-8
  T8
 L5101T6-8
  T8
SL0101MWF12-1R Miller
 L0201MWF2R Miller
 L2001MWF12-1R Miller
 L2003MWF12-1R Miller
 L2201MWF2R Miller
 L2501T6-8
  T8
 L5101T6-8
  T8

Course Rating & Comments

CSC358H1 - Principles of Computer Networks Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101M10P Marbach
  T3-5P Marbach
 L0201W10P Marbach
  R3-5P Marbach

CSC367H1 - Parallel Programming Hours: 24L/12T Introduction to aspects of parallel programming. Topics include computer instruction execution, instruction-level parallelism, memory system performance, task and data parallelism, parallel models (shared memory, message passing), synchronization, scalability and Amdahl's law, Flynn taxonomy, vector processing and parallel computing architectures. Prerequisite: CSC258H1, CSC209H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF2B Simion

Course Rating & Comments

CSC369H1 - Operating Systems Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MWF2B Simion
 L0201MWF3B Simion
 L2003MWF2B Simion
SL0101TR2B Simion
  F3B Simion
 L5101R6-8B Simion
  R8B Simion

Course Rating & Comments

CSC373H1 - Algorithm Design, Analysis & Complexity Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MWF10
  R2
 L5101W6-9
  R5
SL0101MWF11A Jepson
  M4A Jepson
 L0201MWF3A Jepson
  M4A Jepson
 L2003MWF11A Jepson
  M4A Jepson

Course Rating & Comments

CSC384H1 - Introduction to Artificial Intelligence Hours: 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)/Permission of the Cognitive Science Director
Recommended Preparation: CSC324H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MWF1F Bacchus
 L0201MWF2F Bacchus
 L2001MWF1F Bacchus
SL0101MWF1S McIlraith
 L0201MWF3S McIlraith
 L2001MWF1S McIlraith
 L2201MWF3S McIlraith

CSC385H1 - Microprocessor Systems Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101T3-6
  W3-5
  F3

 

CSC396Y0 - Designing Systems for Real World Problems Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class Time

Not Available (Possibly Cancelled)

Course Rating & Comments

CSC401H1 - Natural Language Computing Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF10
 L2001MWF10

Course Rating & Comments

CSC404H1 - Introduction to Video Game Design Hours: 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 Requirements: Science
Breadth Requirements: 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 Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M11A Farzan
  R11-1A Farzan
 L0201M12-1A Farzan
  F11-1A Farzan

Course Rating & Comments

CSC411H1 - Machine Learning and Data Mining Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M11-1
  M3
 L0201W11-1
  W3
 L0301R4-6
  R6
 L0401F11-1
  F3
 L2001M11-1
  M3
SL0101T1-3M Guerzhoy
  R2M Guerzhoy
 L2001T1-3M Guerzhoy
  R2M Guerzhoy
 L2501R6-8M Guerzhoy
  R8M Guerzhoy
 L5101R6-8M Guerzhoy
  R8M Guerzhoy

CSC412H1 - Probabilistic Learning and Reasoning Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101T3-5
  R1
 L2001T3-5
  R1

Course Rating & Comments

CSC418H1 - Computer Graphics Hours: 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/​CSC373H1, (MAT135H1, MAT136H1)/MAT137Y1/​MAT157Y1, CSC209H1/​proficiency in C or C++;  Prerequisite for Engineering students only: ECE345H1 or ECE352H1
Recommended Preparation: MAT237Y1, MAT244H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101M12-1K Singh
  W12-2K Singh
 L0201M12-1A Jacobson
  T3-5A Jacobson
 L2001M12-1K Singh
  W12-2K Singh
 L2201M12-1A Jacobson
  T3-5A Jacobson
SL0101M3D Levin
  W3-5D Levin
 L2001M3D Levin
  W3-5D Levin
 L2501T6
  T7-9
 L5101T6
  T7-9

CSC420H1 - Introduction to Image Understanding Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101TR3
  R4

Course Rating & Comments

CSC428H1 - Human-Computer Interaction Hours: 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; CSC209H1/​proficiency C++ or Java
Recommended Preparation: A course in PSY; CSC209H1; (STA248H1/​STA250H1/​STA261H1)/(PSY201H1, PSY202H1)/(SOC202H1, SOC300H1)
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

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

CSC436H1 - Numerical Algorithms Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101T1-3T Fairgrieve
  R1T Fairgrieve

CSC438H1 - Computability and Logic Hours: 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; PHL348H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MW4S Cook
  F12-1S Cook

CSC443H1 - Database System Technology Hours: 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 Requirements: Science
Breadth Requirements: 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 Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class Time

Not Available (Possibly Cancelled)

 

CSC448H1 - Formal Languages and Automata Hours: 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, CSC263H1
Recommended Preparation: CSC373H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class Time

Not Available (Possibly Cancelled)

Course Rating & Comments

CSC454H1 - The Business of Software Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL5101W6-8
  W8
SL5101W6-8
  W8

 

CSC456H1 - High-Performance Scientific Computing Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class Time

Not Available (Possibly Cancelled)

Course Rating & Comments

CSC458H1 - Computer Networking Systems Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101R1-3
  F11
 L0201T1-3
  F1
 L5101T6-8
  T8

Course Rating & Comments

CSC463H1 - Computational Complexity and Computability Hours: 24L/12P Introduction to the theory of computability: Turing machines and other models of computation, Churchs 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF2S Cook