Academic Calendar

Computer Science (COMP)

COMP 1000  Introductory Programming: Think Like a Computer  3 cr  
(Lab required) To develop the apps we use every day, you need to understand how computers ‘think.’ In this course students will learn to mentally simulate how a computer operates and read and write simple computer programs. Students will gain an understanding of how information is stored and computations are performed. This is an excellent pathway into computer programming for those with no prior experience. May not be used to fulfill computer science requirements in a Computer Science Honours, Joint Honours, or Major program. May not be taken once in a declared Computer Science Honours, Joint Honours, or Major program. May be used as an elective if taken prior to entry.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: One of any 40S Mathematics (50%), MATH 1018, or MSKL 0100.
Attributes: Science, Recommended Intro Courses
COMP 1002  Introduction to Tools and Techniques in Computer Science 1  1.5 cr  
This is a lab-based course. Every computer scientist needs to make use of an expansive set of modern computing tools and techniques. This course provides a hands-on experiential introduction to working with the tools and techniques we use every day to design, develop, analyze, and maintain software.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: One of any 40S Mathematics (50%), MATH 1018, or MSKL 0100.
Attributes: Science
COMP 1006  Introduction to Tools and Techniques in Computer Science 2  1.5 cr  
This is a lab-based course. Every computer scientist needs to make use of an expansive set of modern computing tools and techniques. This course continues the hands-on experiential introduction to working with the tools and techniques we use every day to design, develop, analyze, and maintain software.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 1002.
Attributes: Science
COMP 1010  Introductory Computer Science 1  3 cr  
(Lab required) An introduction to computer programming using a procedural high level language. May not be held with COMP 1011, COMP 1012, or COMP 1013.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: One of any 40S Mathematics (50%), MATH 1018, or MSKL 0100.
Equiv To: COMP 1011
Mutually Exclusive: COMP 1012, COMP 1013
Attributes: Science, Recommended Intro Courses
COMP 1012  Computer Programming for Scientists and Engineers  3 cr  
(Lab required) An introduction to computer programming suitable for solving problems in science and engineering. Students will implement algorithms for numerical processing, statistical analysis and matrix operations. May not be held with COMP 1010, COMP 1011, or COMP 1013.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: One of any 40S Mathematics (50%), MATH 1018, or MSKL 0100. Pre- or corequisite: One of MATH 1230, MATH 1500, MATH 1510, or MATH 1501.
Equiv To: COMP 1013
Mutually Exclusive: COMP 1010, COMP 1011
Attributes: Science, Recommended Intro Courses
COMP 1020  Introductory Computer Science 2  3 cr  
(Lab required) More features of a procedural language, elements of programming. May not be held with COMP 1021.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: [One of COMP 1010, COMP 1011, COMP 1012, or COMP 1013] or [Computer Science 40S (75%) and (one of 40S Mathematics (50%), MATH 1018, or MSKL 0100)].
Equiv To: COMP 1021
Attributes: Science, Recommended Intro Courses
COMP 1500  Computing: Ideas and Innovation  3 cr  
An introduction to the topics of Computer Science and problem solving. Students will learn concepts in computer programming. May not be used to fulfill computer science requirements in a Computer Science Honours, Joint Honours, Major, General or Minor program. May not be taken once in a declared Computer Science Honours, Joint Honours, Major, General or Minor program. May be used as an elective if taken prior to entry.
Attributes: Science, Recommended Intro Courses
COMP 1600  Navigating Your Digital World  3 cr  
From broad technical descriptions to the social and environmental impacts of Computer Science, we analyze and critique the networks, technologies, and social factors that co-shape our world.
Mutually Exclusive: COMP 1270, COMP 1271
Attributes: Science, Recommended Intro Courses
COMP 2002  Tools and Techniques in Computer Science 1  1.5 cr  
This is a lab-based course. Every computer scientist needs to make use of an expansive set of programming tools and techniques. This course provides a hands-on experiential introduction to working with the programming tools and techniques we use every day to develop and maintain software.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 1020 or COMP 1021. COMP 1006 is recommended.
Attributes: Science
COMP 2006  Tools and Techniques in Computer Science 2  1.5 cr  
This is a lab-based course. Every computer scientist needs to make use of an expansive set of programming tools and techniques. This course continues the hands-on experiential introduction to working with the programming tools and techniques we use every day to develop and maintain software.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 2002. COMP 1006 is recommended.
Attributes: Science
COMP 2060  Special Topics in Computer Science  3 cr  
Computer Science encompasses a broad array of ideas and special topic areas. In this course students will pursue a specific introductory topic, which will vary from year to year. This course can be completed as a topics course multiple times under different titles.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: Consent of Department.
Attributes: Science
COMP 2080  Algorithms: Design and Implementation  3 cr  
Techniques for algorithm design: divide-and-conquer, greedy, dynamic programming, and randomization. Analysis of recursive algorithms through recurrence relations. The design and implementation of common algorithms such as sorting and selection. STAT 1000 or STAT 1001 or STAT 1150 is recommended.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2140 and [one of MATH 1240, MATH 1241, or the former COMP 2130].
Attributes: Science
COMP 2140  Data Structures: Analysis and Implementation  3 cr  
Introduction to the representation, implementation, and analysis of common data structures: stacks, queues, hash tables, binary and balanced trees. Algorithms for manipulating data structures will be analyzed using asymptotic notation.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 1020 or COMP 1021.
Equiv To: COMP 2061
Attributes: Science
COMP 2150  Object Orientation  3 cr  
Design and development of object-oriented software. Topics will include inheritance, polymorphism, data abstraction and encapsulation. Examples will be drawn from several programming languages. This course is intended for students admitted to the Computer Science Honours, Computer Science Major, Computer Science – Statistics Joint Honours, Computer Engineering, Data Science Major, the Applied Math with Computer Science Major, or the Statistics Honours or Major, prior to Fall 2025.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2160; and one of COMP 2140 or COMP 2061.
Attributes: Science
COMP 2160  Programming Practices  3 cr  
Introduction to issues involved in real-world computing. Topics will include memory management, debugging, compilation, performance, and good programming practices. This course is intended for students admitted to the Computer Science Honours, Computer Science Major, Computer Science – Mathematics Joint Honours, Computer Science – Physics and Astronomy Joint Honours, Computer Science – Statistics Joint Honours, Computer Engineering, Data Science Major, or the Applied Math with Computer Science Major, prior to Fall 2025.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 1020 (C+) or COMP 1021 (C+). Pre-or corequisite: COMP 2140.
Attributes: Science
COMP 2190  Introduction to Scientific Computing  3 cr  
An applied computational course introducing topics such as approximation by polynomials, solution of non-linear equations, linear systems, simulation and computational geometry. May not hold with COMP 2191.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: One of COMP 1020 or COMP 1021, or COMP 1012 or COMP 1013; and one of MATH 1230, MATH 1500, MATH 1501, MATH 1510, MATH 1520, or MATH 1690. Prerequisite or concurrent registration: One of MATH 1220, MATH 1300, MATH 1301, or MATH 1310.
Equiv To: COMP 2191
Attributes: Science
COMP 2280  Introduction to Computer Systems  3 cr  
Data representation and manipulation, machine-level representation of programs, assembly language programming, and basic computer architecture. Not available to students who have previously completed ECE 3610.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2140 and [COMP 2160 or COMP 2400] and [one of MATH 1240, MATH 1241, or the former COMP 2130].
Mutually Exclusive: ECE 3610
Attributes: Science
COMP 2400  Programming Paradigms  3 cr  
An introduction to common programming paradigms for implementing event-based systems. May not be held with COMP 2150, COMP 2160, or COMP 3060 when titled Programming Paradigms.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: [COMP 1020 or COMP 1021] and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496].
Attributes: Science
COMP 2450  Software Development 1  3 cr  
Real-world software development involves many different parts of Computer Science: software design, validation and verification, user interface design, computer security, and information management. This course introduces students to the elements of software development. May not be held with COMP 2150 or COMP 2160. COMP 1006 is recommended.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 1020 or COMP 1021.
Attributes: Science
COMP 2452  Software Development 2  3 cr  
This course provides more advanced coverage of current approaches to software design, validation and verification, human interface design, computer security, and information management. May not be held with COMP 2150.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2450 and COMP 2400.
Attributes: Science
COMP 2600  Technical Communication in Computer Science  3 cr  
This course is designed to help students become more effective and confident writers in the context of the computing profession. Students will be introduced to a broad range of written and oral presentation styles used in the computing workplace. This course is restricted to students in a Computer Science Major, Honours, or Joint Honours program. May not be held with the former COMP 3040.
Mutually Exclusive: COMP 3040
Attributes: Science
COMP 2980  Workterm 1  0 cr  
Work assignment in business, industry, or government for students registered in the Computer Science Cooperative Option. Requires submission of a written report covering the work completed during the four-month professional assignment. (Pass/Fail)
Attributes: Science
COMP 3010  Distributed Computing  3 cr  
An introduction to the development of client server and peer-to-peer systems through web applications, distributed programming models, and distributed algorithms.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: [[(COMP 2150 or COMP 2452) and COMP 2080] or [(ECE 2400 or the former ECE 3790) and ECE 3740]] and [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220, or PHYS 2496].
Attributes: Science
COMP 3020  Human-Computer Interaction 1  3 cr  
Human-computer interaction: human factors and usability, user-cantered design, prototyping, usability evaluation. A course in cognitive psychology, such as PSYC 2480 or PSYC 2481, is recommended.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: one of COMP 2150, COMP 2452, or ECE 3740.
Attributes: Science
COMP 3030  Automata Theory and Formal Languages  3 cr  
An introduction to automata theory, grammars, formal languages and their applications. Topics: finite automata, regular expressions and their properties; context-free grammars, pushdown automata and properties of context-free languages; Turing machines and their properties.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 2080.
Attributes: Science
COMP 3060  Intermediate Topics in Computer Science  3 cr  
Computer Science encompasses a broad array of ideas and special topic areas. In this course students will pursue a specific intermediate topic, which will vary from year to year. This course can be completed as a topics course multiple times under different titles.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: Consent of Department.
Attributes: Science
COMP 3170  Analysis of Algorithms and Data Structures  3 cr  
Fundamental algorithms for sorting, searching, storage management, graphs, databases and computational geometry. Correctness and analysis of those algorithms using specific data structures. An introduction to lower bounds and intractability.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2080 and [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220, or PHYS 2496].
Attributes: Science
COMP 3190  Introduction to Artificial Intelligence  3 cr  
Principles of artificial intelligence: problem solving, knowledge representation and manipulation; the application of these principles to the solution of 'hard' problems.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2140 and [one of COMP 2150, COMP 2452 or ECE 3740] and [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220 or PHYS 2496].
Attributes: Science
COMP 3290  Introduction to Compiler Construction  3 cr  
Introduction to the standard compiler phases: scanning, parsing, symbol-table management, code generation, and code optimization. The emphasis is on the simpler techniques for compiler construction such as recursive descent. COMP 2400 is recommended for Computer Engineering Students.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2140 and [COMP 2280 or ECE 3610].
Attributes: Science
COMP 3350  Software Engineering 1  3 cr  
Introduction to software engineering. Software life cycle models, system and software requirements analysis, specifications, software design, testing and maintenance, software quality.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: 6 credit hours of COMP courses at the 3000 level or ECE 3740.
Attributes: Science
COMP 3370  Computer Organization  3 cr  
Principles of computer systems architecture, organization and design. Performance, instruction sets, processors, input/output, memory hierarchies.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 2280 or ECE 3610.
Attributes: Science
COMP 3380  Databases Concepts and Usage  3 cr  
An introduction to database systems including the relational, hierarchical, network and entity-relationship models with emphasis on the relational model and SQL.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2140 and [one of COMP 2150, COMP 2452, or ECE 3740].
Attributes: Science
COMP 3430  Operating Systems  3 cr  
Operating systems, their design, implementation, and usage. COMP 2400 is recommended for Computer Engineering Students.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: [one of STAT 1150, STAT 1000, STAT 1001, STAT 2220, or PHYS 2496]; and one of [[COMP 2080 and COMP 2280] or [COMP 2140 and (ECE 2400 or the former ECE 3790) and ECE 3610]].
Mutually Exclusive: ECE 3630
Attributes: Science
COMP 3440  Programming Language Concepts  3 cr  
An introduction to major concepts involved in the design of modern programming languages. The imperative, functional, and logical families and differences between them. Facilities for high level data and control structures, modular programming, data typing, and other topics will be covered.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: one of COMP 2140 or COMP 2061.
Attributes: Science
COMP 3490  Computer Graphics 1  3 cr  
An introductory course in computer graphics including topics such as raster graphics, two and three dimensional transforms, and simple rendering.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 2140 and [(one of COMP 2150, COMP 2452, or ECE 3740) or 3 credit hours of MATH at the 2000 level] and [one of MATH 1220, MATH 1300 (B), MATH 1301 (B), MATH 1310 (B), MATH 1210 (B), or MATH 1211 (B)] and [one of MATH 1230, MATH 1500 (B), MATH 1501 (B), MATH 1510 (B), the former MATH 1520 (B), MATH 1524 (B), or MATH 1525 (B)].
Attributes: Science
COMP 3980  Workterm 2  0 cr  
Work assignment in business, industry, or government for students registered in the Computer Science Cooperative Option. Requires submission of a written report covering the work completed during the four-month professional assignment. (Pass/Fail).
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 2980 (P).
Attributes: Science
COMP 4020  Human-Computer Interaction 2  3 cr  
Advanced issues in the field of human-computer interaction. Topics will be selected from current research and development issues in the field of HCI.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3020 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496]. A course in cognitive psychology, such as PSYC 2480 or PSYC 2481, is recommended.
Attributes: Science
COMP 4050  Project Management  3 cr  
Introduction to the issues involved in managing large, complex software projects.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3350 and (COMP 2600 or the former COMP 3040 or a course that fulfills the Written English requirement).
Attributes: Science
COMP 4060  Advanced Topics in Computer Science  3 cr  
Computer Science encompasses a broad array of ideas and special topic areas. In this course students will pursue a specific topic, which will vary from year to year. This course can be completed as a topics course multiple times under different titles.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: Consent of Department.
Attributes: Science
COMP 4062  Honours Topics in Computer Science  3 cr  
Computer Science encompasses a broad array of ideas and special topic areas. In this course students will pursue a specific advanced topic, which will vary from year to year. Available to fourth-year Honours or Joint Honours Computer Science students only. This course can be completed as a topics course multiple times under different titles.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: Consent of Department.
Attributes: Science
COMP 4140  Introduction to Cryptography and Cryptosystems  3 cr  
Description and analysis of cryptographic methods used in the authentication and protection of data. Classical cryptosystems and cryptoanalysis, the Advanced Encryption Standard (AES) and Publickey cryptosystems.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: [one of COMP 3170, MATH 2170, or the former MATH 2500] and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220 or PHYS 2496].
Attributes: Science
COMP 4180  Intelligent Mobile Robotics  3 cr  
Topics include artificial intelligence, computer vision, human-robot interaction, and multi-robot systems. These abstract components are grounded in the problem of developing a team of intelligent mobile robots. All topics are covered with specific emphasis on applied problems, e.g., real-time performance. May not be held with COMP 4060 when titled "Mobile Robotics."
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3190.
Attributes: Science
COMP 4190  Artificial Intelligence  3 cr  
Reasoning with temporal knowledge; causal reasoning; plausible reasoning; nonmonotonic reasoning; abductive reasoning.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3190 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496].
Attributes: Science
COMP 4300  Computer Networks  3 cr  
This course examines the principles of computer networks, including network architectures, algorithms, protocols, and performance. May not be held with the former COMP 3720 or the former COMP 4720 or ECE 3700.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3010 and COMP 3430.
Mutually Exclusive: COMP 3720, COMP 4720, ECE 3700
Attributes: Science
COMP 4340  Graph Theory Algorithms 1  3 cr  
Spanning trees, connectivity, planar graphs, directed graphs, networks, colouring problems and tours are studied and their applications to computer science will be highlighted.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3170.
Mutually Exclusive: MATH 2070, MATH 2071, MATH 2400, MATH 3370
Attributes: Science
COMP 4350  Software Engineering 2  3 cr  
Advanced treatment of software development methods. Topics will be selected from requirements gathering, design methodologies, prototyping, software verification and validation.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3010 and COMP 3350 and COMP 3380.
Attributes: Science
COMP 4360  Machine Learning  3 cr  
Learning strategies; evaluation of learning; learning in symbolic systems; neural networks, genetic algorithms. May not be held with ECE 4450.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: [COMP 3190 and (one of STAT 1150 (B), STAT 2150, STAT 2220 (B), or PHYS 2496 (B)) and (one of MATH 1220, MATH 1300 (B), MATH 1301 (B), MATH 1210 (B), or MATH 1211 (B)) and (one of MATH 1230, MATH 1500 (B), MATH 1501 (B), MATH 1510 (B), or the former MATH 1520 (B), MATH 1524 (B), or MATH 1525 (B))] or [STAT 2400 and MATH 2740 and DATA 2010].
Mutually Exclusive: ECE 4450
Attributes: Science
COMP 4380  Database Implementation  3 cr  
Implementation of modern database systems including query modification/optimization, recovery, concurrency, integrity, and distribution.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3010 and COMP 3380 and COMP 3430.
Attributes: Science
COMP 4420  Advanced Design and Analysis of Algorithms  3 cr  
Algorithm design with emphasis on formal techniques in analysis and proof of correctness. Computational geometry, pattern matching, scheduling, numeric algorithms, probabilistic algorithms, approximation algorithms and other topics.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3170 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496].
Attributes: Science
COMP 4430  Operating Systems 2  3 cr  
Design and implementation of modern operating systems. Detailed analysis of an open source modern operating system and hands-on experience with its kernel and major components.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3430.
Attributes: Science
COMP 4490  Computer Graphics 2  3 cr  
Methods in computer graphics including topics such as representation of curves and surfaces, viewing in three dimensions, and colour models.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3490.
Attributes: Science
COMP 4510  Introduction to Parallel Computation  3 cr  
An overview of the architectures of current parallel processors and the techniques used to program them. Not to be held with ECE 4530.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3370 and COMP 3430.
Mutually Exclusive: ECE 4530
Attributes: Science
COMP 4522  Honours Project  6 cr  
A supervised research-based project on a specific area of Computer Science. Permission to take the course is given on an individual basis. Available to fourth-year Honours or Joint Honours Computer Science students only. May not be held with COMP 4560 or the former COMP 4520.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: Written permission of the department.
Attributes: Science
COMP 4550  Real-Time Systems  3 cr  
An introduction to the theory and practice of real-time systems. Topics include the design of real-time systems, scheduling, event based processing, and real-time control. This course may not be held for credit if a student has previously completed both of ECE 4240 and ECE 3760.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3430 and COMP 3370.
Mutually Exclusive: ECE 3760, ECE 4240
Attributes: Science
COMP 4560  Industrial Project  3 cr  
Students will work in teams on an industrial project. Projects are supplied by the Department. May not be held with COMP 2980, COMP 4522, the former COMP 4520, or SCI 3980.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3350 and written permission of the department.
Attributes: Science
COMP 4580  Computer Security  3 cr  
Computer security and information management. This course will examine state-of-the-art knowledge about the issues relevant to data and computer security.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3430 and COMP 3010.
Attributes: Science
COMP 4620  Professional Practice in Computer Science  3 cr  
(Lab required) Background and rationale to view Computer Science in a professional context. Examination of professional ethics, intellectual property, and privacy considerations important to Computer Scientists. May not be held with the former COMP 3620. This course is restricted to students in a Computer Science Major, Honours, or Joint Honours program.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: 6 credit hours of COMP courses at the 3000 or 4000 level and (COMP 2600 or the former COMP 3040 or a course that fulfills the Written English requirement).
Equiv To: COMP 3620
Attributes: Science
COMP 4690  Computer Systems and Architecture  3 cr  
Investigation of today's modern computer architecture and system design concepts, including requirements, specifications, and implementation. Instruction sets, instruction-level parallelism, speculative execution, multi-threaded architectures, memory hierarchy, multiprocessors, storage design and implementation, and interconnection networks.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3370.
Attributes: Science
COMP 4710  Introduction to Data Mining  3 cr  
Introduction to data mining concepts and their applications.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisites: COMP 3380 and [one of STAT 1150, STAT 2000 (B), STAT 2001 (B), STAT 2220, or PHYS 2496] or consent of department.
Attributes: Science
COMP 4740  Advanced Databases  3 cr  
Parallel, distributed, object-oriented, object-relational, and XML databases; other emerging database technologies.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3380.
Attributes: Science
COMP 4820  Bioinformatics  3 cr  
An exploration of bioinformatics problems through the lens of Computer Science. Students will discover novel data structures, algorithmic tools, and techniques used to manage, index, and analyze large amounts of data. May not be held with the former COMP 3820.
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3170.
Mutually Exclusive: COMP 3820
Attributes: Science
COMP 4980  Workterm 3  0 cr  
Work assignment in business, industry, or government for students registered in the Computer Science Cooperative Option. Requires submission of a written report covering the work completed during the four-month professional assignment. (Pass/Fail).
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 3980 (P).
Attributes: Science
COMP 4990  Workterm 4  0 cr  
Work assignment in business, industry, or government for students registered in the Computer Science Cooperative Option. Requires submission of a written report covering the work completed during the four-month professional assignment (Pass/Fail).
PR/CR: A minimum grade of C is required unless otherwise indicated.
Prerequisite: COMP 4980 (P).
Attributes: Science