CISC 101 Introduction to Computer Programming Units: 3.00
Introduction to algorithms: their definition, design, coding, and execution on computers. Intended for students who have no programming experience.
NOTE Also offered online, consult Arts and Science Online (Learning Hours may vary).
NOTE Also offered online, consult Arts and Science Online (Learning Hours may vary).
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite None.
Exclusion APSC 142/3.0; APSC 143/3.3; CISC 110/3.0; CISC 151/3.0.
One-Way Exclusion May not be taken with or after CISC 121/3.0; CISC/CMPE/COCA/COGS/SOFT at the 200-level or above.
Offering Faculty: Faculty of Arts and Science
CISC 102 Discrete Structures I Units: 3.00
Introduction to mathematical discourse and proof methods with a focus on discrete structures. Sets, sequences, and relations. Properties of the integers. Induction. Counting with permutations and combinations, pigeonhole principle. Principle of Inclusion-Exclusion. Introduction to graphs and graph terminology.
NOTE Also offered online. Consult Arts and Science Online (Learning Hours may vary).
NOTE Also offered online. Consult Arts and Science Online (Learning Hours may vary).
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite None.
Offering Faculty: Faculty of Arts and Science
Course Learning Outcomes:
- Analyze and/or solve problems using discrete structures.
- Construct mathematical proofs using basic proof methods.
- Apply graph theory to solve basic problems.
- Use concepts for discrete structures to produce correct computer code to solve problems.
- Communicate concepts and/or solutions using discrete structures to a technical audience.
CISC 110 Creative Computing Units: 3.00
Introduction to fundamental programming concepts in the context of visual, interactive media. Students may develop applications in any domain (e.g., fine art, education, commerce, physical or social sciences) while learning about algorithms, program design, logic, program control flow, functions, testing, etc.
NOTE Sufficient preparation for CISC 121; alternative to CISC 101 and CISC 151.
NOTE With permission of the School, students with programming experience may take this concurrently with CISC 121.
NOTE Sufficient preparation for CISC 121; alternative to CISC 101 and CISC 151.
NOTE With permission of the School, students with programming experience may take this concurrently with CISC 121.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite None.
Exclusion APSC 142; APSC 143; CISC 101; CISC 151.
One-Way Exclusion May not be taken with or after CISC 121; CISC/CMPE/COCA/COGS/SOFT at the 200-level or above.
Note No computing or art background required.
Offering Faculty: Faculty of Arts and Science
CISC 121 Introduction to Computing Science I Units: 3.00
Introduction to design, analysis, and implementation of algorithms. Recursion, backtracking, and exits. Linear data structures (stacks and queues). Elementary searching and sorting. Order-of-magnitude complexity. Documentation, iterative program development, translating natural language to code, testing and debugging.
NOTE Also offered online. Consult Arts and Science Online. Learning Hours may vary.
NOTE Also offered online. Consult Arts and Science Online. Learning Hours may vary.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite None.
Corequisite (CISC 102/3.0 or MATH 110/6.0 or MATH 111/6.0* or MATH 112/3.0 or MATH 120/6.0 or MATH 121/6.0 or MATH 123/3.0 or MATH 124/3.0 or MATH 126/6.0 or MATH 130/3.0 or APSC 171/3.3 or APSC 172/3.3 or APSC 174/3.3 or COMM 161/3.0 or COMM 162/3.0).
Exclusion APSC 143/3.3.
Recommended Some programming experience (such as high-school level programming or CISC 101/3.0 or CISC 110/3.0 or CISC 151/3.0).
Offering Faculty: Faculty of Arts and Science
CISC 124 Introduction to Computing Science II Units: 3.00
Introduction to software design and development with the object-oriented paradigm, and its effect on abstraction and component re-use. Working in groups using incremental development and version management. Test driven development. Numerical computation.
NOTE Also offered online, consult Arts and Science Online (Learning Hours may vary).
NOTE Also offered online, consult Arts and Science Online (Learning Hours may vary).
Learning Hours: 120 (36 Lecture, 12 Group Learning, 72 Private Study)
Requirements: Prerequisite A minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 121/3.0.
Corequisite (CISC 102/3.0 or MATH 110/6.0 or MATH 111/6.0* or MATH 112/3.0 or MATH 120/6.0 or MATH 121/6.0 or MATH 123/3.0 or MATH 124/3.0 or MATH 126/6.0 or MATH 130/3.0 or APSC 171/3.3 or APSC 172/3.3 or APSC 174/3.3 or COMM 161/3.0 or COMM 162/3.0).
Offering Faculty: Faculty of Arts and Science
CISC 151 Elements of Computing with Data Analytics Units: 3.00
Introduction to algorithms: their definition, design, coding, and execution on computers, with applications drawn from data analytics, including simple prediction and clustering. Intended for students who have no programming experience. All or most assignment work will be completed during lab time.
NOTE Sufficient preparation for CISC 121; alternative to CISC 101 and CISC 110.
NOTE Sufficient preparation for CISC 121; alternative to CISC 101 and CISC 110.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite None.
Exclusion APSC 142; APSC 143; CISC 101; CISC 110.
One-Way Exclusion May not be taken with or after CISC 121; CISC/CMPE/COCA/COGS/SOFT at the 200-level or above.
Offering Faculty: Faculty of Arts and Science
CISC 181 Digital Societies Units: 3.00
This introductory course provides a broad overview and ethical implications of technological topics and trends in the digital world such as the Internet of Things (IoT), Social Networks, Security and Privacy, Data Analytics, and Artificial Intelligence (AI). No programming experience is required.
NOTE Also offered online, consult Arts and Science Online (Learning Hours may vary).
NOTE Also offered online, consult Arts and Science Online (Learning Hours may vary).
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite None.
Equivalency CISC P81/3.0*.
Offering Faculty: Faculty of Arts and Science
CISC 203 Discrete Structures II Units: 3.00
Advanced proof methods for discrete structures from an object-oriented perspective. Combinatorics: advanced counting methods. Solving and applying recurrence relations. Graph theory including graph algorithms, structural induction, and proofs.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of C- in both CISC 102/3.0 and CISC 121/3.0.
Offering Faculty: Faculty of Arts and Science
Course Learning Outcomes:
- Construct mathematical proofs using structural induction.
- Analyze code, functions, or real-world applications to find and solve for recurrence relations.
- Apply known algorithms to graphs or trees that arise in applications to develop correct code.
- Apply object-oriented paradigms to solve problems using discrete structures.
CISC 204 Logic for Computing Science Units: 3.00
Elements of mathematical logic with computing applications. Formal proof systems for propositional and predicate logic. Interpretations, validity, and satisfiability. Introduction to soundness, completeness and decidability.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 121 and [CISC 102 or MATH 110]).
Offering Faculty: Faculty of Arts and Science
CISC 220 System-Level Programming Units: 3.00
Basic concepts of Unix-like systems. Shells and scripting. System-level programming in the C language. Software development tools and techniques.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 121/3.0.
Corequisite CISC 124/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 221 Computer Architecture Units: 3.00
The descriptive levels of computer architecture. Instruction-set architectures. Assembly Language. Data representation. Support for operating-system management and high-level languages. Input/output and interrupts. Designing for performance. Digital Logic.
Learning Hours: 120 (12 Lecture, 24 Group Learning, 84 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 124.
Recommended CISC 220.
Offering Faculty: Faculty of Arts and Science
CISC 223 Software Specifications Units: 3.00
Introduction to techniques for specifying the behaviour of software, with applications of these techniques to design, verification and construction of software. Logic-based techniques such as loop invariants and class invariants. Automata and grammar-based techniques, with applications to scanners, parsers, user-interface dialogs and embedded systems. Computability issues in software specifications.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 124 and CISC 204).
Offering Faculty: Faculty of Arts and Science
CISC 226 Game Design Units: 3.00
An introduction to techniques for designing elementary computer games. Topics will include game development tools and processes, principles of game design, game prototyping and game evaluation.
Learning Hours: 120 (36 Lecture, 60 Group Learning, 24 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 124.
Offering Faculty: Faculty of Arts and Science
CISC 235 Data Structures Units: 3.00
Design and implementation of advanced data structures and related algorithms, including correctness and complexity analysis. Tradeoffs among alternative implementations of a module interface.
Learning Hours: 120 (36 Lecture, 12 Group Learning, 72 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 124/3.0 and CISC 203/3.0).
Offering Faculty: Faculty of Arts and Science
CISC 251 Data Analytics Units: 3.00
Introduction to data analytics; data preparation; assessing performance; prediction methods such as decision trees, random forests, support vector machines, neural networks and rules; ensemble methods such as bagging and boosting; clustering techniques such as expectation-maximization, matrix decompositions, and bi-clustering; attribute selection.
Learning Hours: 120 (36 Lecture, 24 Laboratory, 60 Private Study)
Requirements: Prerequisite A cumulative GPA of a 1.70 or higher.
Exclusion CISC 333; CMPE 333.
Recommended Experience with problem solving in any discipline.
Offering Faculty: Faculty of Arts and Science
CISC 271 Linear Data Analysis Units: 3.00
Elements of linear algebra for data analysis, including: solution of linear equations; vector spaces; matrix decompositions; principal components analysis; linear regression; hyperplane classification of vectorial data.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in {[CISC 101/3.0 or CISC 110/3.0 or CISC 151/3.0 or CISC 121/3.0] and [MATH 110/6.0 or MATH 111/6.0* or MATH 112/3.0] and [MATH 120/6.0 or MATH 121/6.0 or (MATH 123/3.0 and MATH 124/3.0) or MATH 126/6.0]}.
Exclusion MATH 272/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 282 Fundamentals of Web Development Units: 3.00
This course surveys current best practices for implementing attractive, usable, secure and maintainable web applications. Other issues considered include: accessibility, platform and browser independence, licensing of intellectual property, scalability, user privacy, and using web technologies in mobile development.
Learning Hours: 120 (36 Lecture, 48 Online Activity, 36 Private Study)
Requirements: Prerequisite Level 2 or above and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 124.
Equivalency CISC P82.
Course Equivalencies: cisc282; ciscP82
Offering Faculty: Faculty of Arts and Science
CISC 320 Fundamentals of Software Development Units: 3.00
Introduction to management of small and medium-scale software projects. Advanced programming methodology using the programming language C++. Includes a significant programming project.
Learning Hours: 120 (36 Lecture, 24 Tutorial, 24 Group Learning, 36 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 235.
Offering Faculty: Faculty of Arts and Science
CISC 322 Software Architecture Units: 3.00
Abstractions and patterns of interactions and relationships among modules. Design recovery; relationship of architecture to requirements and testing.
Learning Hours: 120 (36 Lecture, 24 Tutorial, 36 Group Learning, 24 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 223 and CISC 235).
Exclusion CISC 326.
Offering Faculty: Faculty of Arts and Science
CISC 324 Operating Systems Units: 3.00
Layered operating systems for conventional shared memory computers: concurrent processes. Synchronization and communication. Concurrent algorithms. Scheduling. Deadlock. Memory management. Protection. File systems. Device management. Typical layers.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 221 and CISC 235).
Offering Faculty: Faculty of Arts and Science
CISC 325 Human-Computer Interaction Units: 3.00
Developing usable software requires that human factors be considered throughout the design and development process. This course introduces a series of techniques for development and evaluating usable software, and shows how these techniques can be integrated into a process for software development.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 124/3.0 and CISC 235/3.0.
Exclusion CMPE 325/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 326 Game Architecture Units: 3.00
An introduction to software architectural design through the application domain of game development. Abstractions and patterns of interactions and relationships among modules. Design recovery. Relationship to requirements and testing
Learning Hours: 120 (36 Lecture, 24 Tutorial, 24 Group Learning, 36 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 223 and CISC 235).
Exclusion CISC 322.
Recommended CISC 226.
Offering Faculty: Faculty of Arts and Science
CISC 327 Software Quality Assurance Units: 3.00
Validation of software throughout the life cycle. Comparative effectiveness in defect removal of formal methods (proofs of correctness), inspection (walkthroughs and reviews), and testing (unit, integration, and system testing; white box versus black box).
Learning Hours: 120 (36 Lecture, 84 Group Learning)
Requirements: Prerequisite C- (or P in Winter 2020) in (CISC 220 and CISC 124) and registration in a School of Computing Plan.
Exclusion SOFT 327
Offering Faculty: Faculty of Arts and Science
CISC 330 Computer-Integrated Surgery Units: 3.00
Concepts of computer-integrated surgery systems and underlying techniques such as medical-image computing, robotics, and virtual reality, learned through real-life applications and problems. Techniques learned in class will be applied in a hands-on surgery session where students perform minimally invasive surgery with virtual-reality navigation tools.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 121 and CISC 271).
Exclusion COMP 329; COMP 230.
Equivalency COMP 230.
Course Equivalencies: CISC330; COMP230
Offering Faculty: Faculty of Arts and Science
CISC 332 Database Management Systems Units: 3.00
Data models: relational, entity-relationship. Relational query languages: relational algebra and SQL. Relational database design. Application interfaces and embedded SQL. Storage and indexing.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 2 or above and registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 102 and CISC 124).
Exclusion COMM 392.
Offering Faculty: Faculty of Arts and Science
CISC 335 Computer Networks Units: 3.00
Fundamental concepts in the design and implementation of computer communication networks, protocols, and applications. Overview of network architectures; applications; network programming interfaces (e.g., sockets); transport; congestion; routing and data link protocols; addressing; local area networks; wireless networks, mobility management; security.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 324.
Offering Faculty: Faculty of Arts and Science
CISC 340 Digital Systems Units: 3.00
Combinational circuits; sequential circuits; digital systems design; micro-programming; bus structures; data communications; interface design; microprocessor systems.
Learning Hours: 120 (12 Lecture, 24 Group Learning, 84 Private Study)
Requirements: ASC Students:
Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 221.
Exclusion None.
FEAS Students:
Exclusion ELEC 272; ELEC 373.
Offering Faculty: Faculty of Arts and Science
CISC 351 Advanced Data Analytics Units: 3.00
Design and implementation of complex analytics techniques; predictive algorithms at scale; deep learning; clustering at scale; advanced matrix decompositions, analytics in the Web, collaborative filtering; social network analysis; applications in specialized domains.
Learning Hours: 120 (36 Individual Instruction, 36 Laboratory, 84 Private Study)
Requirements: Prerequisite A minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 251 and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (3 units in STAT or 3 units from STAT_Options).
Exclusion CISC 371; CISC 372.
Offering Faculty: Faculty of Arts and Science
CISC 352 Artificial Intelligence Units: 3.00
An introduction to the basic principles and tools of artificial intelligence. Problem solving methods and knowledge representation techniques.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 235.
Recommended CISC 360 or CISC 260.
Offering Faculty: Faculty of Arts and Science
CISC 360 Programming Paradigms Units: 3.00
Review of imperatives programming features. Introduction to other widely used programming paradigms. Functional programming languages, such as LISP and Haskell. Higher order functions, lazy evaluation, abstract and recursive types, structural induction, symbolic expressions. Logic programming languages, such as PROLOG. Operational interpretation of predicates and terms, proof search, unification, backtracking. Typical applications.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 124 and CISC 204).
Equivalency CISC 260.
Offering Faculty: Faculty of Arts and Science
CISC 365 Algorithms I Units: 3.00
Principles of design, analysis and implementation of efficient algorithms. Case studies from a variety of areas illustrate divide and conquer methods, the greedy approach, branch and bound algorithms and dynamic programming.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 203 and CISC 204 and CISC 235).
Offering Faculty: Faculty of Arts and Science
CISC 371 Nonlinear Data Analysis Units: 3.00
Methods for nonlinear data analysis, particularly using numerical optimization. Applications may include: unconstrained data optimization; linear equality constraints; constrained data regression; constrained data classification; evaluating the effectiveness of analysis methods.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 271 and [STAT 263 or STAT_Options]).
Exclusion CISC 351.
Offering Faculty: Faculty of Arts and Science
CISC 372 Advanced Data Analytics Units: 3.00
Inductive modelling of data, especially counting models; ensemble approaches to modelling; maximum likelihood and density-based approaches to clustering, visualization. Applications to non-numeric datasets such as natural language, social networks, Internet search, recommender systems. Introduction to deep learning. Ethics of data analytics.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 271 and [3.0 units in STAT or STAT_Options]).
Offering Faculty: Faculty of Arts and Science
CISC 422 Formal Methods in Software Engineering Units: 3.00
Mathematical methods for describing software behaviour and structure. Topics include (but are not limited to) the following: Requirements specification. Module specification: axiomatic, algebraic, and trace specifications. Abstract models. Verification. Specification-based validation.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 223.
Offering Faculty: Faculty of Arts and Science
CISC 423 Software Requirements Units: 3.00
An integrated approach to discovering and documenting software requirements. Identification of stakeholders; customer, operator, analyst, and developer perspectives. Requirements elicitation. Transition from initial (informal) requirements to semi-formal and formal representations. Requirements analysis process; analysis patterns. Requirements specification techniques. Relation to architecture and user interface design; traceability of requirements.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 223 and CISC 235).
Corequisite (CISC 325 and [CISC 322 or CISC 326]).
Offering Faculty: Faculty of Arts and Science
CISC 432 Advanced Data Management Systems Units: 3.00
Storage and representation of "big data", which are large, complex, structured or unstructured data sets. Provenance, curation, integration, indexing and querying of data.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 235 and CISC 332).
Offering Faculty: Faculty of Arts and Science
CISC 437 Performance Analysis Units: 3.00
Analytic and empirical evaluation of the performance of software systems. Performance modeling. Experimental design and statistical techniques for empirical performance analysis.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 324 and CISC 327).
Offering Faculty: Faculty of Arts and Science
CISC 447 Introduction to Cybersecurity Units: 3.00
An introduction to cybersecurity covering a wide range of vulnerabilities, attacks, and defense mechanisms in individual computers, networks, the Internet and the Web and applications that use them, and storage and computational clouds. The human side of cybersecurity, and the legal and ethical constraints on both attack and defense.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite CISC 324 and CISC 335.
Exclusion CISC 490 (Topic Title: Computer Security).
Offering Faculty: Faculty of Arts and Science
CISC 448 Software Reliability and Security Units: 3.00
Software dependability and other related concepts, software process models and methods for reliable software. Software reliability engineering process, software fault tolerance and run-time monitoring. Software security engineering process, secure software design, program security vulnerabilities and software security testing
Learning Hours: 120 (36 Lecture, 84 Private Study)
Offering Faculty: Faculty of Arts and Science
CISC 451 Topics in Data Analytics Units: 3.00
Content will vary from year to year; typical areas covered may include: tools for large scale data analytics (Hadoop, Spark), data analytics in the cloud, properties of large scale social networks, applications of data analytics in security.
Learning Hours: 120 (36 Individual Instruction, 36 Laboratory, 48 Private Study)
Requirements: Prerequisite A minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 333 or CISC 351 or CISC 372).
Offering Faculty: Faculty of Arts and Science
CISC 452 Neural and Genetic Computing Units: 3.00
Introduction to neural and genetic computing. Topics include associative memory systems, neural optimization strategies, supervised and unsupervised classification networks, genetic algorithms, genetic and evolutionary programming. Applications are examined, and the relation to biologic systems is discussed.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 235.
Exclusion COGS 400.
Offering Faculty: Faculty of Arts and Science
CISC 453 Topics in Artificial Intelligence Units: 3.00
Investigation of selected areas of artificial intelligence research. Possible topics include natural language understanding, computational perception, planning, learning, and neurocomputing.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 352.
Offering Faculty: Faculty of Arts and Science
CISC 454 Computer Graphics Units: 3.00
Introduction to computer graphics, including a review of current hardware; modelling and transformations in two and three dimensions; visual realism: perspective, hidden surface elimination, and shading; colour models; applications in several fields.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 3 or above and registration in a School of Computing Plan and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 235/3.0 and [MATH 110/6.0 or MATH 111/6.0* or MATH 112/3.0]).
Offering Faculty: Faculty of Arts and Science
CISC 455 Evolutionary Optimization and Learning Units: 3.00
Building, applying and studying algorithms based on the Darwinian principles of natural evolution. A creative approach to AI able to create novel solutions. Genetic algorithms, evolution strategies, and genetic programming. Application to optimization and learning problems.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 365 and STAT 263).
Offering Faculty: Faculty of Arts and Science
CISC 457 Image Processing and Computer Vision Units: 3.00
Introduction to fundamental concepts and applications in image processing and computer vision. Topics include image acquisition, convolution, Discrete Fourier Transform, image enhancement, edge detection, segmentation, image registration, human contrast perception, colour perception and reproduction, stereo vision.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in ([MATH 110/6.0 or MATH 111/6.0* or MATH 112/3.0] and [MATH 120/6.0 or MATH 121/6.0 or MATH 123/3.0 or MATH 124/3.0 or MATH 126/6.0] and CISC 124/3.0).
Offering Faculty: Faculty of Arts and Science
CISC 458 Programming Language Processors Units: 3.00
Introduction to the systematic construction of a compiler: grammars and languages, scanners, top-down and bottom-up parsing, runtime organization, symbol tables, internal representations; Polish notation, syntax trees, semantic routines, storage allocation, code generation, interpreters.
Learning Hours: 120 (36 Lecture, 36 Laboratory, 48 Group Learning)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 121/3.0 and CISC 221/3.0 and CISC 223/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 465 Semantics of Programming Languages Units: 3.00
Specifying syntax and semantics; operational and denotational semantics. Lambda calculi, type systems and logical foundations. Meta-theoretic properties. Semantics of imperative languages.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 204 and CISC 223 and [CISC 360 or CISC 260]).
Offering Faculty: Faculty of Arts and Science
CISC 467 Fuzzy Logic Units: 3.00
History of fuzzy theory; fundamental concepts of fuzzy theory: sets, relations, and logic operators. Approximate reasoning, fuzzy inference, possibility theory. Separation from probability. Fuzzy control systems. Fuzzy pattern recognition. Advanced topics may include fuzzy expert systems, financial systems, graph theory, optimization.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Level 4 or above and registration in a BCMP or COCA Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 204.
Offering Faculty: Faculty of Arts and Science
CISC 468 Cryptography Units: 3.00
Fundamentals of cryptographic algorithms: secure pseudorandom number generators, hash functions, symmetric-key cryptography (stream ciphers, block ciphers); public-key cryptography (encryption and decryption, digital signatures, key agreement). Applications of cryptography to secure communication protocols and systems.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 235 and CISC 335).
Offering Faculty: Faculty of Arts and Science
CISC 471 Computational Biology Units: 3.00
Advanced computational approaches to the problems in molecular biology. Techniques and algorithms for sequence analysis and alignment; molecular databases; protein structure prediction and molecular data mining.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 352 and CISC 365).
Offering Faculty: Faculty of Arts and Science
CISC 472 Medical Informatics Units: 3.00
Current topics in the application of information technology to medical image computing and its use in image-guided medical interventions.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 330.
Offering Faculty: Faculty of Arts and Science
CISC 473 Deep Learning Units: 3.00
Design of deep neural networks based on leading-edge algorithms such as Restricted Boltzmann Machines, Recurrent Neural Networks, Convolutional Neural Networks, Long-Short Term Machines. Autoencoding as a clustering technique. Applications to prediction problems in natural language and images.
Learning Hours: 120 (36 Lecture, 84 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 371 or [CISC 271 and CISC 352]).
Offering Faculty: Faculty of Arts and Science
CISC 474 Reinforcement Learning Units: 3.00
Formal and heuristic approaches to problem-solving, planning, knowledge representation and reasoning, Markov decision processes, dynamic programming, temporal-difference learning, Monte Carlo learning, function approximation, integration of learning and planning. Implementing simple examples of logical reasoning, clustering or classification.
Learning Hours: 120 (36 Lecture, 12 Group Learning, 72 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in CISC 352.
Offering Faculty: Faculty of Arts and Science
CISC 486 Game Development Units: 3.00
An introduction to 'engines' used in networked 3-dimensional games. Topics include game-engine architecture and components providing 3-dimensional rendering, physics simulation, sound, artificial intelligence, and networking services.
Learning Hours: 120 (36 Lecture, 15 Group Learning, 69 Private Study)
Requirements: Prerequisite Registration in a School of Computing Plan and a minimum grade of C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 226/3.0 and [CISC 322/3.0 or CISC 326/3.0] and CISC 324/3.0 and [MATH 110/6.0 or MATH 111/6.0* or MATH 112/3.0]).
Offering Faculty: Faculty of Arts and Science
CISC 490 Topics in Computing Science I Units: 3.00
Content varies. Not offered every year.
NOTE This course is repeatable for credit under different topic titles.
NOTE Learning Hours will vary.
NOTE This course is repeatable for credit under different topic titles.
NOTE Learning Hours will vary.
Requirements: Prerequisite Registration in a School of Computing Plan and permission of the instructor.
Offering Faculty: Faculty of Arts and Science
CISC 492 Topics in Computing III Units: 3.00
Content varies. Not offered every year.
NOTE Learning Hours will vary.
NOTE Learning Hours will vary.
Requirements: Prerequisite Registration in a School of Computing Plan and permission of the instructor.
Offering Faculty: Faculty of Arts and Science
CISC 495 Software Evolution Units: 3.00
While working in groups, students will participate in the evolution of a software artifact. Elements of a software life cycle are examined in detail: requirements analysis, design recovery, refactoring, documentation, version, and configuration management.
Learning Hours: 120 (15 Lecture, 60 Group Learning, 45 Private Study)
Requirements: Prerequisite Level 4 or above and registration in a Computing Major, or a BMCO, COCA, COGS, COMA, or CSCI Specialization Plan and cumulative GPA of 1.90 or higher and a GPA of 2.60 in CISC/COCA/COGS/SOFT and a minimum of 12.0 units in CISC/COCA/COGS/SOFT at the 300-level or above and GPA of 2.60 in CISC/COCA/COGS/SOFT at the 300-level or above.
Recommended CISC 322/3.0 or CISC 326/3.0.
Exclusion Maximum of one course from: CISC 495/3.0; CISC 496/3.0; CISC 499/3.0; CISC 500/6.0; COGS 499/3.0.
Exclusion Maximum of one course from: CISC 495/3.0; CISC 498/6.0.
Offering Faculty: Faculty of Arts and Science
Course Learning Outcomes:
- Participate in the evolution of a large software artifact.
- Articulate the effects of a change in software requirements on the design and implementation of a large software artifact.
- Reflect on how their previous education influenced their work in the course and how their experience in the course will affect their future learning and career.
CISC 496 Game Development Project Units: 3.00
Team-based project involving the development of a game using modern tools and software engineering techniques.
Learning Hours: 129 (9 Lecture, 120 Group Learning)
Requirements: Prerequisite ([Level 4 or above and registration in a Computing Honours Plan with a cumulative GPA of 1.90 or higher] and a [GPA of 2.60 in CISC/COCA/COGS/SOFT] and a [minimum of 12.0 units in CISC/COCA/COGS/SOFT at the 300-level or above] and a [GPA of 2.6 in CISC/COCA/COGS/SOFT at the 300-level or above] and a [minimum grade of C- in CISC 486/3.0] and permission of the School).
Exclusion Maximum of one course from: CISC 495/3.0; CISC 496/3.0; CISC 499/3.0; CISC 500/6.0; COGS 499/3.0.
Exclusion Maximum of one course from: CISC 496/3.0; CISC 498/6.0.
Offering Faculty: Faculty of Arts and Science
CISC 497 Social, Ethical and Legal Issues in Computing Units: 3.00
A wide range of topics of current importance in computing, including technical issues, professional questions, and moral and ethical decisions. Students make presentations, deliver papers, and engage in discussion.
Learning Hours: 120 (12 Lecture, 24 Seminar, 84 Private Study)
Requirements: Prerequisite Level 4 or above and registration in a COMP Major or Specialization Plan and a cumulative GPA of 1.90 and a (GPA of 2.60 in CISC; COCA; COGS; SOFT) and (30.0 units of CISC; COCA; COGS; SOFT) and a minimum grade of a C- (obtained in any term) or a 'Pass' (obtained in Winter 2020) in (CISC 352 or CISC 365).
Offering Faculty: Faculty of Arts and Science
CISC 498 Information Technology Project Units: 6.00
Topic selected under the supervision of a faculty member. Emphasis is on the application of software engineering techniques to the development of a substantial software system. Group work, oral presentation, participation in design and code review meetings, and delivery of complete software specification and design are required.
Learning Hours: 258 (18 Seminar, 240 Group Learning)
Requirements: Prerequisite {(Level 4 or above and registration in the SODE Specialization Plan with a cumulative GPA of 1.90 or higher) and a (GPA of 2.60 in CISC/COCA/COGS/SOFT) and a (minimum of 12.0 units in CISC/COCA/COGS/SOFT at the 300-level or above) and a (GPA of 2.60 in CISC/COCA/COGS/SOFT at the 300-level or above) and a (minimum grade of C- in [CISC 322/3.0 or CISC 326/3.0] and [CISC 325/3.0 or CISC 327/3.0]) and permission of the School}.
Exclusion CISC 495/3.0; CISC 496/3.0; CISC 499/3.0; COGS 499/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 499 Advanced Undergraduate Project Units: 3.00
Students must make a project proposal and secure a supervisor prior to enrolling in this course. Emphasis may be on the development of a large program, or on more theoretical issues. Independent research, an oral presentation, and a written report are required.
Learning Hours: 120 (120 Private Study)
Requirements: Prerequisite ([Level 4 or above and registration in the COMP Major or a BMCO, COCA, COMA, or CSCI Specialization Plan with a cumulative GPA of 1.90 or higher] and a [GPA of 2.60 in CISC/COCA/COGS/SOFT] and a [minimum of 12.0 units in CISC/COCA/COGS/SOFT at the 300-level or above] and a [GPA of 2.60 in CISC/COCA/COGS/SOFT at the 300-level or above] and permission of the School).
Exclusion Maximum of one course from: CISC 495/3.0; CISC 496/3.0; CISC 500/6.0; COGS 499/3.0.
Exclusion Maximum of one course from: CISC 498/6.0; CISC 499/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 500 Undergraduate Thesis Units: 6.00
Individual research project under the supervision of a School of Computing faculty member. Evaluation is based on an oral presentation and a written thesis. It is the responsibility of the student to make a research proposal and secure a supervisor prior to enrolling in the course.
Learning Hours: 240 (24 Individual Instruction, 216 Private Study)
Requirements: Prerequisite ([Level 4 or above and registration in the COMP Major or a BMCO, COCA, COMA, or CSCI Specialization Plan with a cumulative GPA of 3.30 or higher] and a [GPA of 3.50 in CISC/COCA/COGS/SOFT] and a [minimum of 12.0 units in CISC/COCA/COGS/SOFT at the 300-level or above] and a [GPA of 3.50 in CISC/COCA/COGS/SOFT at the 300-level or above] and permission of the School).
Exclusion CISC 495/3.0; CISC 496/3.0; CISC 499/3.0; COGS 499/3.0.
Offering Faculty: Faculty of Arts and Science
CISC 594 Independent Study Units: 3.00
Exceptionally qualified students entering their third- or fourth-year may take a program of independent study provided it has been approved by the Department or Departments principally involved. The Department may approve an independent study program without permitting it to be counted toward a concentration in that Department. It is, consequently, the responsibility of students taking such programs to ensure that the concentration requirements for their degree will be met.
NOTE Requests for such a program must be received one month before the start of the first term in which the student intends to undertake the program.
NOTE Requests for such a program must be received one month before the start of the first term in which the student intends to undertake the program.
Requirements: Prerequisite Permission of the Department or Departments principally involved.
Offering Faculty: Faculty of Arts and Science
CISC 595 Independent Study Units: 6.00
Exceptionally qualified students entering their third- or fourth-year may take a program of independent study provided it has been approved by the Department or Departments principally involved. The Department may approve an independent study program without permitting it to be counted toward a concentration in that Department. It is, consequently, the responsibility of students taking such programs to ensure that the concentration requirements for their degree will be met.
NOTE Requests for such a program must be received one month before the start of the first term in which the student intends to undertake the program.
NOTE Requests for such a program must be received one month before the start of the first term in which the student intends to undertake the program.
Requirements: Prerequisite Permission of the Department or Departments principally involved.
Offering Faculty: Faculty of Arts and Science
CISC 596 Independent Study Units: 12.00
Exceptionally qualified students entering their third- or fourth-year may take a program of independent study provided it has been approved by the Department or Departments principally involved. The Department may approve an independent study program without permitting it to be counted toward a concentration in that Department. It is, consequently, the responsibility of students taking such programs to ensure that the concentration requirements for their degree will be met.
NOTE Requests for such a program must be received one month before the start of the first term in which the student intends to undertake the program.
NOTE Requests for such a program must be received one month before the start of the first term in which the student intends to undertake the program.
Requirements: Prerequisite Permission of the Department or Departments principally involved.
Offering Faculty: Faculty of Arts and Science