B.S. in Computer Science (Software Design and Development Track)

There are two tracks available in the upper division program for 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 Software Design 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 (If you declared the major since August 2012)
Flowchart (If you declared the major before August 2012)
Plan of study

CS Prerequisites

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

  • COP 2210 Computer Programming 1
  • MAC 2311 Calculus 1
  • MAC 2312 Calculus 2
  • PHY 2048 Physics with Calculus 1 w/Lab
  • PHY 2049 Physics with Calculus 2 w/Lab

SDD Core Courses

  • CDA 3103 Fundamentals of Computer Systems
  • CDA 4101 Structured Computer Organization
  • CEN 4010 Software Engineering 1
  • CEN 4021 Software Engineering 2
  • CEN 4072 Software Testing
  • CGS 1920 Introduction to Computing
  • CGS 3095+ Technology in the Global Arena
  • CIS 4911 Senior Project
  • CNT 4713+ Net-centric Computing
  • COM 3110* Business Professional Communications
  • COP 3337 Computer Programming 2
  • COP 3530 Data Structures
  • COP 4338 Computer Programming 3
  • COP 4555 Principles of Programming Languages
  • COP 4610 Operating Systems Principles
  • COP 4710 Database Management
  • COT 3541 Logic for Computer Science
  • ENC 3213* Professional and Technical Writing
  • ENC 3249+ Professional and Technical Writing for CS
  • COT3100 Discrete Structures or MAD2104 Discrete Math
  • MAD 3512 Introduction to Theory of Algorithms
  • STA 3033 Introduction to Probability and Statistics for CS

SDD Elective Courses

Choose one elective course.

  • CAP 4453 Robot Vision
  • CAP4506 Intro to Game Theory
  • CAP4630 Artificial Intelligence
  • CAP4641 Natural Language Processing
  • CAP 4710 Principles of Computer Graphics
  • CAP 4770 Data Mining
  • CDA 4625 Intro to Mobile Robotics
  • CEN 4083 Introduction to Cloud Computing
  • COP 4226 Advanced Windows Programming
  • COP 4520 Introduction to Parallel Computing
  • COP 4534 Algorithm Techniques
  • COP 4604 Advanced UNIX Programming
  • COP 4722 Survey of Database Systems
  • COT 4521¬†Computational Geometry
  • MAD 3305 Graph Theory
  • MAD 3401 Numerical Analysis
  • MAD 4203 Introduction to Combinatorics
  • MHF 4302 Mathematical Logic

SSD Science Elective Courses

SSD 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:

  • BSC 1010
  • BSC 1011
  • CHM 1045
  • CHM 1046
  • GLY 1010

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.