This website stores cookies on your computer. These cookies are used to collect information about how you interact with our website and allow us to remember your browser. We use this information to improve and customize your browsing experience, for analytics and metrics about our visitors both on this website and other media, and for marketing purposes. By using this website, you accept and agree to be bound by UVic’s Terms of Use for web and social media privacy.  If you do not agree to the above, you can configure your browser’s setting to “do not track.”

Skip to main content

Registration

Our 200-, 300-, and 400-level CSC and SENG courses are for Computer Science or Software Engineering majors only.

You can apply to take one of our courses if you’re in another program or taking a minor in Computer Science, Software Development or Data Science. We’ll let you know our decision 2 weeks before the start of the term.

What to take in your first year

If you're thinking about completing a degree in Computer Science, think about taking these courses in your first year. You don't need to be in the Faculty of Engineering to register for them, but you must meet the prerequisites.

First term on campus

Second term on campus

  • CSC 115 – 1.5 units (requires CSC 110)
  • MATH 101 – 1.5 units (requires MATH 100 or 109)
  • MATH 122 – 1.5 units (requires MATH 100 or 109)
  • Electives – 3.0 units

Senior electives

For a major in Computer Science, you need 4 electives at the 300- or 400-level. You can take any 300- or 400-level courses as long as you have the prerequisites.

Regular courses

Not all courses are offered every term. Additional SENG courses may be offered by the Department of Electrical and Computer Engineering (ECE).

Find past course outlines on the course outline website.

Course Fall 2026 Spring 2027
CSC100 - Elementary Computing No No
CSC105 - Computers and Information Processing Yes Yes
CSC106
The Practice of Computer Science
No No
CSC110
Fundamentals of Programming I
Yes Yes
CSC115
Fundamentals of Programming II
Yes Yes
CSC120
Society, Ethics, Professionalism and Computing
No Yes
CSC130
World Wide Web and Mobile Applications
No No
CSC167
Game Strategy, Interaction and Design
No No
CSC225
Algorithms and Data Structures I
Yes Yes
CSC226
Algorithms and Data Structures II
Yes Yes
CSC230
Introduction To Computer Architecture
Yes Yes
CSC305
Introduction To Computer Graphics
Yes Yes
CSC320
Foundations of Computer Science
Yes Yes
CSC321
Introduction To Artificial Intelligence
Yes Yes
CSC330
Programming Languages
Yes Yes
CSC349A
Numerical Analysis
Yes Yes
CSC350
Computer Architecture
No No
CSC355
Digital Logic and Computer Organization
No Yes
CSC360
Operating Systems
Yes Yes
CSC361
Computer Communications and Networks
Yes Yes
CSC370
Database Systems
Yes Yes
CSC371
Data Management and Visualization
No No
CSC375
Introduction To Systems Analysis
Yes No
CSC402
Systems for Massive Datasets
No Yes
CSC411
Information Visualization
No Yes
CSC412
Computing for Cognitive Augmentation
No No
CSC413
Designing Creativity Support Tools
No No
CSC423
Randomized Algorithms
Yes No
CSC424
Computational Complexity
No No
CSC425
Analysis of Algorithms
No No
CSC426
Computational Geometry
No No
CSC427
Advanced Topics in Bioinformatics
No Yes
CSC428A
Combinatorial Algorithms
No No
CSC429
Cryptography
No Yes
CSC431
Machine Learning Theory
No Yes
CSC432
Logic and Programming
Yes No
CSC435
Compiler Construction
No No
CSC445
Operations Research: Linear Programming
No No
CSC446
Simulations in Operations Research
Yes No
CSC449
Numerical Linear Algebra
No Yes
CSC460
Design and Analysis of Real-Time Systems
No No
CSC461
Multimedia Systems
No No
CSC462
Distributed Computing
No No
CSC463
Wireless and Mobile Networks
No No
CSC464
Concurrency
No No
CSC466
Overlay and Peer-To-Peer Networking
Yes No
CSC467
Switching, Network Traffic and Quality of Service
No No
CSC472
Fundamentals of Computer Modeling
No No
CSC473
Fundamentals of Computer Animation
No No
CSC475
Music Retrieval Techniques
Yes No
SENG265
Software Development Methods
Yes Yes
SENG275
Software Testing
No Yes
SENG310
Human Computer Interaction
Yes Yes
SENG321
Requirements Engineering
Yes Yes
SENG330
Object-Oriented Software Development
No No
SENG350
Software Architecture and Design
Yes No
SENG360
Security Engineering
Yes No
SENG365
Software Systems Development
Yes No
SENG371
Software Evolution
No  Yes
SENG401
Social and Professional Issues
No Yes
SENG404
Data Science for Software Engineering
No No
SENG411
Advanced Methods for Human Computer Interaction
No No
SENG421
Global Software Engineering
No No
SENG435
Computer-Supported Collaborative Work
No No
SENG455
Startup Studio
Yes No
SENG457
Quantum Algorithms and Software Engineering
No Yes
SENG474
Data Mining
Yes Yes
SENG477
Safety and Assurance
No Yes