The Computer Science Curriculum
The computer science curriculum is a 4-year program and has been developed to give students a broad computer science education. The curriculum allows students to take several technical electives to gain an emphasis in an area of computer science. Electives currently offered include: Game Programming, Network Security, Software Architecture, Computer Networks, Human Factors and User Interfaces, and Special Topics (typically machine learning- or AI-related).
The first year establishes a mathematics, problem solving and algorithm development foundation (calculus, elementary logic and computer programming). The sophomore and junior years concentrate on the core of computer science (data structures, digital systems, computer architecture, theory of computation and compiler construction). Mathematical foundations are completed, as well as preparation in writing and communication (technical writing in engineering).
The senior year provides an opportunity for the student to put into practice the theory established in their sophomore and junior years through a capstone design experience (Senior Design I and II).
Preparation for the Major
High school preparation for the bachelor's degree in computer science should emphasize math and computer related courses. We require that students own a personal/laptop computer when they begin their coursework, since most classes require a computer for coursework. See the laptop requirements.
Making the Grade
A student must maintain a cumulative grade point average (CGPA) of 2.0 or better throughout the program. Computer science majors are required to earn at least a "C" in all computer science courses, and a high level of understanding is essential to continue taking courses in the sequence. We encourage you to talk to your adviser to determine whether or not you should retake any course. All courses taken appear on the student's academic record, but when a course is repeated, only the most recent grade is calculated into the cumulative GPA.