Computer Science (B.S.)

There are two tracks available in the upper division program for B.S. in Computer Science. The Computer Science (CS) track should be followed by the student who intends to continue on to graduate study in computer science. The Software Design and Development (SDD) track may be followed by the student who intends to pursue a software engineering career. This section explains the requirements for the Computer Science track.

Flowchart (Admitted starting from Fall 2023 to present)
Flowchart (Admitted between Spring 2022 and Summer 2023)
Flowchart (Admitted between Fall 2019 and Fall 2021)
Flowchart (Admitted between Fall 2012 and Summer 2019)
Plan of study

CS Prerequisites

Students should have completed the following courses (or equivalent) prior to starting the B.S. in Computer Science. Only a programming course in Java will be accepted as transfer credit to satisfy COP2210.

  • COP2210 Computer Programming 1
  • MAC2311 Calculus 1
  • MAC2312 Calculus 2
Science Group 1
Choose one of the following courses with lab.
  • BSC2010 General Biology 1 w/ Lab
  • CHM1045 General Chemistry 1 w/ Lab
  • ESC1000 Intro to Earth Sciences 1 w/ Lab
  • PHY2048 Physics with Calculus 1 w/ Lab
Science Group 2
Choose one of the following courses with lab.
  • BSC2011 General Biology 2 w/ Lab
  • CHM1046 General Chemistry 2 w/ Lab
  • GEO3510 Earth Resources w/ Lab
  • GLY1010 Physical Geology w/ Lab
  • GLY3039 Environmental Geology w/ Lab
  • PHY2049 Physics with Calculus 2 w/ Lab

CS Core Courses

  • CDA3102 Computer Architecture
  • CEN4010 Software Engineering 1
  • CGS1920 Introduction to the Computing Field
  • CGS3095 Technology in the Global Arena
  • CIS3950 Capstone 1
  • CIS4951 Capstone 2
  • CNT4713 Net Centric Computing
  • COP3337 Computer Programming 2
  • COP3530 Data Structures
  • COP4338 Computer Programming 3
  • COP4555 Programming Languages
  • COP4610 Operating Systems Principles
  • COT3100 Discrete Structures or MAD2104 Discrete Math
  • ENC3249 Professional and Technical Writing
  • STA3033 Introduction to Probability and Statistics for CS

CS Electives (7 Courses)

Choose one elective course from each group and four additional remaining electives from any group.

Foundations Group
  • CAP4506 Intro to Game Theory
  • COP4534 Algorithm Techniques
  • COP4555 Programming Languages
  • COT3510 Applied Linear Structures
  • COT3541 Logic for CS
  • COT4521 Intro to Computational Geometry
  • COT4601 Fundamentals of Quantum Computing
  • MAD3301 Graph Theory
  • MAD3401 Numerical Analysis
  • MAD3512 Theory of Algorithms
  • MAD4203 Combinatorics
  • MHF4302 Math Logic
Systems Group
  • CAP4453 Robot Vision
  • CDA4625 Intro to Mobile Robotics
  • CEN4083 Cloud Computing
  • CIS4731 Fundamental Blockchain Technologies
  • CIS4203 Digital Forensics
  • CNT4713 Net Centric Computing
  • COP4520 Intro to Parallel Computing
  • COP4604 Advanced UNIX Programming
  • COP4710 Database Management
  • COP4751 Advanced Database Management
  • CTS4408 Database Administration
  • COT4431 Applied Parallel Computing
Applications Group
  • CAP4052 Game Design & Development
  • CAP4104 Human Computer Interaction
  • CAP4612 Intro to Machine Learning
  • CAP4630 Artificial Intelligence
  • CAP4641 Natural Language Processing
  • CAP4710 Computer Graphics
  • CAP4770 Intro to Data Mining
  • CAP4830 Modeling & Simulations
  • CEN4021 Software Engineering 2
  • CEN4072 Software Testing
  • COP4226 Advanced Windows Programming
  • COP4655 Mobile App Development

// Live helper chat widget begin // Live helper chat widget end