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
- At most one of the following, only if taken before CSC120:
- CSC115 - Python Programming for Everyone
- BTE120 - Introduction to Business Technology and Programming
- BTE320 - Introduction to Programming
- BTE420 - Python Programming for Fintech
- ECE118 - Introduction to Programming
- MSC203 - Foundations of Computational Marine Science
- 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
- BTE535 - Cybersecurity
- GEG310 - Geographic Information Systems I
- JMM341 - Web Design
- MSC321 - Scientific Programming for Atmospheric Sciences
- 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
- ECE470 - Network Client-Server Programming
- ECE514 - Computer Architecture
- ECE548 - Machine Learning
- ECE553 - Neural Networks
- 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