Computer Science Major

The computer science major and minor provide the opportunity to explore the theoretical and scientific aspects of computing. The program provides preparation both for employment and for graduate programs in computing. Computer science is mathematically rigorous and spans the range from theory through programming to cutting-edge development of computing solutions. The computer science major, or degree program, is broad, rigorous and structured in a way that supports in-depth and systematic study of algorithmic processes—their theory, analysis, design, efficiency, implementation and application. It trains students to think creatively and logically to solve large and complex problems and to communicate with clarity and precision. It sets the stage for graduate study or immediate employment in a wide variety of careers in scientific research, industry, business and government and is an attractive major for the incoming freshman and also for the continuing student who is considering a new field of study. It is the ideal major for the student who is passionate about developing the ability to:

  • find elegant solutions to problems and puzzles;
  • use mathematical analysis and logical rigor to evaluate such solutions;
  • model complex problems through the use of abstractions, attention to details and hidden assumptions;
  • recognize variants of the same problem in different settings;
  • retarget known efficient solutions to problems in new settings;
  • adapt to new technologies and new ideas; and
  • devise new and better ways of using computers to address particular challenges.

The computer science minor introduces the concepts of data organization and software construction and gives the student a basis to continue further study. The minor is a good partner for any of the majors offered in the Raymond B. Jones College of Engineering as well as several majors in the College of Liberal Arts and Sciences.

B.S. degree program with embedded math minor, total hours 131-134

General Education courses required — 38 hours Hours
EC 2413 Principles of Microeconomics 3
BI 4213 Biblical Ethics 3
Mathematics and physical science requirements satisfied by the major
Specific courses required — 84-86 hours Hours
CS 1122 Introduction to Computer Science 2
CS 1213 Introduction to Computer Programming 3
CS 1233 Object-Oriented System Design and Programming 3
CS 2223 Mathematical Structures for Computer Science 3
CS 2233 Data Structures and Algorithms  3
CS 2243 Database Management Systems 3
CS 2252 Competition Programming  2
CS 2323 Computer Organization 3
CS 3233 Computer Graphics 3
CS 3433 Numerical Methods 3
CS 3523 Operating Systems 3
CS 3623 Design and Analysis of Algorithms 3
CS 3713 Comparative Programming Languages 3
CS 4053 Senior Seminar in Computer Science 3
CS 4223 Compiler Construction 3
CS 4413 Fundamentals of Automata and Formal Language Theory 3
CS 4453 Artificial Intelligence 3
CCT 395V* Internship 1-3
SEC 3113 Fundamentals of Information Security 3
IT 2223 Web Application Development I 3
IT 3313 Network Principles 3
MA 1314 Calculus I 4
MA 2314 Calculus II 4
MA 3123 Mathematical Theory of Statistics 3
MA 3213 Linear Algebra 3
PH 2414 General Physics I (with lab) 4
PH 2424 General Physics II (with lab) 4
SENG 3223 Principles of Software Engineering 3

Concentration Areas (choose one concentration area) — 9-10 hours

Computer Networking Hours
IT 3323 Wireless Networks and Mobile Systems 3
IT 4323 Modern Telecommunications 3
SEC 3323 Cryptography 3
Computer Systems Hours
CS 3333 Mobile and Distributed Computing Systems 3
EECE 3813 Digital Computer Design I 3
EECE 4254 Microprocessors 4
Computer Theory Hours
CS 4423 Computability and Complexity Theory 3
CS 4433 Algorithmic Graph Theory 3
CS 4443 Database Theory and Applications 3
Database Security Hours
SEC 3313 Introduction to Policy and Procedures 3
SEC 3323 Cryptography 3
SEC 4313 Database Security 3
Database Systems and Security Hours
CS  4443 Database Theory and Applications 3
SEC 3323 Cryptography 3
SEC 4313 Database Security 3
Game Development Hours
GD 3253 Game Development I 3
GD 3263 Game Development II 3
GD 3273 Collaborative Serious Games Development 3
Mobile Development Hours
CS 3243 Mobile Device Programming 3
CS 3333 Mobile and Distributed Computing Systems 3
CS 4013 Future Mobile and Social Computing Systems 3
Network Security Hours
SEC 3323 Cryptography 3
SEC 4323 Network Security 3
IT 3323 Wireless Networks and Mobile Systems 3
Software Engineering Hours
SENG 4113 Software Architecture and Design 3
SENG 4123 Software Testing and Verification 3
SENG 4323 Agile Software Development 3

Note: A pure mathematics minor is automatically satisfied by the computer science major.
*CCI 395V has variable credit (1-3 hours)