The major in Computer Science requires successful completion of at least 44 semester hours in Computer Science. To graduate with a major in Computer Science, a student must have an earned GPA of at least 2.0 in required Computer Science and other courses presented for the major. With the exception of CMPSC 111, no course presented for the major may be taken on the Credit/No Credit grade basis.
Basic Courses (Three Courses):
CMPSC 111 - Introduction to Computer Science I
CMPSC 112 - Introduction to Computer Science II
MATH 205 - Foundations of Mathematics (see "Mathematics" section)
Core Courses (Four Courses):
CMPSC 210 - Computer Organization
CMPSC 220 - Programming Languages
CMPSC 230 - Theory of Computation and Formal Languages OR
MATH 310 - Theory of Computation and Formal Languages
CMPSC 250 - Algorithm Analysis
At least one of the following:
CMPSC 420 - Compiler Development
CMPSC 440 - Operating Systems
CMPSC 441 - Distributed Systems
Electives (Two Courses):
Computer Science electives may be chosen from courses listed in the core, applications, and advanced categories in the course listings on this page. In some cases, Special Topics courses (CMPSC 490) or independent study courses (CMPSC 590) may be used to satisfy the elective requirement.
These courses may be used as electives.
CMPSC 370 - Artificial Intelligence
CMPSC 380 - Database Systems
CMPSC 381 - Communications Networks
Mathematics Requirement (Two Courses):
Students pursuing the major in Computer Science must complete a mathematics unit consisting of two courses to be chosen from MATH 320, MATH 325, MATH 345, MATH 360, and MATH 365, or, with approval of the faculty of the Department of Computer Science, some special topics courses in mathematics (those numbered MATH 490 through MATH 499). Students who plan to pursue graduate studies in Computer Science are encouraged to also complete the calculus sequence through MATH 210.
CMPSC 580 - Junior Seminar