Computer Science (CMPT)

image_pdfimage_print
Faculty: Dan Byrne, Greg Gagne, Helen Hu

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, the minor in applied computing, and the teaching minor. A 2.8 GPA in CMPT 201, CMPT 202 and MATH 201 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
  • Liberal education distribution

Academic Major

  Credit Hours Prerequisites
Liberal Education Courses
There are no LE requirements included as part of the Computer Science major.
Requirement Description
Credit Hours Prerequisites
I. Foreign Language Requirement 8
Computer Science majors must complete eight credit hours in a single foreign language.
II. Lower Division Computer Science Courses 12
CMPT 201 Introduction to Computer Science (4)—offered every fall co-requisite: MATH 105
CMPT 202 Introduction to Data Structures (4)—offered every spring 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) CMPT 202
CMPT 322 Software Engineering (4) 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 ever fall see course description
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) Pre-requisite CMPT 306
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
MATH 201 Calculus I (LE)(4)—offered every semester MATH 142 (LE) or consent of
instructor or placement test
MATH 210 Discrete Mathematics (4)—offered every semester MATH 201 (LE)
TOTAL HOURS FOR THE ACADEMIC MAJOR 67

Recommended Plan of Study for Computer Science

Fall Semester Spring Semester
Freshman Year CMPT 201
MATH 201


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.

Academic Minor

Requirement Description
Credit Hours Prerequisites
I. Required Courses 20
CMPT 201 Introduction to Computer Science (4)—offered every fall MATH 105
CMPT 202 Introduction to Data Structures (4)—offered every spring CMPT 201
CMPT 251 Computer Systems and Programming (4)—offered every fall CMPT 201
MATH 201 Calculus I (4)—offered every semester MATH 142 (LE) or consent of
instructor or placement test
MATH 210 Discrete Mathematics (4)—offered every semester MATH 201 (LE)
II. Electives 4
Additional upper division computer science coursework (4)
May Term coursework may not be applied toward this requirement.
TOTAL HOURS FOR THE ACADEMIC MINOR 24

Minor in Applied Computing

Requirement Description
Credit Hours Prerequisites
I. Required Courses 12
CMPT 201 Introduction to Computer Science (4)—offered every fall MATH 105
CMPT 202 Introduction to Data Structures (4)—offered every spring CMPT 201
CMPT 251 Computer Systems and Programming (4)—offered every fall CMPT 201
or
CMPT 260 Computer Systems Fundamentals (4)
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
May term courses may not be applied towards this requirement.
TOTAL HOURS FOR THE MINOR IN APPLIED COMPUTING 24