The Computer Science Major
Computer Science Majors must complete a minimum of ten one-semester courses in computer science. These include seven required core courses and at least three additional upper-level (numbered 300 or above) electives. In addition, all majors must complete the equivalent of one semester of calculus. Prospective computer science majors are strongly encouraged to complete the equivalent of two semesters of calculus. Advanced placement credit may be used to count toward the ten required courses for the major.
The required computer science core consists of three introductory, two intermediate and two upper-level courses. The introductory core courses are the two semester Computer Science 131 - 132 (Techniques of Programming - Data Structures) sequence and Computer Science 135 (Discrete Structures ), a course dealing with the discrete mathematical foundations of the subject. Mathematics 243 (Algebraic Structures) may be substituted for Discrete Structures with the approval of the department chair. The intermediate core courses are Computer Science 226 (Computer Systems and Organization) and Computer Science 235 (Analysis of Algorithms), and the upper-level core courses are Computer Science 324 (Programming Languages Design and Implementation) and Computer Science 328 (Ethical Issues in Computer Science).
In addition to the core courses, majors are required to take at least three elective courses numbered above 300. We strongly recommend that students take at least one upper-level course carrying the project course designation. A project course allows students to combine skills and concepts they have previously learned during their undergraduate courses with new material in a complex implementation task. The project course is often scheduled for the last year of undergraduate study, where it can serve as a capstone for the undergraduate experience. For more information, see the college catalog.
The Computer Science Minor
The department also offers a computer science minor open to students in all majors, including mathematics. The requirements for the computer science minor include seven courses in total: Two dealing with mathematical foundations and five in computer science. Advanced placement credit may be used to count toward the required courses for the minor.
The mathematics requirements are one course in calculus and Computer Science 135 (Discrete Structures), a course dealing with the discrete mathematical foundations of the subject. Mathematics 243 (Algebraic Structures) may be substituted for Discrete Structures. To fulfill the calculus requirement, prospective computer science minors may take either Mathematics 133, 135, or use AP credit. Prospective computer science minors are encouraged to complete the equivalent of two semester of calculus.
The required computer science courses are Computer Science 131, 132 (Techniques of Programming and Data Structures) sequence, Computer Science 226 (Computer Systems and Organization), plus either two additional 300-level courses or 235 (Analysis of Algorithms) and an additional 300-level course.