Bachelor of Science Degree Requirements

Note: The curriculum below is effective Fall 2010 for any incoming Computer Science student. Current students may consider switching to this curriculum as well. See your advisor.

Computer Science Courses:

The first six (core) courses, which are taken in the freshman and sophomore years, lay a strong foundation for computer science majors. Each student then selects a Track in which to complete 6 advanced courses. Each Track has 2-3 Required Courses and a list of potential electives. A student may complete more than one Track if desired.

The flexibility of the Computer Science curriculum comes from requiring only six foundational (core) courses followed by one or more Tracks, which allow students to deepen their understanding in a specific area of computer science. Some intersection between tracks allows specialization in multiple areas, for example, Systems Programming and Software Engineering.

All beginning computer science majors are strongly urged to take CS 19100, Freshman Resources Seminar. This is a 1 credit course Computer Science students generally take their first semester. Students are equally encouraged to take CS 29100, Sophomore Development Seminar, and CS 39100, Junior Resource Seminar.

Core requirements (21 Credits): All CS core courses and all track requirements, regardless of department, must be completed with a grade of C or higher (effective Fall 2011).

Course Title Credits Semester
CS 18000 Problem Solving and Object-Oriented Programming 4 1
CS 18200 Foundations of Computer Science 3 2
CS 24000 Programming in C 3 2
CS 25000 Computer Architecture 4 3-4
CS 25100 Data Structures and Algorithms 3 3-4
CS 25200 Systems Programming 4 4

Tracks:

To view course details for all tracks at the same time, click Computer Science Track Details.

cseComputational Science and Engineering Track: Introduce computer science basics of Computational Science and Engineering

 


cgvComputer Graphics and Visualization Track: Prepare students for work and/or for graduate school in computer graphics, visualization, and related areas

 


databaseDatabase and Information Systems Track: Designed to prepare students to become computer scientists who understand and can apply the principles and techniques of database design, algorithms for information retrieval, their strengths and limitations, and tools for the design of databases and information systems.

 


fcsFoundations of Computer Science Track: Give students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science

 

 

fcsMachine Intelligence Track: Prepare students to understand, and effectively apply in practice, the principles and techniques of data and knowledge representation, search, as well as learning and reasoning with data.

 


plProgramming Language Track: Prepare students to work in fields related to program understanding, analysis, manipulation and transformation.

 


securitySecurity Track: Prepare students to design and develop secure software and assess systems for secure operation.

 


sofengrSoftware Engineering Track: Prepare students to design and develop large software products, be familiar with analysis, design, testing, and maintenance, and work in teams.

 


systemsSystems Programming Track: Prepare students to build low-level operating system software, system tools, and programs that communicate over a network.

 



Mathematics Courses: 7-8 credits

In addition to the College of Science degree requirements, students must complete the third level of calculus (MA 26100, MA 17400, MA 18200, or MA 27100) and a course in linear algebra (MA 26500 or MA 35100)..

Course Title Credits Semester
MA 26100,
MA 17400
,
MA 18200
or
MA 27100
Multivariate Calculus,
Multivariable Calculus,
Honors Calculus II
or
Several Variable Calculus
4-5 1-3
MA 26500
or
MA 35100
Linear Algebra
or
Elementary Linear Algebra
3 1-3


College of Science Requirement Restrictions

Teambuilding and Collaboration
Module No departmental restrictions
Experience (OR Approved Combination)

 

Lab Science (Sequence) No departmental restrictions

 

Mathematics/Statistics/Computer Science
MA 16100, 16500
MA 16200, 16600, 17300, 18100
STAT 35000, 51100
CS 17700, 18000

 

Composition and Presentation
ENGL 10600, 10800 No departmental restrictions
Tech Writing/Presenting
OR Tech Writing
Tech Presenting

 

Language and Culture
Language 101 No departmental restrictions
Language 102
Language 201/Culture/Diversity
OR an Approved Study Abroad

 

General Education (≥9credits)
Sequence Gen Ed I No departmental restrictions
Gen Ed II
AND Additional Gen Ed

 

Great Issues No departmental restrictions

 

Multidisciplinary Math or End-User Computing minors cannot be used, nor can CS 314, CS/MA 514, or any course required for the student's track.

Curriculum Resources

Visit the Curriculum Resource Site to find Sample Plans of Study. Courses do not need to be taken in sequential order as long as prerequisites and co-requisites are met.