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 (Effective January 2020)
Flowchart (Major declared before December 2019)
Flowchart(Major declared before August 2012)
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
  • PHY2048 Physics with Calculus 1 w/Lab
  • PHY2049 Physics with Calculus 2 w/Lab

CS Core Courses

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

CS Elective Courses

Choose one elective course from each group. Choose three 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
  • 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
  • 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 1
  • CEN4072 Software Testing
  • COP4226 Advanced Windows Programming
  • COP4655 Mobile App Development

CS Science Elective Courses

CS students are required to take two additional one-semester courses in science for science majors with strong emphasis on quantitative methods

Acceptable lower division courses:

  • BSC2010
  • BSC2011
  • CHM1045
  • CHM1046
  • GLY1010

Acceptable upper division courses:
Upper division courses that have at least one of the acceptable lower division courses or PHY2048 or PHY2049 as a prerequisite. Students can find available upper division courses in Biology, Chemistry, Earth Sciences, Physics with prefixes of AST, BOT, GLY, MET, OCB, PCB, PHY, ZOO.

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