Major in Computer Science


Incorporating the All University Core Curriculum

(Applies to all new Freshmen Starting Fall 2017)

The undergraduate curriculum provides students with a background in the basic sciences, and the theory, architecture, and application of computers within the context of a liberal education. Computer Science is the study of step-by-step computational methods for solving problems by encoding, storing, tracking and transforming information. It involves the creation of fundamental software (sets of computer instructions) for solving practical and theoretical problems and performing tasks that lend themselves to computational solutions. It extends to the construction of software that learns and adapts to circumstances in the course of solving problems and also ways to enable computers to learn and adapt.

There is much leeway for students in their junior and senior years in computer science to choose a course of study tailored to their interests. Opportunities exist to pursue independent research projects under faculty supervision. Students are encouraged to begin such research early in their upper division studies.

Note: The Computer Science Major is a Controlled Major, meaning that students must meet certain criteria in order to change to Computer Science as a Major. The criteria that must be met are as follows:

For major changes from another CSU major: students must pass CS163 or 164 with a C or better; pass MATH160 with a C or better; and have a minimum 2.5 overall CSU gpa.

For transfer students from outside CSU, or second BS students, a 2.5 gpa, and having passed the equivalent of MATH160 with a C or better, and have taken a computer programming course passed with a C or better.


Notes:

Recommended Sequence of Courses*

120 credits required for graduation

Freshman Year:
Sophomore Year:
Course
Credits
Course
Credits
CO150
3
CS220
4
2
CS270
4
CS163 or CS164
4
CS253
4
CS165
4
CS370
3
MATH160
4
Historical Perspectives
3
MATH161
4
Global and Cultural Awareness
3
Natural Sciences
5
Natural Sciences
7
Social/Behavioral Sciences
3
MATH229 or 369
2-3
Total Credits
29
Total Credits
30-31

Junior Year:
Senior Year:
Course
Credits
Course
Credits
STAT301 or 315
3
Four Group I courses
16
CS314
3
One Group II course
3
CS320
3

CS356
3
Arts and Humanities
6
Electives
15-14
Two Group II courses
6
Additional Communications
3
Total Credits
30-29
Total Credits
31

The 15 semester credits of free electives in this program should be viewed by the student as an opportunity to tailor a program to specific educational objectives. By wise choice of electives, a student may be able to begin a second major, obtain a minor in a supporting area, or achieve a broad, liberal education.


Course Requirements for a B.S. Degree in Computer Science

All-University Core Curriculum
1. Basic Competencies (AUCC):
A. CO150 College Composition*
3
B. MATH160 Calculus for Physical Scientists I
4
2. Core Competencies (AUCC):
A. Additional Communications
3
3. Foundations and Perspectives (AUCC):
A. Natural Sciences
12
B. Arts and Humanities
6
C. Social/Behavioral Sciences
3
D. Historical Perspectives
3
E. Global and Cultural Awareness
3
4. Depth and Integration (AUCC):*
Group I (Advanced Computer Science courses):
Group I courses meet AUCC cat. 4A and 4C [Using Competencies and Capstone]
A. Choose one of: CS410, CS414, CS435, CS440, CS454, CS455, CS464, CS475
4
B. Choose three
additional courses from:
CS410, CS414, CS420, CS430, CS440,
CS451, CS453, CS454, CS455, CS457, CS464, CS470, CS475
12
Group II (CS related outside courses [see list])
Group II courses meet AUCC cat. 4B [Building on Foundations and Perspectives]
9
Total Credits
62

Core Computer Science Courses:*
CS163 or 164 Java (CS1)
4
CS165 Java (CS2) Data Structures and Algorithms
4
CS192 First-Year Seminar
2
CS220 Discrete Structures/Applications
4
CS253 Problem Solving with C++
4
CS270 Computer Organization
4
CS320 Algorithms-Theory and Practice
3
CS314 Software Engineering
3
CS370 Operating Systems
3
CS356 System Security
3
Total Credits
34

Additional Math and Stats:*
MATH229 or MATH369 Linear Equations
2-3
MATH161 Calculus for Physical Scientists II
4
STAT301 or 315 Statistics
3
Total Credits
9-10

Free Electives:
Additional credits to make a total of 120 credits; 2 hrs of elective must be numbered 300 or above.
Total Credits
15

TOTAL FOR DEGREE: 120 credits

NOTE: 30 hours of the required 42 upper division credits must be earned at CSU.


All-University Core Curriculum

See officially approved course lists for latest changes.

I. A. Written Communications: CO150
I. B. Mathematics: satisfied in CS by MATH160.
II. A. Additional Communications: CO300, CO301, CO302, JTC300.
III. A. Biological and Physical Sciences:
A minimum of seven (7) credits from two different Departments selected only from the "A" list immediately following (at least one course must have a laboratory component [marked with an "L" below]):

BZ120 (L) Principles of Plant Biology
LIFE102 (L) Attributes of Living Systems
CHEM111 (CHEM112 L) General Chemistry I
CHEM107 (CHEM108 L) Fundamentals of Chemistry
GEOL120 (GEOL121 L) Exploring Earth: Physical Geology
PH141 (L) Physics for Scientists and Engineers I
BZ110 (BZ111 L) Principles of Animal Biology
In addition students must also take enough additional science credit to equal 12 total science credits. The additional hours may be taken from the list above or the following "B" list:
AA301 Astrophysics I
ATS350 (ATS351 L) Introduction to Weather and Climate
CHEM113 (CHEM114 L) General Chemistry II
BZ220 Introduction to Evolution
CIVE260 (L) Engineering Mechanics: Statics
GEOL154 (L) Historical and Analytical Geology
PH142 (L) Physics for Scientists and Engineers II
LIFE201 (LIFE203 L) Introductory Genetics
PSY352 Psychology of Learning
SOCR330 (SOCR331 L) Genetics

III. B. Arts and Humanities: Select two of ART100, D110, E140, E232, E242, E270, E276, E277, ETST240, HONR392, L***200, L***201, L***250, MU100, MU111, MU131, PHIL100, PHIL103, PHIL110, PHIL120, SPCM100, SPCM201, THCC141 (6 semester hours). Note: no more than 3 credits of foreign language instruction (L200, L201, L300) may count in this category ( ***Note: language courses separated into different subject codes based on language (i.e., LFRE is French, LGER is German).
III. C. Social/Behavioral Sciences: Choose one of ANTH100, AREC202, AREC240, ECON101, ECON202, ECON204, ECON212, ECON240, EDUC275, GR100, HDFS101, HONR492, JTC100, POLS101, POLS103, PSY100, SOC100, SOC105, SOWK110 (3 semester hours).
III. D. Historical Perspectives: Choose one course from: AMST100, AMST101, ANTH140, ETST250, ETST252, ETST255, HIST100, HIST101, HIST115, HIST120, HIST121, HIST150, HIST151, HIST170, HIST171, HIST250, HIST252, HIST255, NR320 (3 semester hours).
III E. Global and Cultural Values: Select one of AGRI116, AGRI270, AM250, ANTH200, ECON211, E238, E245, ECON211, ETST100, ETST205, ETST253, ETST256, HORT171, IE116, IE270, IE370, LBCC170, LBCC171, PHIL170, POLS131, POLS232, POLS241, SA482, SOC205, SOCR171 (3 semester hours).
A minimum of seven (7) credits from two different Departments selected only from the "A" list immediately following (at least one course must have a laboratory component [marked with an "L" below]):

Approved List of Group I Courses

(Advanced Computer Science – meets “Using Competencies” and
“Capstone” requirements under AUCC [categories 4A&4C])

Choose four courses including at least one marked (A).

Course Course
CS410 (A) CS445
CS414 (A) CS453 (A)
CS420 CS455 (A)
CS425 CS457
CS430 CS464 (A)
CS440 (A) CS470
CS435 (A) CS475 (A)


Approved List of Group II Courses

(Supporting Courses – meets “Building Foundations”
requirement under AUCC [category 4B])

Choose three courses, 9 total hours minimum.

Course Course Course Course

CIS350

CIS355

CIS360

CIS410

CIS413

CIS460

CIS462

E320

ECE312

ECE311

ECE325

ECE331

ECE332

ECE411

ECE412

ECE421

ECE422

ECE451

JTC372

JTC413

MATH301

MATH317

MATH331

MATH332

MATH335

MATH340

MATH345

MATH360

MATH366

MATH369

MATH405

MATH417

MATH435

MATH418

MATH430

MATH435

MATH450

MATH451

MATH460

MATH466

MATH467

MATH469

MATH470

MATH472

MATH474

MECH307

NR322

NR323

NR422

NR423

PH314

PH315

PH325

PH341

PH351

PH361

PH451

PH451

PHIL305F

PHIL410

PHIL415

PSY354

PSY452

PSY456

STAT305

STAT340

STAT341

STAT342

STAT350

STAT372

STAT400

STAT420

STAT430

STAT440

STAT460

Notes

500 level courses in a specific category (e. g., Group I or Group II) may be substituted in that category with prior approval from the key advisor. Since both categories meet a Cat. IV requirement under the AUCC, a University petition is necessary to count such courses. Go to http://core.colostate.edu for petition form and procedures ("Substitution for a core course").

Computer Science majors need not take the 100 and 200 CIS prerequisites for CIS group II courses, though they are required to have completed CS200 and CS270. Contact the Business Advising Office in Rockwell Hall for overrides.

Computer Science majors need not take the EG101 or CIVE261 prerequisites for EE group II courses.

The preferred order for taking ST350 and ST340 is to take ST340 first.

The courses from Computer Science Group I and Group II should be selected carefully with concurrence of your advisor. Plan your upper division schedule as an integrated program.


*This is merely a recommended or suggested pattern of courses. It is not required that this pattern be followed.

*A grade of C or better is required in these courses. If you receive a C- or less you will have to repeat the requirement, and will not be able to use the course as a prerequisite.