Computer Science Major
Requirements for the Major
Required Courses
MAT 145 | Mathematical Modeling and Applied Calculus | 3 |
| OR | |
MAT 170 | Calculus-I | 3 |
| | |
MAT 200 | Discrete Mathematics | 3 |
| OR | |
MAT 300 | Foundations of Mathematics | 3 |
| | |
CSC 117 | Introduction to Computer Science | 4 |
CSC 221 | Computer Organization | 3 |
CSC 223 | Intermediate Programming and Data Structures | 4 |
CSC 300 | Software Development | 3 |
CSC 332 | Design and Analysis of Algorithms | 3 |
CSC 334 | Theoretical Foundations of Computer Science | 3 |
One foundations course selected from
CSC 341 | Principles of Programming Languages | 3 |
CSC 342 | Theory and Construction of Compilers | 3 |
CSC 343 | Operating Systems | 3 |
One major project course selected from
One applications course selected from
CSC 250 | Introduction to Networking Fundamentals | 3 |
CSC 339 | Topics 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.