Computer Science

image_pdfimage_print
Faculty: Greg Gagne, Helen Hu, Kathryn Lenth, Jingsai Liang, Daniel Salinas Duron

Computer Science Courses

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 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 or

consent 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