Computer Science Major & Minor
Computer science is the systematic study of computational systems and computability. It includes theories for understanding the analysis, design, implementation, validation, and verification of solutions to complex problems, and for the elicitation, representation, manipulation and visualization of knowledge. More simply put, computer scientists learn to understand what a computer can and cannot do, how computers can efficiently perform specific tasks, how computers can store and retrieve specific types of information, how computers can most effectively organize and display information, and how computers can appear to behave intelligently. Building on the core ideas of a liberal education, the computer science major combines theory with practical experiences to develop skills in problem-solving, programming, communication, and collaboration in order to help students realize their potential to assume leadership roles in an increasingly technical world. Computer science majors can prepare for careers in research, development, and teaching by pursuing graduate degrees, or they can apply their skills in virtually any industry, from business to biochemistry, and from education to entertainment.
Learning Objectives
The computer science major expects its graduates to achieve the following objectives:
- Software Development: Ability to formulate and express software solutions to complex problems in programming languages, including the selection of appropriate data structures, efficient algorithm design, and development of system architectures.
- Software Analysis: Ability to apply mathematical tools such as mathematical logic, algorithmic analysis, models of computation and computability theory to problem analysis.
- Software Engineering: Ability to follow a structured engineering process in the development of software including analyzing a problem, planning the development process, designing a solution, implementing the solution and validating the final product.
- Communication: Ability to communicate both orally and in writing and to work effectively as part of a team.
Program Coordinator: Michael Griffiths
Major Requirements (35 credit hours)
Major Core (20 credit hours):
- CSC 120 Programming Fundamentals (GE) (3)
- CSC 220 Data Structures & Algorithms (3)
- MAT 332 Discrete Mathematics (3)
- CSC 230 Computer Organization (3)
- CSC 240 Theory of Computation (3)
- CSC 250 Software Engineering (3)
- CSC 498 Senior Capstone (2)
Major Electives I: 9-15 credit hours from among the following:
- CSC 210 Advanced Web Authoring (3)
- CSC 330 Operating Systems (3)
- CSC 332 Networking Systems (3)
- CSC 334 Programming Languages (3)
- CSC 340 Artificial Intelligence (3)
- CSC 342 Cyber Security (3)
- CSC 350 Database Systems (3)
- CSC 352 Platform Development (3)
Major Electives II: 0-6 credit hours from among the following:
- CSC 110 Authoring for the Web (3)
- CSC 375R Topics in Computer Science (3)
- CSC 385R Directed Study in Computer Science (3)
- MAT 221 Statistics (GE) (3)
- MAT 242 Calculus II (GE) (3)
- MAT 341 Calculus III (3)
- MAT 343 Linear Algebra (3)
- PHI 223 Introduction to Logic (3)
- PHI 325R Intermediate Logic (3)
Download the Computer Science Major Checklist
Minor Requirements (18 credit hours)
Minor Core (15 credit hours):
- CSC 120 Programming Fundamentals (GE) (3)
- CSC 220 Data Structures & Algorithms (3)
- CSC 222 Discrete Mathematics (3)
- CSC 230 Computer Organization (3)
- CSC 240 Theory of Computation (3)
Minor Electives: 3 credit hours from among the following:
- CSC 330 Operating Systems (3)
- CSC 332 Networking Systems (3)
- CSC 334 Programming Languages (3)
- CSC 340 Artificial Intelligence (3)
- CSC 342 Cyber Security (3)
- CSC 350 Database Systems (3)
- CSC 352 Platform Development (3)
Download the Computer Science Minor Checklist
Computer Science: Software Engineering Minor Requirements (18 credit hours)
Minor Core (15 credit hours):
- CSC 120 Programming Fundamentals (GE) (3)
- CSC 220 Data Structures & Algorithms (3)
- CSC 250 Software Engineering (3)
- CSC 342 Cyber Security (3)
- CSC 350 Database Systems (3)
Minor Electives: 3 credit hours from among the following:
- CSC 330 Operating Systems (3)
- CSC 332 Networking Systems (3)
- CSC 334 Programming Languages (3)
- CSC 340 Artificial Intelligence (3)
- CSC 352 Platform Development (3)
Download the Computer Science: Software Engineering Minor Checklist