Bachelor of Arts

Students must complete the Core and Electives. All Computer Science general requirements must also be met.

Core

Computer Science (17 credits)

  • CSC120 - Computer Programming I
  • CSC220 - Computer Programming II
  • CSC314 - Computer Organization and Architecture
  • CSC322 - C Programming and UNIX
  • CSC317 - Data Structures and Algorithm Analysis or
    CSC431 - Introduction to Software Engineering

Mathematics (7 credits)

  • MTH161 - Calculus I (or equivalent - MTH140 and MTH141, or MTH151, or MTH171)
  • MTH309 - Discrete Mathematics or
    MTH230 - Introduction to Abstract Mathematics

Electives

9 approved elective credits from

  • CSC115 - Python Programming for Everyone (only if taken before CSC120)
  • Any CSC2XX, CSC3XX, CSC4XX, CSC5XX
    CSC40X - Computer Science Practicum courses must be taken at the same time as their host course.
    At most one of the following
    • CSC113 - Data Science for the World
    • CSC116 - Cybersecurity: An Introduction to Security in Cyber Space
    • CSC119 - Computers and Society
    • BTE120 - Introduction to Business Technology and Programming (only as an approved substitute for CSC115)
    • BTE320 - Introduction to Programming (only as an approved substitute for CSC115)
    • BTE420 - Python Programming for Fintech (only as an approved substitute for CSC115)
    • BTE535 - Cybersecurity
    • ECE118 - Introduction to Programming (only as an approved substitute for CSC115)
    • GEG310 - Geographic Information Systems I
    • JMM341 - Web Design
    • MSC203 - Foundations of Computational Marine Science (only as an approved substitute for CSC115)
    • MSC321 - Scientific Programming for Atmospheric Sciences
    • RSM521 - Object-Oriented Programming And Agent-Based Modelling (only as an approved substitute for CSC115)
  • BIL552 - Bioinformatics Tools
  • BTE360 - Systems Analysis and Design
  • BTE465 - Web Application Development
  • BTE524 - Mobile Apps Development (cannot also take CSC330)
  • BTE565 - Mobile to Cloud: Developing Distributed Applications
  • CIM413 - Mobile Application Development
  • CIM423 - Building Virtual Worlds
  • CIM433 - Augmented Reality
  • CIM453 - Dynamic Data
  • ECE368 - Internet Computing I
  • ECE414 - Computer Organization and Design
  • ECE481 and ECE482 - Senior Project I & II (may also be used to replace any requirement for CSC410 or CSC411)
  • ECE514 - Computer Architecture
  • ECE548 - Machine Learning
  • ECE553 - Neural Networks
  • ECE570 - Network Client-Server Programming
  • ECE572 - Object-Oriented and Distributed Database
  • ECE574 - Agent Technology
  • ECE576 - Internet and Intranet Security
  • ECE577 - Data Mining
  • ECE579 - Mobile Computing
  • ECE596 - Maya Animation
  • GEG410 - Geographic Information Systems II
  • MMI504 - Audio Analysis and Synthesis
  • MMI505 - Advanced Audio Signal Processing
  • MTH320 - Introduction to Numerical Analysis
  • MTH505 - Theory of Numbers
  • MTH520 - Numerical Analysis I
  • MTH521 - Numerical Analysis II
  • MTH524 - Introduction to Probability Theory
  • MTH525 - Introduction to Mathematics Statistics
  • MTH542 - Statistical Analysis

Other courses can be approved as electives on request.

Courses Picture