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 |