Computer Science Major

Requirements for the Major

Required Courses

MAT 145Mathematical Modeling and Applied Calculus

3

OR

MAT 170Calculus-I

3

 

MAT 200Discrete Mathematics

3

OR

MAT 300Foundations of Mathematics

3

 

CSC 117Introduction to Computer Science

4

CSC 221Computer Organization

3

CSC 223Intermediate Programming and Data Structures

4

CSC 300Software Development

3

CSC 332Design and Analysis of Algorithms

3

CSC 334Theoretical Foundations of Computer Science

3

One foundations course selected from

CSC 341Principles of Programming Languages

3

CSC 342Theory and Construction of Compilers

3

CSC 343Operating Systems

3

One major project course selected from

CSC 336Software Engineering

3

CSC 410Database Systems

3

One applications course selected from

CSC 250Introduction to Networking Fundamentals

3

CSC 339Topics in Artificial Intelligence

3

Prospective majors must complete CSC 117 no later than the fall term of their sophomore year and should complete MAT 200 by the end of the sophomore year. The CSC 117 class is open to non-programmers as well as to those with some programming experience. Students are encouraged to supplement this preparation with additional courses in mathematics (especially MAT 130 and MAT 240), physics, and logic. In particular, students who plan on graduate study in computer science need to select additional courses in mathematics and science.