Computer Science
Faculty: Greg Gagne, Helen Hu (Chair), Kathryn Lenth, Jingsai Liang
Program Goals
- To attain a system-level understanding of the computer.
- To understand the concepts and techniques of software design.
- To acquire significant project experience working both individually and in a group setting.
- To develop effective problem-solving skills.
Objectives
The Computer Science Program offers an academic major leading to the Bachelor of Science degree, as well as an academic minor and a minor in applied computing. The curriculum in computer science is designed to meet the needs of students whose ultimate objective is to pursue a career in the field or to go on to postgraduate study. Students planning to pursue postgraduate study in computer science should consider an additional math minor.
Program Requirements
Students must maintain an overall 2.5 GPA in courses required for the academic major, the academic minor, and the minor in applied computing. A 2.8 GPA in CMPT 201 and CMPT 202 is a prerequisite for enrollment in upper division courses for the academic major and minor. Computer Science major and minor requirements must be satisfied with a grade of C- or better. No more than four (4) credit hours from May term courses and two (2) credit hours from internships may be applied to the elective upper division computer science requirement for the academic major. May term courses and internship credit hours may not be applied towards the upper division elective requirement for either the academic minor or the minor in applied computing.
Students must meet the college-wide graduation requirements in addition to the Computer Science major:
- 124 total hours
- 30 upper division hours
- WCore or Honors College requirements
Computer Science Major
Requirement Description | Credit Hours | Prerequisites |
I. World Language Requirement | 8 | |
Computer Science majors must complete eight credit hours in a single world language. | ||
II. Prerequisite Programming Courses | 4 | |
Take four (4) credits: | ||
CMPT 190 Learning to Code (2) | ||
CMPT 201 Introduction to Computer Science (4) | ||
CMPT 210 Just Enough Java (2) | CMPT 190 or prior programming experience | |
Students with prior programming experience may apply any upper division CMPT coursework toward the Programming Course requirement. | ||
III. Lower Division Computer Science Courses | 8 | |
CMPT 202 Introduction to Data Structures (4) | CMPT 201 or CMPT 210 | |
CMPT 251 Computer Systems and Programming (4)—offered fall | CMPT 201 or CMPT 210 | |
IV. Upper Division Computer Science Courses | 27 | |
CMPT 306 Algorithms (4)—offered fall | CMPT 202 and MATH 210 | |
CMPT 307 Databases (4)—offered fall | CMPT 202 | |
CMPT 322 Software Engineering (4)—offered spring | CMPT 202 and CMPT 307 | |
CMPT 328 Computer Architecture (4)—offered spring | CMPT 251 | |
CMPT 351 Operating Systems (4)—offered spring | CMPT 251 and CMPT 306 | |
CMPT 352 Computer Networks (4)—offered fall | CMPT 251 or both CMPT 202 and command-line experience | |
CMPT 385 Senior Project Proposal Writing (1)—offered fall | CMPT 322 | |
CMPT 390 Senior Capstone (2)—offered spring | CMPT 385 | |
V. Electives | 12 | |
Computer Science Majors must complete twelve (12) credits of additional upper-division coursework in CMPT. Students may apply at most four (4) credits of May term hours and at most two (2) credits of internship hours toward the upper division elective requirement. | ||
VI. Required Courses from Other Programs | 8 | |
MATH 210 Discrete Mathematics (4) | ||
Choose one: MATH 201 Calculus I (4), DATA 220 Introduction to Statistics (4), or WCSAM 203 Linear Algebra (4) | ||
TOTAL HOURS FOR COMPUTER SCIENCE MAJOR | 67 |
Double dipping is allowed for courses listed in Section VI.
Recommended Plan of Study for Computer Science
Fall Semester | Spring Semester | |
Freshman Year | CMPT 201 MATH 201/DATA 220/WCSAM 203 |
CMPT 202 MATH 210 |
Sophomore Year | CMPT 251 CMPT 307 |
CMPT 328 CMPT Elective* |
Junior Year | CMPT 306 CMPT Elective* |
CMPT 322 CMPT Elective* |
Senior Year | CMPT 352 CMPT 385 CMPT Elective* |
CMPT 351 CMPT 390 CMPT Elective* |
* Must complete three electives.
Computer Science Minor
Requirement Description | Credit Hours | Prerequisites |
I. Prerequisite Programming Courses | 4 | |
Take four (4) credits: | ||
CMPT 190 Learning to Code (2) | ||
CMPT 201 Introduction to Computer Science (4) | ||
CMPT 210 Just Enough Java (2)—offered fall | CMPT 190 or prior programming experience | |
Students with prior programming experience may apply any upper division CMPT coursework toward the Programming Course requirement. | ||
II. Required Courses | 16 | |
CMPT 202 Introduction to Data Structures (4) | CMPT 201 or CMPT 210 | |
CMPT 251 Computer Systems and Programming (4)—offered fall | CMPT 201 or CMPT 210 | |
MATH 201 Calculus I (4)—offered every semester | MATH 144 orconsent of instructor or placement test | |
MATH 210 Discrete Mathematics (4)—offered every semester | ||
III. Electives | 4 | |
Additional upper division computer science coursework (4)May term courses and internship hours may not be applied toward this requirement. | ||
TOTAL HOURS FOR COMPUTER SCIENCE MINOR | 24 |
Applied Computing Minor
Requirement Description | Credit Hours | Prerequisites |
I. Prerequisite Programming Courses | 4 | |
Take four (4) credits: | ||
CMPT 190 Learning to Code (2) | ||
CMPT 201 Introduction to Computer Science (4) | ||
CMPT 210 Just Enough Java (2) – offered fall | CMPT 190 or prior programming experience | |
Students with prior programming experience may apply any upper division CMPT coursework toward the Programming Course requirement. | ||
II. Required Courses | 8 | |
CMPT 202 Introduction to Data Structures (4) | CMPT 201 or CMPT 210 | |
CMPT 251 Computer Systems and Programming (4) -- offered fall | CMPT 201 or CMPT 210 | |
III. Core Courses | 4 | |
Choose one of the following: | ||
CMPT 307 Databases (4)—offered fall | CMPT 202 | |
CMPT 328 Computer Architecture (4)—offered spring | CMPT 251 | |
CMPT 352 Computer Networks (4)—offered fall | CMPT 251 or both CMPT 202 and command-line experience | |
CMPT 355 Compilers (4) | CMPT 202 and CMPT 251 | |
IV. Electives | 8 | |
Additional upper division computer science coursework (8) May term courses and internship hours may not be applied towards this requirement. |
||
TOTAL HOURS FOR APPLIED COMPUTING MINOR | 24 |