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.

As of the Fall 2012 semester, the requirements for the degree have changed. Courses that are marked with * are for students who declared the major before Fall 2012. Courses marked with + are for students who declare the major after the Summer 2012 semester.

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

  • CDA3103 Fundamentals of Computer Systems
  • CDA4101 Structured Computer Organization
  • CEN4010 Software Engineering 1
  • CGS1920 Introduction to Computing
  • CGS3095+ Technology in the Global Arena
  • CIS4911 Senior Project
  • CNT4713+ Net-centric Computing
  • COM3110* Business Professionals Communications
  • COP3337 Computer Programming 2
  • COP3530 Data Structures
  • COP4338 Computer Programming 3
  • COP4555 Principles of Programming Languages
  • COP4610 Operating Systems Principles
  • COP4710 Database Management
  • COT3541 Logic for Computer Science
  • ENC3213* Professional and Technical Writing
  • ENC3249+ Professional and Technical Writing for CS
  • COT3100¬†Discrete Structures or MAD2104¬†Discrete Math
  • MAD3512 Introduction to Theory of Algorithms
  • STA3033 Introduction to Probability and Statistics for CS

CS Elective Courses

Choose Three elective courses.

Students that declared the major before Fall 2012 choose three but Must take one math elective (marked with *).

  • CAP4104 Human Computer Interaction
  • CAP4453 Robot Vision
  • CAP4506 Intro to Game Theory
  • CAP4630 Artificial Intelligence
  • CAP4641 Natural Language Processing
  • CAP4710 Principles of Computer Graphics
  • CAP4770 Data Mining
  • CDA4625 Intro to Mobile Robotics
  • CEN4021 Software Engineering 2
  • CEN4072 Software Testing
  • CEN4083 Introduction to Cloud Computing
  • COP4226 Advanced Windows Programming
  • COP4520 Introduction to Parallel Computing
  • COP4534 Algorithm Techniques
  • COP4604 Advanced UNIX Programming
  • COP4722 Survey of Database Systems
  • COT4521¬†Computational Geometry
  • MAD3305* Graph Theory
  • MAD3401* Numerical Analysis
  • MAD4203* Introduction to Combinatorics
  • MHF4302* Mathematical Logic

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