Computer Science (B.S.) – 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 and Development track.

Flowchart (Effective January 2020)
Flowchart (If you declared the major before December 2019)
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

  • CDA3103 Fundamentals of Computer Systems
  • CDA4101 Structured Computer Organization
  • CEN4010 Software Engineering I
  • CEN4021 Software Engineering II
  • CEN4072 Software Testing
  • CGS1920 Introduction to the Computing Field
  • CGS3095 Technology in the Global Arena
  • CIS3950 Capstone I
  • CIS4951 Capstone II
  • COP3337 Computer Programming II
  • COP3530 Data Structures
  • COP4338 Systems Programming
  • COP4610 Operating Systems Principles
  • ENC3213 Professional and Technical Writing or ENC 3249 Professional and Technical Writing for CS
  • COT3100 Discrete Structures or MAD2104 Discrete Math
  • STA3033 Introduction to Probability and Statistics for CS

SDD Elective Courses

Choose one elective course from the Systems group and one elective course from the Applications group. Remaining five elective courses can come 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 Combinators
  • MHF4203 Math Logic
Systems Group
  • CAP4453 Robot Vision
  • CDA4625 Intro to Mobile Robotics
  • CEN4083 Cloud Computing
  • CEN4083 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
  • COT4408 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 II
  • CEN4072 Software Testing
  • COP4226 Advanced Windows Programming
  • COP4655 Mobile App Development

SDD Science Elective Courses

SDD 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.


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