Computer Science

image_pdfimage_print
Faculty: Dan Byrne, Greg Gagne, Helen Hu, 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. The program also serves students who wish to learn to use the computer as a tool.

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 may be applied to the elective upper division computer science requirement for the academic major. May Term courses may not be applied towards the upper division elective requirement for either the academic minor or the minor in applied computing. A student enrolled in a computer science course without the specified prerequisites may be withdrawn from the course by the instructor.

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. Lower Division Computer Science Courses 12
CMPT 201 Introduction to Computer Science (4) – offered every semester co-requisite: MATH 101 or 105
CMPT 202 Introduction to Data Structures (4) – offered every semester CMPT 201
CMPT 251 Computer Systems and Programming (4)—offered every fall CMPT 201
III. Upper Division Computer Science Courses 27
CMPT 306 Algorithms and Data Structures (4)—offered every fall CMPT 202, MATH 210
CMPT 307 Database Systems (4) – offered every fall CMPT 202
CMPT 322 Software Engineering (4) – offered every spring CMPT 202, CMPT 307
CMPT 328 Computer Architecture (4) CMPT 251
CMPT 351 Operating Systems (4) CMPT 251, 306
CMPT 352 Computer Networks (4) CMPT 202
CMPT 385 Senior Project Proposal Writing (1)—offered every fall
CMPT 390 Senior Capstone Project (2)—offered every spring CMPT 385
IV. Electives 12
Students must take an additional twelve hours of upper division
computer science coursework from the list below:
CMPT 300 Special Topics (1–4)
CMPT 301 Artificial Intelligence (4) CMPT 202
CMPT 315 Google Code Jam (1-2)
CMPT 335 Computer Security (4) CMPT 251
CMPT 355 Compilers (4) CMPT 251
CMPT 360 Computer Graphics (4) CMPT 306, MATH 201
CMPT 375 E-Commerce (4) CMPT 307
CMPT 387 Undergraduate Teaching (1) consent of program director
CMPT 401 Directed Studies (1–4) consent of program director
CMPT 440 Internship (1–4) junior/senior standing, see course description
Students may apply at most four (4) credit hours from May term courses toward the upper division elective requirement.
V. Required Courses from Other Programs 8
Choose one: MATH 201 Calculus I (4), DATA 220 Introduction to Statistics (4), or WCSAM 203 Linear Algebra (4)
MATH 210 Discrete Mathematics (4)
TOTAL HOURS FOR COMPUTER SCIENCE MAJOR 67

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 306


CMPT 328*
CMPT Elective**

Junior Year

CMPT 307
CMPT 352*
CMPT Elective**


CMPT 328*
CMPT 322
CMPT 351*
CMPT Elective**

Senior Year

CMPT 352*
CMPT 385
CMPT Elective**


CMPT 322*
CMPT 351*
CMPT 390
CMPT Elective**

* Depending on which year the course is offered.
** Must complete three electives from CMPT 300, 301, 335, 355, 360, 375, 401, 440.


Computer Science Minor

Requirement Description
Credit Hours Prerequisites
I. Required Courses 20
CMPT 201 Introduction to Computer Science (4) MATH 101 or 105
CMPT 202 Introduction to Data Structures (4) CMPT 201
CMPT 251 Computer Systems and Programming (4)—offered every fall CMPT 201
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
II. Electives 4
Additional upper division computer science coursework (4)
May Term coursework may not be applied toward this requirement.
TOTAL HOURS FOR COMPUTER SCIENCE MINOR 24

Applied Computing Minor

Requirement Description
Credit Hours Prerequisites
I. Required Courses 12
CMPT 201 Introduction to Computer Science (4) MATH 101 or 105
CMPT 202 Introduction to Data Structures (4) CMPT 201
CMPT 251 Computer Systems and Programming (4)—offered every fall CMPT 201
II. Core Courses 4
Choose one of the following:
CMPT 307 Database Systems (4) CMPT 202
CMPT 328 Computer Architecture (4) CMPT 251
CMPT 352 Computer Networks (4) CMPT 202
CMPT 355 Compilers (4) CMPT 202, 251
III. Electives 8
Additional upper division computer science coursework (8)
May term courses may not be applied towards this requirement.
TOTAL HOURS FOR APPLIED COMPUTING MINOR 24