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

CSC465H1 - Formal Methods in Software Design Hours: 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 Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL5101R6-9

CSC466H1 - Numerical Methods for Optimization Problems Hours: 36L Numerical methods for unconstrained optimization problems, in particular line search methods and trust region methods. Topics include steepest descent, Newton's method, quasi-Newton methods, conjugate gradient methods and techniques for large problems. This course will normally be offered every other year. Prerequisite: CSC336H1, MAT221H1/​MAT223H1/​MAT240H1, MAT235Y1/​MAT237Y1/​MAT257Y1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF1K Jackson

Course Rating & Comments

CSC469H1 - Operating Systems Design and Implementation Hours: 24L/12T An in-depth exploration of the major components of operating systems with an emphasis on the techniques, algorithms, and structures used to implement these components in modern systems. Project-based study of process management, scheduling, memory management, file systems, and networking is used to build insight into the intricacies of a large concurrent system. Prerequisite: CSC369H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101MWF10B Simion

CSC473H1 - Advanced Algorithm Design Hours: 24L/12P Advanced algorithm design techniques, with emphasis on the role that geometry, approximation, randomization, and parallelism play in modern algorithms. Examples will be drawn from linear programming and basics of continuous optimization; randomized algorithms for string matching, graph problems, and number theory problems; streaming algorithms and parallel algorithms in the Map-Reduce model. Prerequisite: CSC373H1, MAT221H1/​MAT223H1/​MAT240H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101MWF11A Nikolov

CSC485H1 - Computational Linguistics Hours: 36L Computational linguistics and the processing of language by computer. Topics include: context-free grammars; chart parsing, statistical parsing; semantics and semantic interpretation; ambiguity resolution techniques; reference resolution. Emphasis on statistical learning methods for lexical, syntactic, and semantic knowledge. Prerequisite: STA247H1/​STA255H1/​STA257H1 or familiarity with basic probability theory, including Bayes's theorem; CSC207H1/​CSC209H1 or proficiency in Python and software development.
Recommended Preparation: CSC324H1/​CSC384H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101R12-2G Penn
  F2G Penn
 L2001R12-2G Penn
  F2G Penn

Course Rating & Comments

CSC486H1 - Knowledge Representation and Reasoning Hours: 24L/12T Representing knowledge symbolically in a form suitable for automated reasoning, and associated reasoning methods. Topics from: first-order logic, entailment, the resolution method, Horn clauses, procedural representations, production systems, description logics, inheritance networks, defaults and probabilities, tractable reasoning, abductive explanation, the representation of action, planning. Prerequisite: CSC384H1, CSC363H1/​CSC365H1/​CSC373H1/​CSC375H1/​CSC463H1
Recommended Preparation: CSC330H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101W1S Shapiro
  F12-2S Shapiro
 L2001W1S Shapiro
  F12-2S Shapiro

Course Rating & Comments

CSC488H1 - Compilers and Interpreters Hours: 24L/12T The structure of compilers, Programming language processing. Scanning based on regular expressions, Parsing using context free grammars, Semantic analysis (type and usage checking), Compiler dictionaries and tables. Runtime organization and storage allocation, code generation, optimization. Use of modern compiler building tools. Course project involves building a complete compiler. Prerequisite: CSC258H1, CSC324H1, CSC263H1/​CSC265H1
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

SL0101TR2G Baumgartner
  R1G Baumgartner

 

CSC490H1 - Capstone Design Project Hours: 48L This half-course gives students experience solving a substantial problem that may span several areas of Computer Science. Students will define the scope of the problem, develop a solution plan, produce a working implementation, and present their work using written, oral, and (if suitable) video reports. Class time will focus on the project, but may include some lectures. The class will be small and highly interactive. Project themes change each year. Contact the Computer Science Undergraduate Office for information about this year's topic themes, required preparation, and course enrolment procedures. Not eligible for CR/NCR option. Prerequisite: Permission of the instructor
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class Time

Not Available (Possibly Cancelled)

CSC491H1 - Capstone Design Project Hours: 48L This half-course gives students experience solving a substantial problem that may span several areas of Computer Science. Students will define the scope of the problem, develop a solution plan, produce a working implementation, and present their work using written, oral, and (if suitable) video reports. Class time will focus on the project, but may include some lectures. The class will be small and highly interactive. Project themes change each year. Contact the Computer Science Undergraduate Office for information about this years topic themes, required preparation, and course enrolment procedures. Not eligible for CR/NCR option. Prerequisite: Permission of the instructor
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL5101T6-9
SL5101T6-9

CSC494H1 - Computer Science Project Hours: TBA This half-course involves a significant project in any area of Computer Science. The project may be undertaken individually or in small groups. The course is offered by arrangement with a Computer Science faculty member. Not eligible for CR/NCR option. Prerequisite: Three 300-/400-level CSC half-courses, and permission of the Associate Chair, Undergraduate Studies. Contact the Computer Science Undergraduate Office for information about course enrolment procedures.
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101-
SL0101-
YL0101-

CSC495H1 - Computer Science Project Hours: TBA This half-course involves a significant project in any area of Computer Science. The project may be undertaken individually or in small groups. The course is offered by arrangement with a Computer Science faculty member. Not eligible for CR/NCR option. Prerequisite: Three 300-/400-level CSC half-courses, and permission of the Associate Chair, Undergraduate Studies. Contact the Computer Science Undergraduate Office for information about course enrolment procedures.
Distribution Requirements: Science
Breadth Requirements: The Physical and Mathematical Universes (5)

Class TimeCheck current enrolment

FL0101-
SL0101-
YL0101-