School of Computer Science
(Faculty of Science)
Computer Science (COMP) Courses
Notes:
- Some of the following Computer Science courses are cross-listed from other parts of the Calendar. In every such case, only one course is actually offered and the two numbers are alternate identifiers for this single course. Students in the B.C.S. program should register in such a course under the Computer Science (COMP) number.
COMP 1001 [0.5 credit]
Introduction to Computational Thinking for Arts and Social Science Students
An introduction to computational thinking and its applications to the arts and social sciences. Students will gain computational thinking skills by exploring data representation, basic programming concepts, a selection of algorithms, and advanced usage of software packages for the arts and social sciences.
Introduction to Computational Thinking for Arts and Social Science Students
An introduction to computational thinking and its applications to the arts and social sciences. Students will gain computational thinking skills by exploring data representation, basic programming concepts, a selection of algorithms, and advanced usage of software packages for the arts and social sciences.
Precludes additional credit for COMP 1004 (no longer offered). This course cannot be taken for credit by students in Business, Engineering, Computer Science, Mathematics or Science.
Lectures three hours a week.
Lectures three hours a week.
COMP 1005 [0.5 credit]
Introduction to Computer Science I
A first course in programming, emphasizing problem solving and computational thinking. Topics include pseudocode, variables, conditionals, iteration, arrays, objects, functions, sorting, searching, and simulation.
Introduction to Computer Science I
A first course in programming, emphasizing problem solving and computational thinking. Topics include pseudocode, variables, conditionals, iteration, arrays, objects, functions, sorting, searching, and simulation.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 1405, SYSC 1100 (no longer offered), ECOR 1606, SYSC 1005, CGSC 1005, BIT 1400.
Lectures three hours a week, tutorial one and a half hours a week.
Precludes additional credit for COMP 1405, SYSC 1100 (no longer offered), ECOR 1606, SYSC 1005, CGSC 1005, BIT 1400.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 1006 [0.5 credit]
Introduction to Computer Science II
A second course in programming emphasizing problem solving and computational thinking in an object-oriented language. Topics include abstraction, mutable data structures, methods, inheritance, polymorphism, recursion, program efficiency, testing and debugging.
Introduction to Computer Science II
A second course in programming emphasizing problem solving and computational thinking in an object-oriented language. Topics include abstraction, mutable data structures, methods, inheritance, polymorphism, recursion, program efficiency, testing and debugging.
Includes: Experiential Learning Activity
Precludes additional credit for BUSI 2402, COMP 1406, SYSC 1101 (no longer offered), SYSC 2004, BIT 2400.
Prerequisite(s): one of COMP 1005, COMP 1405, SYSC 1005, ECOR 1606, BIT 1400, CGSC 1005.
Lectures three hours a week, tutorial one and a half hours a week.
Precludes additional credit for BUSI 2402, COMP 1406, SYSC 1101 (no longer offered), SYSC 2004, BIT 2400.
Prerequisite(s): one of COMP 1005, COMP 1405, SYSC 1005, ECOR 1606, BIT 1400, CGSC 1005.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 1405 [0.5 credit]
Introduction to Computer Science I
A first course in programming for B.C.S. students emphasizing problem solving and computational thinking. Topics include pseudocode, variables, conditionals, iteration, arrays, objects, functions, sorting, searching, and simulation.
Introduction to Computer Science I
A first course in programming for B.C.S. students emphasizing problem solving and computational thinking. Topics include pseudocode, variables, conditionals, iteration, arrays, objects, functions, sorting, searching, and simulation.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 1005, SYSC 1100 (no longer offered), ECOR 1606, SYSC 1005, CGSC 1005, BIT 1400.
Prerequisite(s): restricted to students registered in the B.C.S. program, combined Honours in Computer Science and Mathematics, Honours Computer Mathematics, and Honours Computer Statistics.
Lectures three hours a week, tutorial one and a half hours a week.
Precludes additional credit for COMP 1005, SYSC 1100 (no longer offered), ECOR 1606, SYSC 1005, CGSC 1005, BIT 1400.
Prerequisite(s): restricted to students registered in the B.C.S. program, combined Honours in Computer Science and Mathematics, Honours Computer Mathematics, and Honours Computer Statistics.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 1406 [0.5 credit]
Introduction to Computer Science II
A second course in programming for BCS students, emphasizing problem solving and computational thinking in an object-oriented language. Topics include abstraction, mutable data structures, methods, inheritance, polymorphism, recursion, program efficiency, testing and debugging.
Introduction to Computer Science II
A second course in programming for BCS students, emphasizing problem solving and computational thinking in an object-oriented language. Topics include abstraction, mutable data structures, methods, inheritance, polymorphism, recursion, program efficiency, testing and debugging.
Precludes additional credit for COMP 1006, SYSC 1101 (no longer offered), SYSC 2004, BUSI 2402, BIT 2400.
Prerequisite(s): one of COMP 1405, COMP 1005, ECOR 1606, SYSC 1005, BIT 1400, CGSC 1005. Restricted to students registered in the B.C.S. program, combined Honours in Computer Science and Mathematics, Honours Computer Mathematics, and Honours Computer Statistics.
Lectures three hours a week, tutorial one and a half hours a week.
Prerequisite(s): one of COMP 1405, COMP 1005, ECOR 1606, SYSC 1005, BIT 1400, CGSC 1005. Restricted to students registered in the B.C.S. program, combined Honours in Computer Science and Mathematics, Honours Computer Mathematics, and Honours Computer Statistics.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 1501 [0.5 credit]
Introduction to Computer Game Design
Introduction to computer game programming interfaces. Topics may include: game balance and level design; storytelling and narrative; basic game architecture; sprite-based games and isometric games; representation of scenes; user interaction; architecture of game consoles; development tools for game consoles; interaction with game peripherals.
Introduction to Computer Game Design
Introduction to computer game programming interfaces. Topics may include: game balance and level design; storytelling and narrative; basic game architecture; sprite-based games and isometric games; representation of scenes; user interaction; architecture of game consoles; development tools for game consoles; interaction with game peripherals.
Prerequisite(s): one of COMP 1405, COMP 1005, ECOR 1606, SYSC 1005.
Lectures three hours a week, tutorial one and a half hours a week.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 1601 [0.5 credit]
Introduction to Mobile Application Development
Introduction to developing mobile applications using the Mac OS X platform. Topics include: the Objective-C programming language; development tools; framework API's; and the Quartz graphic system. Extensive practical experience with development for Apple mobile devices such as the iPhone.
Introduction to Mobile Application Development
Introduction to developing mobile applications using the Mac OS X platform. Topics include: the Objective-C programming language; development tools; framework API's; and the Quartz graphic system. Extensive practical experience with development for Apple mobile devices such as the iPhone.
Includes: Experiential Learning Activity
Prerequisite(s): one of COMP 1405, COMP 1005, SYSC 1005, ECOR 1606.
Lecture/lab four hours a week.
Prerequisite(s): one of COMP 1405, COMP 1005, SYSC 1005, ECOR 1606.
Lecture/lab four hours a week.
COMP 1805 [0.5 credit]
Discrete Structures I
Introduction to discrete mathematics and discrete structures. Topics include: propositional logic, predicate calculus, set theory, complexity of algorithms, mathematical reasoning and proof techniques, recurrences, induction, finite automata and graph theory. Material is illustrated through examples from computing.
Discrete Structures I
Introduction to discrete mathematics and discrete structures. Topics include: propositional logic, predicate calculus, set theory, complexity of algorithms, mathematical reasoning and proof techniques, recurrences, induction, finite automata and graph theory. Material is illustrated through examples from computing.
Includes: Experiential Learning Activity
Also listed as MATH 1805.
Precludes additional credit for MATH 1800.
Prerequisite(s): one Grade 12 university preparation mathematics course.
Lectures three hours a week, tutorial one hour a week.
Also listed as MATH 1805.
Precludes additional credit for MATH 1800.
Prerequisite(s): one Grade 12 university preparation mathematics course.
Lectures three hours a week, tutorial one hour a week.
COMP 1910 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. This course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. This course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Includes: Experiential Learning Activity
Prerequisite(s): Permission of the School and registration in internship option.
Prerequisite(s): Permission of the School and registration in internship option.
COMP 1911 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the BCS.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the BCS.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 1910 and registration in internship option.
Prerequisite(s): COMP 1910 and registration in internship option.
COMP 2401 [0.5 credit]
Introduction to Systems Programming
Introduction to system-level programming with fundamental OS concepts, procedures, primitive data types, user-defined types. Topics may include process management, memory management, process coordination and synchronization, inter-process communication, file systems, networking, pointers, heap and stack memory management, and system/library calls.
Introduction to Systems Programming
Introduction to system-level programming with fundamental OS concepts, procedures, primitive data types, user-defined types. Topics may include process management, memory management, process coordination and synchronization, inter-process communication, file systems, networking, pointers, heap and stack memory management, and system/library calls.
Precludes additional credit for COMP 1002 (no longer offered), COMP 1402 (no longer offered), COMP 2001 (no longer offered), SYSC 2006.
Prerequisite(s): one of COMP 1406, COMP 1006 or SYSC 2004, with a minimum grade of C-.
Lectures three hours a week, tutorial one and a half hours a week.
Prerequisite(s): one of COMP 1406, COMP 1006 or SYSC 2004, with a minimum grade of C-.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 2402 [0.5 credit]
Abstract Data Types and Algorithms
Introduction to the design and implementation of abstract data types and to complexity analysis of data structures. Topics include: stacks, queues, lists, trees and graphs. Special attention is given to abstraction, interface specification and hierarchical design using an object-oriented programming language.
Abstract Data Types and Algorithms
Introduction to the design and implementation of abstract data types and to complexity analysis of data structures. Topics include: stacks, queues, lists, trees and graphs. Special attention is given to abstraction, interface specification and hierarchical design using an object-oriented programming language.
Precludes additional credit for COMP 2002 (no longer offered), SYSC 2002 (no longer offered), SYSC 2100.
Prerequisite(s): one of COMP 1406, COMP 1006, SYSC 2004, with a minimum grade of C-.
Lectures three hours a week.
Prerequisite(s): one of COMP 1406, COMP 1006, SYSC 2004, with a minimum grade of C-.
Lectures three hours a week.
COMP 2404 [0.5 credit]
Introduction to Software Engineering
Introduction to object-oriented software development, with emphasis on design and implementation of medium-sized programs. Topics include abstraction, modularity, encapsulation, reusability, and design patterns.
Introduction to Software Engineering
Introduction to object-oriented software development, with emphasis on design and implementation of medium-sized programs. Topics include abstraction, modularity, encapsulation, reusability, and design patterns.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 2004 (no longer offered), SYSC 3010, SYSC 3110.
Prerequisite(s): COMP 2401.
Lectures three hours a week, tutorial one and a half hours a week.
Precludes additional credit for COMP 2004 (no longer offered), SYSC 3010, SYSC 3110.
Prerequisite(s): COMP 2401.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 2406 [0.5 credit]
Fundamentals of Web Applications
Introduction to Internet application development; emphasis on computer science fundamentals of technologies underlying web applications. Topics include: scripting and functional languages, language-based virtual machines, database query languages, remote procedure calls over the Internet, and performance and security concerns in modern distributed applications.
Fundamentals of Web Applications
Introduction to Internet application development; emphasis on computer science fundamentals of technologies underlying web applications. Topics include: scripting and functional languages, language-based virtual machines, database query languages, remote procedure calls over the Internet, and performance and security concerns in modern distributed applications.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 2005 (no longer offered), COMP 2006 (no longer offered), COMP 2405 (no longer offered).
Prerequisite(s): one of COMP 1006, COMP 1406, SYSC 2004, with a minimum grade of C-.
Lectures three hours a week and tutorial one and a half hours a week.
Precludes additional credit for COMP 2005 (no longer offered), COMP 2006 (no longer offered), COMP 2405 (no longer offered).
Prerequisite(s): one of COMP 1006, COMP 1406, SYSC 2004, with a minimum grade of C-.
Lectures three hours a week and tutorial one and a half hours a week.
COMP 2501 [0.5 credit]
Computer Game Design and Development
Topics may include: user interaction in multiplayer games, representation of animated scenes, tools for game character development, special effects, sound programming, game AI, motion planning and control, collision detection and physics, digital rights management.
Computer Game Design and Development
Topics may include: user interaction in multiplayer games, representation of animated scenes, tools for game character development, special effects, sound programming, game AI, motion planning and control, collision detection and physics, digital rights management.
Prerequisite(s): MATH 1104, COMP 1501, one of COMP 1406, COMP 1006 or SYSC 2004, and one of COMP 2401, or SYSC 2006.
Lectures three hours a week, tutorial one and a half hours a week.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 2601 [0.5 credit]
Mobile Applications
Development of applications for mobile environments taking advantage of gesture-based input and using location and presence services. Topics include introduction to low-level network services and mobile platforms, description of architectural patterns, principles of mobile development and interaction styles for network service usage.
Mobile Applications
Development of applications for mobile environments taking advantage of gesture-based input and using location and presence services. Topics include introduction to low-level network services and mobile platforms, description of architectural patterns, principles of mobile development and interaction styles for network service usage.
COMP 2801 [0.5 credit]
Introduction to Robotics
An introduction to the field of mobile robots and their applications from a computer science perspective. The course will discuss common robot programming architectures and strategies. Students will build various robot configurations and experiment with a variety of sensors using behavior-based programming.
Introduction to Robotics
An introduction to the field of mobile robots and their applications from a computer science perspective. The course will discuss common robot programming architectures and strategies. Students will build various robot configurations and experiment with a variety of sensors using behavior-based programming.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 1807 (no longer offered).
Prerequisite(s): one of COMP 1406, COMP 1006 or SYSC 2004 with a minimum grade of C-.
Lab four hours a week.
Precludes additional credit for COMP 1807 (no longer offered).
Prerequisite(s): one of COMP 1406, COMP 1006 or SYSC 2004 with a minimum grade of C-.
Lab four hours a week.
COMP 2804 [0.5 credit]
Discrete Structures II
A second course in discrete mathematics and discrete structures. Topics include: counting, sequences and sums, discrete probability, basic statistics, recurrence relations, randomized algorithms. Material is illustrated through examples from computing.
Discrete Structures II
A second course in discrete mathematics and discrete structures. Topics include: counting, sequences and sums, discrete probability, basic statistics, recurrence relations, randomized algorithms. Material is illustrated through examples from computing.
COMP 2910 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 1911 and registration in internship option.
Prerequisite(s): COMP 1911 and registration in internship option.
COMP 2911 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the BCS.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the BCS.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 2910 and registration in internship option.
Prerequisite(s): COMP 2910 and registration in internship option.
COMP 3000 [0.5 credit]
Operating Systems
Operating system implementation course stressing fundamental issues in design and how they relate to modern computer architectures. Assignments involve the modification and extension of a multitasking operating system.
Operating Systems
Operating system implementation course stressing fundamental issues in design and how they relate to modern computer architectures. Assignments involve the modification and extension of a multitasking operating system.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3001 (no longer offered), SYSC 4001.
Prerequisite(s): one of COMP 2402, SYSC 2100, and one of COMP 2401, SYSC 2006.
Lectures three hours a week, tutorial one and a half hours a week.
Precludes additional credit for SYSC 3001 (no longer offered), SYSC 4001.
Prerequisite(s): one of COMP 2402, SYSC 2100, and one of COMP 2401, SYSC 2006.
Lectures three hours a week, tutorial one and a half hours a week.
COMP 3002 [0.5 credit]
Compiler Construction
The structure, organization and design of the phases of a compiler are considered: lexical translators, syntactical translators, scope handlers, type checkers, code generators and optimizers. Components of a compiler will be implemented.
Compiler Construction
The structure, organization and design of the phases of a compiler are considered: lexical translators, syntactical translators, scope handlers, type checkers, code generators and optimizers. Components of a compiler will be implemented.
COMP 3004 [0.5 credit]
Object-Oriented Software Engineering
Theory and development software systems. Computer ethics. Possible topics include: software development processes, requirement specification, class and scenario modeling, state modeling, UML, design patterns, traceability. Students are to complete a team project using a CASE tool.
Object-Oriented Software Engineering
Theory and development software systems. Computer ethics. Possible topics include: software development processes, requirement specification, class and scenario modeling, state modeling, UML, design patterns, traceability. Students are to complete a team project using a CASE tool.
Includes: Experiential Learning Activity
Precludes additional credit for SYSC 3020, SYSC 3100 (no longer offered), SYSC 3120, SYSC 4120, SYSC 4800 (no longer offered).
Prerequisite(s): COMP 2401, COMP 2406 and one of COMP 2404, SYSC 3010, or SYSC 3110.
Lectures three hours a week.
Precludes additional credit for SYSC 3020, SYSC 3100 (no longer offered), SYSC 3120, SYSC 4120, SYSC 4800 (no longer offered).
Prerequisite(s): COMP 2401, COMP 2406 and one of COMP 2404, SYSC 3010, or SYSC 3110.
Lectures three hours a week.
COMP 3005 [0.5 credit]
Database Management Systems
Introduces students to concepts of database management systems, database design and file structures. Topics include: entity-relationship modeling and object oriented database design, data models (relational, network and object oriented), the relational algebra, SQL, normalization theory, physical data organization, object oriented databases and OQL.
Database Management Systems
Introduces students to concepts of database management systems, database design and file structures. Topics include: entity-relationship modeling and object oriented database design, data models (relational, network and object oriented), the relational algebra, SQL, normalization theory, physical data organization, object oriented databases and OQL.
Precludes additional credit for BUSI 3400.
Prerequisite(s): COMP 1805 or MATH 1800 with a minimum grade of C-, plus: COMP 2402 or (SYSC 2004 and SYSC 2100).
Lectures three hours a week.
Prerequisite(s): COMP 1805 or MATH 1800 with a minimum grade of C-, plus: COMP 2402 or (SYSC 2004 and SYSC 2100).
Lectures three hours a week.
COMP 3007 [0.5 credit]
Programming Paradigms
An introduction to alternative programming paradigms such as functional, constraint-based, concurrent, and logic programming.
Programming Paradigms
An introduction to alternative programming paradigms such as functional, constraint-based, concurrent, and logic programming.
Precludes additional credit for SYSC 3101.
Prerequisite(s): COMP 2402, or both of SYSC 2004 and SYSC 2100.
Lectures three hours a week.
Prerequisite(s): COMP 2402, or both of SYSC 2004 and SYSC 2100.
Lectures three hours a week.
COMP 3008 [0.5 credit]
Human-Computer Interaction
Fundamentals of the underlying theories, design principles, development and evaluation practices of human-computer interaction (HCI). Topics may include: theories of interaction, user interface frameworks, desktop, web, mobile, and immersive applications, usability inspection and testing methods, and qualitative and quantitative approaches to HCI research.
Human-Computer Interaction
Fundamentals of the underlying theories, design principles, development and evaluation practices of human-computer interaction (HCI). Topics may include: theories of interaction, user interface frameworks, desktop, web, mobile, and immersive applications, usability inspection and testing methods, and qualitative and quantitative approaches to HCI research.
COMP 3009 [0.5 credit]
Computer Graphics
An overview of computer graphics covering rendering, modeling, and animation. Topics include geometric primitives and modeling; image formation algorithms such as ray tracing and the Z-buffer; lighting, shading, and texture; and introduction to physics-based animation and character animation.
Computer Graphics
An overview of computer graphics covering rendering, modeling, and animation. Topics include geometric primitives and modeling; image formation algorithms such as ray tracing and the Z-buffer; lighting, shading, and texture; and introduction to physics-based animation and character animation.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 2401, COMP 2402, MATH 1007, and MATH 1104.
Lectures/lab four hours a week.
Prerequisite(s): COMP 2401, COMP 2402, MATH 1007, and MATH 1104.
Lectures/lab four hours a week.
COMP 3203 [0.5 credit]
Principles of Computer Networks
This is an introductory course to the field of Network Computing. Topics include: Protocol Architectures and Internetworking, Types of Networks, Communication Protocols, End-System and Network Traffic Management, Structure of Routing and Congestion Control.
Principles of Computer Networks
This is an introductory course to the field of Network Computing. Topics include: Protocol Architectures and Internetworking, Types of Networks, Communication Protocols, End-System and Network Traffic Management, Structure of Routing and Congestion Control.
Precludes additional credit for SYSC 4602.
Prerequisite(s): one of COMP 2402, SYSC 2100, and one of COMP 2401, SYSC 2006.
Lectures three hours a week.
Prerequisite(s): one of COMP 2402, SYSC 2100, and one of COMP 2401, SYSC 2006.
Lectures three hours a week.
COMP 3301 [0.5 credit]
Technical Writing for Computer Science
Technical communication for computer science majors, concentrating on writing scientific papers and technical reports. Principles of clarity and precision in writing and communication. Practical exercises and readings from recent technical publications will be used.
Technical Writing for Computer Science
Technical communication for computer science majors, concentrating on writing scientific papers and technical reports. Principles of clarity and precision in writing and communication. Practical exercises and readings from recent technical publications will be used.
COMP 3308 [0.5 credit]
Bioinformatics
This practical interdisciplinary course will provide a broad overview of bioinformatics in which computer science and mathematics are applied to solve problems in molecular biology. Topics include gene prediction, sequence alignment, phylogeny, molecular interactions, macromolecular structure prediction and biological databases.
Bioinformatics
This practical interdisciplinary course will provide a broad overview of bioinformatics in which computer science and mathematics are applied to solve problems in molecular biology. Topics include gene prediction, sequence alignment, phylogeny, molecular interactions, macromolecular structure prediction and biological databases.
Includes: Experiential Learning Activity
Also listed as BIOC 3008 and BIOL 3008.
Prerequisite(s): BIOC 2200 or BIOL 2200, or permission of the Biochemistry Institute.
Lecture two hours a week, computer workshop three hours a week.
Also listed as BIOC 3008 and BIOL 3008.
Prerequisite(s): BIOC 2200 or BIOL 2200, or permission of the Biochemistry Institute.
Lecture two hours a week, computer workshop three hours a week.
COMP 3400 [0.5 credit]
Computational Logic and Automated Reasoning
Applications of formal logic in computer science. Symbolic logics such as classical predicate calculus are used to represent domain knowledge, to model computational problems and to solve them by means of automated reasoners. Applications include artificial intelligence, software engineering, data management and hardware verification.
Computational Logic and Automated Reasoning
Applications of formal logic in computer science. Symbolic logics such as classical predicate calculus are used to represent domain knowledge, to model computational problems and to solve them by means of automated reasoners. Applications include artificial intelligence, software engineering, data management and hardware verification.
COMP 3501 [0.5 credit]
Foundations of Game Programming and Computer Graphics
Mathematical concepts of 3D engines. Topics may include: illumination and visibility determination; quaternions; homogeneous coordinates; transforms; ray tracing; bump mapping; portal systems; polygonal techniques; shadows; and linear and rotational physics.
Foundations of Game Programming and Computer Graphics
Mathematical concepts of 3D engines. Topics may include: illumination and visibility determination; quaternions; homogeneous coordinates; transforms; ray tracing; bump mapping; portal systems; polygonal techniques; shadows; and linear and rotational physics.
Prerequisite(s): one of COMP 2402, SYSC 2100, and one of COMP 2404, SYSC 3010, SYSC 3110, and COMP 2501.
Lectures three hours a week.
Lectures three hours a week.
COMP 3801 [0.5 credit]
Algorithms for Modern Data Sets
Algorithm design techniques for modern data sets arising in, for example, data mining, web analytics, epidemic spreads, search engines and social networks. Topics may include streaming, memory hierarchy aware, game theoretic, parallel, distributed, cloud-based, and probabilistic algorithms.
Algorithms for Modern Data Sets
Algorithm design techniques for modern data sets arising in, for example, data mining, web analytics, epidemic spreads, search engines and social networks. Topics may include streaming, memory hierarchy aware, game theoretic, parallel, distributed, cloud-based, and probabilistic algorithms.
COMP 3803 [0.5 credit]
Introduction to Theory of Computation
Theoretical aspects of computer science. Topics include: formal languages and automata theory, computability theory.
Introduction to Theory of Computation
Theoretical aspects of computer science. Topics include: formal languages and automata theory, computability theory.
Precludes additional credit for COMP 2805 (no longer offered).
Prerequisite(s): COMP 2804.
Lectures three hours a week.
Prerequisite(s): COMP 2804.
Lectures three hours a week.
COMP 3804 [0.5 credit]
Design and Analysis of Algorithms I
An introduction to the design and analysis of algorithms. Topics include: divide-and-conquer, dynamic programming, linear programming, greedy algorithms, graph algorithms, NP-completeness.
Design and Analysis of Algorithms I
An introduction to the design and analysis of algorithms. Topics include: divide-and-conquer, dynamic programming, linear programming, greedy algorithms, graph algorithms, NP-completeness.
Also listed as MATH 3804.
Prerequisite(s): one of COMP 2402 or SYSC 2100, and either COMP 2804 or both of MATH 2007 and MATH 2108 or equivalents.
Lectures three hours a week.
Prerequisite(s): one of COMP 2402 or SYSC 2100, and either COMP 2804 or both of MATH 2007 and MATH 2108 or equivalents.
Lectures three hours a week.
COMP 3805 [0.5 credit]
Discrete Structures and Applications (Honours)
Enumeration: inclusion and exclusion, recurrence relations, generating functions and applications. Graph theory: connectivity, planarity, Hamilton paths and Euler trails. Error-correcting codes. Designs and finite geometries. Symmetry and counting.
Discrete Structures and Applications (Honours)
Enumeration: inclusion and exclusion, recurrence relations, generating functions and applications. Graph theory: connectivity, planarity, Hamilton paths and Euler trails. Error-correcting codes. Designs and finite geometries. Symmetry and counting.
Also listed as MATH 3855.
Precludes additional credit for MATH 3805 (no longer offered) and MATH 3825.
Prerequisite(s): MATH 2100 or a grade of B or higher in MATH 2108 or MATH 3101.
Lectures three hours a week and one hour tutorial.
Precludes additional credit for MATH 3805 (no longer offered) and MATH 3825.
Prerequisite(s): MATH 2100 or a grade of B or higher in MATH 2108 or MATH 3101.
Lectures three hours a week and one hour tutorial.
COMP 3807 [0.5 credit]
Mathematical Software
Incorporation of basic numerical methods into efficient, reliable software. The course includes examination of existing software systems, e.g. linear systems, non-linear systems, optimization, or differential equations.
Mathematical Software
Incorporation of basic numerical methods into efficient, reliable software. The course includes examination of existing software systems, e.g. linear systems, non-linear systems, optimization, or differential equations.
COMP 3910 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 2911 and registration in internship option.
Prerequisite(s): COMP 2911 and registration in internship option.
COMP 3911 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 3910 and registration in internship option.
Prerequisite(s): COMP 3910 and registration in internship option.
COMP 3999 [0.0 credit]
Co-operative Work Term
Co-operative Work Term
Includes: Experiential Learning Activity
COMP 4000 [0.5 credit]
Distributed Operating Systems
An advanced course emphasizing the principles of distributed operating systems including networking protocols, distributed file systems, remote IPC mechanisms, graphical user interfaces, load balancing, and process migration. Case studies include current "standards" as well as novel systems under development.
Distributed Operating Systems
An advanced course emphasizing the principles of distributed operating systems including networking protocols, distributed file systems, remote IPC mechanisms, graphical user interfaces, load balancing, and process migration. Case studies include current "standards" as well as novel systems under development.
Includes: Experiential Learning Activity
Prerequisite(s): one of COMP 3203 or SYSC 4602, and one of COMP 3000 or SYSC 4001.
Lectures three hours a week.
Prerequisite(s): one of COMP 3203 or SYSC 4602, and one of COMP 3000 or SYSC 4001.
Lectures three hours a week.
COMP 4001 [0.5 credit]
Distributed Computing
Overview of distributed computing. Topics include: computational models, communication complexity, design and analysis of distributed algorithms and protocols, fault-tolerant protocols, synchronous computations. Applications may include: communication in data networks, control in distributed system (e.g., election, distributed mutual exclusion), manipulation of distributed data (e.g., ranking).
Distributed Computing
Overview of distributed computing. Topics include: computational models, communication complexity, design and analysis of distributed algorithms and protocols, fault-tolerant protocols, synchronous computations. Applications may include: communication in data networks, control in distributed system (e.g., election, distributed mutual exclusion), manipulation of distributed data (e.g., ranking).
Prerequisite(s): COMP 1805 with a minimum grade of C-, COMP 2401 and COMP 2406.
Lectures three hours a week.
Lectures three hours a week.
COMP 4002 [0.5 credit]
Real-Time 3D Game Engines
The design and implementation of game engines for real-time 3D games including topics such as camera control, environmental effects, articulated models, terrain, vegetation, collision detection, particles, emitters, triggers, portals, waypoints, mirrors, and shadows.
Real-Time 3D Game Engines
The design and implementation of game engines for real-time 3D games including topics such as camera control, environmental effects, articulated models, terrain, vegetation, collision detection, particles, emitters, triggers, portals, waypoints, mirrors, and shadows.
COMP 4003 [0.5 credit]
Transaction Processing Systems
Concepts and architectures of transaction processing systems and on-line transaction processing, with emphasis on data integration systems. Transaction properties and models, embedded-SQL, active rules, consistency maintenance, serializability, concurrency control, recovery, data integration systems and federated databases, introduction to transactions in web services and workflow systems.
Transaction Processing Systems
Concepts and architectures of transaction processing systems and on-line transaction processing, with emphasis on data integration systems. Transaction properties and models, embedded-SQL, active rules, consistency maintenance, serializability, concurrency control, recovery, data integration systems and federated databases, introduction to transactions in web services and workflow systems.
COMP 4004 [0.5 credit]
Software Quality Assurance
Introduction to the theory and practice of Software Quality Assurance. Topics include: functional requirements analysis, system requirement analysis, verification and validation, traceability, white box testing, integration testing, object-oriented testing, tools, and management issues.
Software Quality Assurance
Introduction to the theory and practice of Software Quality Assurance. Topics include: functional requirements analysis, system requirement analysis, verification and validation, traceability, white box testing, integration testing, object-oriented testing, tools, and management issues.
COMP 4009 [0.5 credit]
Programming for Clusters and Multi-Core Processors
Introduction to parallel architectures, programming languages and algorithms for processor clusters and multi-core processors. Distributed memory architectures, cluster computing, message passing parallel programming, multi-core processors, shared memory parallel programming, use of thread libraries, parallel performance analysis.
Programming for Clusters and Multi-Core Processors
Introduction to parallel architectures, programming languages and algorithms for processor clusters and multi-core processors. Distributed memory architectures, cluster computing, message passing parallel programming, multi-core processors, shared memory parallel programming, use of thread libraries, parallel performance analysis.
Prerequisite(s): COMP 2804, and one of COMP 2402, SYSC 2100, and one of COMP 2404, SYSC 3010, SYSC 3110.
Lectures three hours a week.
Lectures three hours a week.
COMP 4102 [0.5 credit]
Computer Vision
The basic ideas and techniques of computer vision. The central theme is reconstructing 3D models from 2D images. Topics include: image formation, image feature extraction, camera models, camera calibration, structure from motion, stereo, recognition, augmented reality, image searching.
Computer Vision
The basic ideas and techniques of computer vision. The central theme is reconstructing 3D models from 2D images. Topics include: image formation, image feature extraction, camera models, camera calibration, structure from motion, stereo, recognition, augmented reality, image searching.
Prerequisite(s): one of MATH 1104 or MATH 1107, and one of COMP 2404, SYSC 3010, SYSC 3110.
Lectures three hours a week.
Lectures three hours a week.
COMP 4104 [0.5 credit]
Principles and Practice of Distributed Programming
Advanced course on distributed programming in Java. Introduces students to standard design patterns for implementing components that solve common distributed programming challenges in Java. Topics covered include: threads, message passing, coordination, distributed object technology, web-based services, and collaborative applications.
Principles and Practice of Distributed Programming
Advanced course on distributed programming in Java. Introduces students to standard design patterns for implementing components that solve common distributed programming challenges in Java. Topics covered include: threads, message passing, coordination, distributed object technology, web-based services, and collaborative applications.
COMP 4106 [0.5 credit]
Artificial Intelligence
Several areas in knowledge-based systems are covered, including recent approaches to machine learning and data mining, inference methods, knowledge-based and fuzzy systems, heuristic search, and natural language processing.
Artificial Intelligence
Several areas in knowledge-based systems are covered, including recent approaches to machine learning and data mining, inference methods, knowledge-based and fuzzy systems, heuristic search, and natural language processing.
Prerequisite(s): COMP 2804, one of COMP 2404, SYSC 3010, SYSC 3110 and one of COMP 2402, SYSC 2100.
Lectures three hours a week.
Lectures three hours a week.
COMP 4107 [0.5 credit]
Neural Networks
Theory and application of neural networks to problems in machine learning. Topics include: biological models, perceptron and other neuron types, feed forward and recurrent architectures, learning algorithms and applications in pattern recognition and sequence prediction.
Neural Networks
Theory and application of neural networks to problems in machine learning. Topics include: biological models, perceptron and other neuron types, feed forward and recurrent architectures, learning algorithms and applications in pattern recognition and sequence prediction.
Prerequisite(s): COMP 2404, COMP 2804, and one of MATH 1104 or MATH 1107.
Lectures three hours a week.
Lectures three hours a week.
COMP 4108 [0.5 credit]
Computer Systems Security
Introduction to information security in computer and communications systems, including network, operating systems, web and software security; Passwords, authentication applications, privacy, data integrity, anonymity, secure email, IP security, security infrastructures, firewalls, viruses, intrusion detection, network attacks.
Computer Systems Security
Introduction to information security in computer and communications systems, including network, operating systems, web and software security; Passwords, authentication applications, privacy, data integrity, anonymity, secure email, IP security, security infrastructures, firewalls, viruses, intrusion detection, network attacks.
Prerequisite(s): one of COMP 3203 or SYSC 4602, and one of COMP 3000, SYSC 3001, SYSC 4001.
Lectures three hours a week, tutorials one and a half hours a week.
Lectures three hours a week, tutorials one and a half hours a week.
COMP 4109 [0.5 credit]
Applied Cryptography
Practical aspects of cryptography. Pseudo random number generation, symmetric cryptography (stream and block ciphers), modes of operation, hash functions, message and entity authentication protocols, zero knowledge, pitfalls deploying public-key encryption and digital signatures, key distribution, secret-sharing.
Applied Cryptography
Practical aspects of cryptography. Pseudo random number generation, symmetric cryptography (stream and block ciphers), modes of operation, hash functions, message and entity authentication protocols, zero knowledge, pitfalls deploying public-key encryption and digital signatures, key distribution, secret-sharing.
Prerequisite(s): one of COMP 2402, SYSC 2100; a MATH course at the 2000-level or above; and COMP 2804.
Lectures three hours a week.
Lectures three hours a week.
COMP 4111 [0.5 credit]
Data Management for Business Intelligence
Application of computational techniques to support business activities, such as decision making, business understanding, data analysis, business process automation, learning from data, producing and using data-centric business models, ontology-based data access and integration, data quality assessment and cleaning and use of contextual data.
Data Management for Business Intelligence
Application of computational techniques to support business activities, such as decision making, business understanding, data analysis, business process automation, learning from data, producing and using data-centric business models, ontology-based data access and integration, data quality assessment and cleaning and use of contextual data.
Prerequisite(s): COMP 3005.
Also offered at the graduate level, with different requirements, as COMP 5111, for which additional credit is precluded.
Lectures three hours a week.
Also offered at the graduate level, with different requirements, as COMP 5111, for which additional credit is precluded.
Lectures three hours a week.
COMP 4202 [0.5 credit]
Computational Aspects of Geographic Information Systems
Through recent advances in navigation systems, mobile devices, and new software such as Mapquest and Google Earth, GIS is becoming increasingly important and exciting from a CS perspective. This course lays the algorithmic foundations to understand, use and further this technology.
Computational Aspects of Geographic Information Systems
Through recent advances in navigation systems, mobile devices, and new software such as Mapquest and Google Earth, GIS is becoming increasingly important and exciting from a CS perspective. This course lays the algorithmic foundations to understand, use and further this technology.
Prerequisite(s): COMP 3804 or equivalent.
Also offered at the graduate level, with different requirements, as COMP 5204, for which additional credit is precluded.
Lecture three hours a week.
Also offered at the graduate level, with different requirements, as COMP 5204, for which additional credit is precluded.
Lecture three hours a week.
COMP 4203 [0.5 credit]
Wireless Networks and Security
An introduction to wireless networks covering both networking issues and security aspects of modern wireless environments. Fundamentals of mobile LANs, ad hoc, sensor networks, secure routing, searching, clustering, multicasting, localization, mobile IP/TCP, confidentiality, key establishment, authentication, broadcasting, RFIDs, and rogue attacks.
Wireless Networks and Security
An introduction to wireless networks covering both networking issues and security aspects of modern wireless environments. Fundamentals of mobile LANs, ad hoc, sensor networks, secure routing, searching, clustering, multicasting, localization, mobile IP/TCP, confidentiality, key establishment, authentication, broadcasting, RFIDs, and rogue attacks.
COMP 4206 [0.5 credit]
Evolving Information Networks
Convergence of social and technological networks. Interplay between information content, entities creating it and technologies supporting it. Structure and analysis of such networks, models abstracting their properties, techniques link analysis, search, mechanism design, power laws, cascading, clustering and connections with work in social sciences.
Evolving Information Networks
Convergence of social and technological networks. Interplay between information content, entities creating it and technologies supporting it. Structure and analysis of such networks, models abstracting their properties, techniques link analysis, search, mechanism design, power laws, cascading, clustering and connections with work in social sciences.
Prerequisite(s): one of COMP 1805, MATH 1805, and one of COMP 2401, SYSC 2006, and COMP 2406.
Lecture three hours a week.
Lecture three hours a week.
COMP 4308 [0.5 credit]
Computational Systems Biology
Modeling and simulation of metabolic and regulatory networks towards understanding complex and highly dynamic cellular systems. Biotechnological applications include metabolic engineering, synthetic biology, and drug discovery.
Computational Systems Biology
Modeling and simulation of metabolic and regulatory networks towards understanding complex and highly dynamic cellular systems. Biotechnological applications include metabolic engineering, synthetic biology, and drug discovery.
Includes: Experiential Learning Activity
Also listed as BIOC 4008.
Prerequisite(s): BIOC 3101 or permission of the Biochemistry Institute.
Lecture one and a half hours per week, workshop one and a half hours per week.
Also listed as BIOC 4008.
Prerequisite(s): BIOC 3101 or permission of the Biochemistry Institute.
Lecture one and a half hours per week, workshop one and a half hours per week.
COMP 4501 [0.5 credit]
Advanced Facilities for Real-Time Games
A practical course on advanced facilities of game engines. Such facilities include notions such as physics engines, shadow mapping, lighting with thousands of lights, relief mapping, ambient occlusion, water flow, deferred rendering, occlusion culling, water effects, mirrors, and screen space reflection.
Advanced Facilities for Real-Time Games
A practical course on advanced facilities of game engines. Such facilities include notions such as physics engines, shadow mapping, lighting with thousands of lights, relief mapping, ambient occlusion, water flow, deferred rendering, occlusion culling, water effects, mirrors, and screen space reflection.
COMP 4601 [0.5 credit]
Intelligent Web-based Information Systems
Introduction to the principles and practice of creation, delivery and analysis of multimedia content in web-based systems. Topics include analysis of webs of documents, social network analysis, recommender systems and problems of trust, reputation and influence in e-commerce systems.
Intelligent Web-based Information Systems
Introduction to the principles and practice of creation, delivery and analysis of multimedia content in web-based systems. Topics include analysis of webs of documents, social network analysis, recommender systems and problems of trust, reputation and influence in e-commerce systems.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 2601 or COMP 2406, and one of COMP 2404, SYSC 3010, or SYSC 3110.
Lecture/lab four hours a week.
Prerequisite(s): COMP 2601 or COMP 2406, and one of COMP 2404, SYSC 3010, or SYSC 3110.
Lecture/lab four hours a week.
COMP 4602 [0.5 credit]
Social Networking
Introduction to virtual communities, overlay networks and social networking. Topics include architectural principles for heterogeneous social networking platforms, trust and reputation as social concepts, agent-based computing, and extraction of trends and patterns from information exchanged between community members.
Social Networking
Introduction to virtual communities, overlay networks and social networking. Topics include architectural principles for heterogeneous social networking platforms, trust and reputation as social concepts, agent-based computing, and extraction of trends and patterns from information exchanged between community members.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 3601.
Prerequisite(s): COMP 2601, or one of COMP 2404, SYSC 3010, SYSC 3110, and COMP 2406.
Lectures/labs four hours per week.
Precludes additional credit for COMP 3601.
Prerequisite(s): COMP 2601, or one of COMP 2404, SYSC 3010, SYSC 3110, and COMP 2406.
Lectures/labs four hours per week.
COMP 4803 [0.5 credit]
Computable Functions
Recursive functions and computability, algorithms, Church's thesis, Turing machines, computational logic, NP-completeness.
Computable Functions
Recursive functions and computability, algorithms, Church's thesis, Turing machines, computational logic, NP-completeness.
COMP 4804 [0.5 credit]
Design and Analysis of Algorithms II
A second course on the design and analysis of algorithms. Topics include: advanced recurrence relations, algebraic complexity, advanced graph algorithms, amortized analysis, algorithms for NP-complete problems, randomized algorithms.
Design and Analysis of Algorithms II
A second course on the design and analysis of algorithms. Topics include: advanced recurrence relations, algebraic complexity, advanced graph algorithms, amortized analysis, algorithms for NP-complete problems, randomized algorithms.
COMP 4805 [0.5 credit]
Theory of Automata
Finite automata and regular expressions, properties of regular sets, context-free grammars, pushdown automata, deterministic context-free languages. Turing machines, the Chomsky hierarchy. Undecidability, intractable problems.
Theory of Automata
Finite automata and regular expressions, properties of regular sets, context-free grammars, pushdown automata, deterministic context-free languages. Turing machines, the Chomsky hierarchy. Undecidability, intractable problems.
Also listed as MATH 4805.
Precludes additional credit for MATH 5605.
Prerequisite(s): COMP 3805 or MATH 3106 or MATH 3158 (or MATH 3100) or permission of the School.
Lectures three hours a week.
Precludes additional credit for MATH 5605.
Prerequisite(s): COMP 3805 or MATH 3106 or MATH 3158 (or MATH 3100) or permission of the School.
Lectures three hours a week.
COMP 4806 [0.5 credit]
Numerical Linear Algebra
Study of matrix inversion techniques; techniques of finding eigenvalues and eigenvectors, solution of systems of linear equations; direct and indirect methods, their comparison and error analysis; applications in optimization and other areas.
Numerical Linear Algebra
Study of matrix inversion techniques; techniques of finding eigenvalues and eigenvectors, solution of systems of linear equations; direct and indirect methods, their comparison and error analysis; applications in optimization and other areas.
Also listed as MATH 4806.
Prerequisite(s): MATH 1102 or MATH 2107; and MATH 2000 and COMP 3806, or permission of the School.
Lectures three hours a week.
Prerequisite(s): MATH 1102 or MATH 2107; and MATH 2000 and COMP 3806, or permission of the School.
Lectures three hours a week.
COMP 4900 [0.5 credit]
Advanced Topics in Computer Science
Selected topics in Computer Science offered by members of the School of Computer Science.
Advanced Topics in Computer Science
Selected topics in Computer Science offered by members of the School of Computer Science.
Prerequisite(s): permission of the School of Computer Science.
Lectures three hours a week and up to three hours of tutorials a week.
Lectures three hours a week and up to three hours of tutorials a week.
COMP 4901 [0.5 credit]
Directed Studies
Independent study under the supervision of a member of the School of Computer Science, open only to students in the B.C.S. program. Students are required to obtain their supervisor's written approval prior to registration and are limited to two such courses in their program.
Directed Studies
Independent study under the supervision of a member of the School of Computer Science, open only to students in the B.C.S. program. Students are required to obtain their supervisor's written approval prior to registration and are limited to two such courses in their program.
Prerequisite(s): permission of the School of Computer Science.
COMP 4905 [0.5 credit]
Honours Project
Under the supervision of a faculty member, Honours students complete a major Computer Science project in fourth year. Permission to register is granted once an approved project proposal is submitted to the Department. See deadlines and details on the School web site.
Honours Project
Under the supervision of a faculty member, Honours students complete a major Computer Science project in fourth year. Permission to register is granted once an approved project proposal is submitted to the Department. See deadlines and details on the School web site.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 4906.
Prerequisite(s): registration in the B.C.S. Honours program or one of the Combined Computer Science Honours programs and permission of the School of Computer Science.
Precludes additional credit for COMP 4906.
Prerequisite(s): registration in the B.C.S. Honours program or one of the Combined Computer Science Honours programs and permission of the School of Computer Science.
COMP 4906 [1.0 credit]
Honours Thesis
An independent research project under the direct supervision of a faculty advisor. Permission to register is granted once an approved project proposal is submitted to the School of Computer Science. Evaluation is based on a written thesis and a poster presentation.
Honours Thesis
An independent research project under the direct supervision of a faculty advisor. Permission to register is granted once an approved project proposal is submitted to the School of Computer Science. Evaluation is based on a written thesis and a poster presentation.
Includes: Experiential Learning Activity
Precludes additional credit for COMP 4905.
Prerequisite(s): fourth-year standing in a B.C.S. Honours program with a minimum CGPA of 9.0 in the major and permission of the School of Computer Science.
Precludes additional credit for COMP 4905.
Prerequisite(s): fourth-year standing in a B.C.S. Honours program with a minimum CGPA of 9.0 in the major and permission of the School of Computer Science.
COMP 4910 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 3911 and registration in internship option.
Prerequisite(s): COMP 3911 and registration in internship option.
COMP 4911 [0.5 credit]
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Internship
The internship exposes students to industrial software development via placement in a local enterprise. The course may only be taken by students participating in one of the School's industrial partnerships and can only be used as a free elective in the B.C.S.
Includes: Experiential Learning Activity
Prerequisite(s): COMP 4910 and registration in internship option.
Prerequisite(s): COMP 4910 and registration in internship option.
Summer session: some of the courses listed in this Calendar are offered during the summer. Hours and scheduling for summer session courses will differ significantly from those reported in the fall/winter Calendar. To determine the scheduling and hours for summer session classes, consult the class schedule at central.carleton.ca
Not all courses listed are offered in a given year. For an up-to-date statement of course offerings for the current session and to determine the term of offering, consult the class schedule at central.carleton.ca