Overview

The major in Computer Science for BS students consists of a core of 23 credits of Computer Science courses, 17 credits of Mathematics courses (which may apply towards a mathematics minor), 17 credits from a chosen track, and 12-14 credits of required science and ethics courses.

Curriculum Requirements for B.S. in Computer Science and for Additional Major in Computer Science with Tracks

Core Computer Science Courses
CSC 120Computer Programming I4
CSC 220Computer Programming II4
CSC 314Computer Organization and Architecture3
CSC 317Data Structures and Algorithm Analysis3
CSC 322System Programming3
CSC 427Theory of Computing3
CSC 431Introduction to Software Engineering3
Core Mathematics Courses 1
MTH 161Calculus I (or equivalent - MTH 140 and MTH 141, MTH 151, or MTH 171)4
MTH 162Calculus II (or equivalent - MTH 172)4
MTH 210Introduction to Linear Algebra3
MTH 224Introduction to Probability and Statistics3
MTH 309Discrete Mathematics I3
Tracks
Select one of the following Tracks:17
Comprehensive Track: 2,3
Programming Languages
Introduction to Machine Learning with Applications
Principles of Computer Operating Systems
Database Systems
Computer Networks
Select a minimum of 5 credit hours of approved electives
Flexible Track: 2
Select a minimum of 17 credit hours of approved electives
Computational Science Track: 4
Computing for Scientists
Introduction to Parallel Computing
Computational Geometry
Bioinformatics Algorithms
Computer Science Project Planning
Computer Science Project Implementation
Introduction to Numerical Analysis
Numerical Linear Algebra
General Biology 5
General Biology Laboratory 5
Cryptography and Security Track: 4
Principles of Computer Operating Systems
Computer Networks
Data Security and Cryptography
Computer Science Project Planning
Computer Science Project Implementation
Survey of Modern Algebra
Theory of Numbers
Abstract Algebra I
Select a minimum of 2 credit hours of approved electives
Graphics and Games Track: 4
Introduction to Game Programming
Introduction to Computer Graphics
Introduction to Artificial Intelligence
Computer Science Project Planning
Computer Science Project Implementation
Select a minimum of 5 credit hours of approved electives 5
University Physics I for the Sciences 6
University Physics I
Data Science Track: 4
Introduction to Python for Scientists
Statistical Analysis
Introduction to Machine Learning with Applications
Computer Science Project Planning
Computer Science Project Implementation
Select a minimum of 6 credit hours of approved electives 7
Science & Ethics Requirement
An approved two semester sequence of courses with laboratory in Biology, Chemistry, Physics, or Geological Sciences8-11
PHI 115Social and Ethical Issues in Computing3
Approved Electives
Any CSC 2XX, CSC 3XX, CSC 4XX, CSC 5XX 7, 8, 9
Python Programming for Everyone 10
Information Security
Mobile to Cloud: Developing Distributed Applications
Computer Organization and Design
Computer Architecture
Machine Learning
Neural Networks
Network Client-Server Programming
Object-Oriented and Distributed Database Management Systems
Agent Technology
Internet and Intranet Security
Data Mining
Senior Project I 11
Senior Project II 11
Introduction to Numerical Analysis
Theory of Numbers
Numerical Linear Algebra
Numerical Methods in Differential Equations
Introduction to Probability
Introduction to Mathematical Statistics
Statistical Analysis
Additional Requirements for the B.S. 12
ENG 105English Composition I3
ENG 106English Composition II3
Language Requirement3-9
Arts and Humanities Cognate9
People and Society Cognate9
Electives25-16
Total Credit Hours120

Suggested Plan of Study

Plan of Study Grid
Year One
FallCredit Hours
CSC 120 Computer Programming I 4
MTH 161 Calculus I 4
ENG 105 English Composition I 3
Language Course 3
Elective 3
 Credit Hours17
Spring
CSC 220 Computer Programming II 4
MTH 162 Calculus II 4
ENG 106 English Composition II 3
Language Course 3
Elective 3
 Credit Hours17
Year Two
Fall
CSC 314 Computer Organization and Architecture 3
MTH 309 Discrete Mathematics I 3
BIL or CHM or PHY Course I 4
BIL or CHM or PHY Associated Lab I 1
Language Course 3
 Credit Hours14
Spring
CSC 322 System Programming 3
MTH 210 Introduction to Linear Algebra 3
BIL or CHM or PHY Course II 4
BIL or CHM or PHY Associated Lab Course II 1
PHI 115 Social and Ethical Issues in Computing 3
 Credit Hours14
Year Three
Fall
CSC 317 Data Structures and Algorithm Analysis 3
CSC 401 Computer Science Practicum I 1
CSC 423 Database Systems 3
MTH 224 Introduction to Probability and Statistics 3
People and Society Cognate Course 3
Writing Intensive Course 3
 Credit Hours16
Spring
CSC 424 Computer Networks 3
CSC 427 Theory of Computing 3
ENG 233 Advanced Writing for STEM 3
Arts and Humanities Cognate Course 3
People and Society Cognate Course 3
 Credit Hours15
Year Four
Fall
CSC 421 Principles of Computer Operating Systems 3
Computer Science Elective 3
CSC 405 Computer Science Seminars 1
Arts and Humanities Cognate Course 3
People and Society Cognate Course 3
 Credit Hours13
Spring
CSC 419 Programming Languages 3
CSC 431 Introduction to Software Engineering 3
Arts and Humanities Cognate Course 3
Elective 3
Elective 3
 Credit Hours15
 Total Credit Hours121

Mission

The Department's mission is to educate and perform scholarly activities in the discipline of Computer Science, in order to meet national and international demand for trained computer scientists who are capable of building the robust computation structures upon which society is becoming increasingly dependent.

Goals

Students will acquire understanding and capability for the structure and developmental processes of software systems, from the translation of domain problems to forms amenable to software solution, through the production of efficient and robust computer programs, to the supporting systems and hardware components.

Students will acquire these abilities through a combination of classroom instruction, laboratory work, independent project work, and group project work.

Graduates will be prepared to work in industries that are directly involved in the development of fundamental computing resources (e.g., Microsoft, Apple, IBM, Intel, etc.), and in industries that rely on computation in support of their core businesses (e.g., banking, transport, manufacturing, medical, etc.).

Faculty and students will engage in activities that support and achieve the development of new techniques and software that can contribute to the science, and where appropriate contribute to the teaching objectives. Examples of such activities include academic research, development of novel techniques and software products, consulting and internship activities in local industries, and maintaining awareness of cutting edge approaches to Computer Science.

Student Learning Outcomes

  • Students must be able to translate domain problems to forms amenable to software solution.
  • Students must be able to produce efficient and robust computer programs.
  • Students must be able to build and deploy a completed, integrated, and documented (Advanced Writing and Communication Skills) software solution to a domain problem.
  • Students must have understanding and competence in the mathematical foundations of Computer Science.