Tracks

The curriculum for the BS degree in Computer Science is based on the concept of tracks, which represent specific areas of emphasis within the broader discipline of Computer Science. Three sets of courses, known as the Computer Science Foundation, the Track Foundation and the Track Core, have been defined as part of the requirements for each track. These courses are important not only as they relate to degree requirements, but are also important aspects of the prerequisites for capstone courses, both Senior Project and Senior Thesis.

The exact composition of the foundations and cores as they relate to degree requirements is defined in the requirements in effect when the student enters the Department of Computer Science. (See BS Degree Requirements for details for each academic year.) The current makeup of the Computer Science Foundation and a list of current tracks are shown below.

Self-Directed

Self-Directed

  • Self-Directed Flow Chart 
  • Self-Directed Curricula Guide 
  • Self-Directed track is the most flexible route through the Computer Science major. It provides students with a broad-based background drawing from the entire spectrum of computing. Depending on the courses taken, students can be exposed to the design and architecture of computers, the development of software, and the theory and techniques used in designing efficient computer programs. Students can also learn about application of computers to problems in science, in human-computer interaction, and in data management. This track prepares students for careers in many different areas of computer science.

There are no Track Foundation courses specific to this track.

Seven courses are required:

  • CSCI 3308-3, Software Development Methods and Tools
  • CSCI 3000 level or above 3-4 credit hours
  • CSCI 3000 level or above 3-4 credit hours
  • CSCI 3000 level or above 3-4 credit hours
  • CSCI 3000 level or above 3-4 credit hours
  • CSCI 3000 level or above 3-4 credit hours
  • CSCI 3000 level or above 3-4 credit hours

One of the following options is required:

  • Senior Capstone:

This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis (link to Senior Thesis page on site) for more information.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.

Computational Biology

Computational Biology

Computer Science is rapidly becoming critical to many areas of biology and medicine. Computer scientists familiar with these fields and with relevant computer applications will play essential roles in future advances. The Computational Biology track's flexible requirements reflect the diverse fields of computer science that are applied to problems in biology or medicine. Possible areas of emphasis include:

  • Database design and data mining,
  • Algorithms,
  • Machine learning (from artificial intelligence), and
  • Numerical computation.

Students graduating from the Computational Biology track will be ready to work in teams to develop the software and systems for a variety of biomedical applications. Examples of employment opportunities include:

  • Identifying drug targets or developing new drugs for a pharmaceutical company;
  • Contributing to basic research in biology and medicine.

Specific Computational Biology Science Requirement:

The Computational Biology track has specific requirements for science.  

  • Must complete a total of at least 17 credit hours, which must include:
  • One of the following 6 science sequences 
  • At least 3 credit hours of upper division (3000 level or above) science:

Biochemistry (CHEM)

  • CHEN 1211-3, General Chemistryof Engineers
  • CHEM 1221-2, Engineering General Chemistry Lb
  • CHEM 3311-4, Organic Chemistry 1
  • CHEM 3321-1, Laboratory in Organic Chemistry 1
  • CHEM 3331-4, Organic Chemistry 2
  • CHEM 4711-3, General Biochemistry 1

Biological Psychology (PSYC)

  • EBIO 1210-3, General Biology 1
  • EBIO 1230-1, General Biology Laboratory 1
  • EBIO 1220-3, General Biology 2
  • EBIO 1240-1 General Biology Laboratory 2
  • PSYC 2012-3, Biological Psychology 1
  • an acceptable 3 credit hour upper division science course

Ecology and Evolutionary Biology (EBIO)

  • EBIO 1210-3, General Biology 1
  • EBIO 1230-3, General Biology Laboratory 1
  • EBIO 1220-3, General Biology 2
  • EBIO 1240-1, General Biology Lboratory 2
  • EBIO 2070-4, Genetics:  Molecules to Populations
  • One of the following: 
    • EBIO 3080-4, Evoluationary Biology
    • EBIO 3400-4, Microbiology
    • EBIO 3770-4, Animal Diversity: Vertebrates
    • EBIO 3850-4, Animal Diversity:  Invertebrates
    • EBIO 4290-3, Molecular Systematics and Evolution
    • EBIO 4410-4, Biometry

Integrated Physiology (IPHY)

  • EBIO 1210-3, General Biology 1
  • EBIO 1230-3, General Biology Laboratory 1
  • EBIO 1220-3, General Biology 2
  • EBIO 1240-1, General Biology Lboratory 2
  • Two of the following:
    • IPHY 3060-4, Cell Physiology
    • IPHY 3410-3, Introduction to Human Anatomy
    • IPHY 3420-3, Nutrition, Health and Performance
    • IPHY 3450-3, Comparative Animal Physiology
    • IPHY 3460-5, Comparative Vertebrate Anatomy
    • IPHY 4200-3, Physiological Genetics and Genomics

Molecular, Cellular, and Developmental Biology (MCDB)

  • MCDB 1150-3, Introduction to Cellular and Molecular Biology
  • MCDB 1151-1, Introduction to Cell and Molecular Biology Lab
  • CHEN 1211-3, General Chemistry for Engineers
  • CHEM 1221-2, Engineering General Chemistry Lab
  • MCDB 2150-3, Priniciples of Genetics
  • CHEM 3311-4, Organic Chemistry 1
  • CHEM 3321-1, Laboratory in Organic Chemistry 1
  • Not required, but highly recommended:  MCDB 3500-3, Molecular Biology

Speech, Language, and Hearing Sciences (SLHS)

  • EBIO 1210-3, General Biology 1
  • EBIO 1230-3, General Biology Laboratory 1
  • EBIO 1220-3, General Biology 2
  • EBIO 1240-1, General Biology Lboratory 2
  • IPHY 3410-3, Introduction to Human Anatomy
  • SLHS 3136-5, Speech and Hearing Science

Return to top of page.

All of the following courses are required:

  • CSCI 4314-3, Algorithms for Molecular Biology.
  • CSCI 4317-3, Genome Databases: Mining and Management.
  • CSCI 4810-1, Seminar in Computational Biology and Health Informatics.

Four additional courses selected from the following are required:

One of the following options is required:

  • Senior Capstone:
    • CSCI 4308-4, Software Engineering Project 1 and 
    • CSCI 4318-4, Software Engineering Project 2.

A project relevant to biology or health applications should be undertaken when possible. This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. 

A topic relevant to biology or health applications should be undertaken when possible. Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.

Computational Science & Engineering

Computational Science and Engineering

Computational Science and Engineering is a multidisciplinary area within computer science drawing from traditional computer science, mathematics, the physical and biological sciences, and engineering. It integrates knowledge and techniques from all of these disciplines to create computational technologies for a wide range of important applications in science and engineering. Our understanding of the natural world is now based on computation as well as on traditional theory and experiment. Numerical simulations permit investigations that would be too time-consuming, expensive, dangerous, or even impossible to do experimentally. Problems considered by computational scientists include climate and weather prediction, spacecraft design, video game construction, and the discovery of new medicines and treatments among many others.

The Computational Science and Engineering track emphasizes courses in numerical computation, high-performance scientific computing, and supporting areas of science and computer science. Students in this track will gain exposure to leading-edge computing systems making them valuable contributors to a variety of professional opportunities including:

  • Scientific research efforts at universities and national laboratories;
  • Mathematical and software support for simulations in aerospace, automotive, and other industries;
  • The design and development of animations and computer games; and
  • The processing of information and large data sets for companies like Google.

All of the following courses are required:

Three courses selected from the following are required:

One of the following options is required:

  • Senior Capstone: 
    • CSCI 4308-4, Software Engineering Project 1 and 
    • CSCI 4318-4, Software Engineering Project 2.

This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Projects for more information.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.

Human-Centered Computing

Human-Centered Computing

Computing is changing our lives. The transformation is shaped not only by technology but also by how people express themselves, how they think, and how they interact in groups. The Human-Centered Computing (HCC) track will prepare students to contribute to this accelerating global process.

HCC integrates the command of technology with insight into the individual mind, the interactions of groups and organizations, and society. Students in this track will learn how to design, build, and evaluate the systems of the future. These socio-technical systems will tie together technology with communication, collaboration, and other social processes to address the challenges and opportunities of our world.

The learning opportunities in HCC draw on and integrate research in human computer interaction, design of interactive systems, computer supported cooperative work, computer supported collaborative learning, educational technology, tools that support creativity, user-developed knowledge collections, and gaming.

HCC projects address applications in health care, urban planning, emergency management, inclusive design, creativity, digital libraries, and learning. HCC provides opportunities for connections with other programs at CU including the:

HCC graduates will be leaders in shaping the media and modes of interaction that empower citizens to participate in their communities, support creative expression, and address human needs in the emerging digitally literate society.

All of the following courses are required (7 to 9 hours):

  • CSCI 3002-3, Human-Centered Computing Foundations.
  • CSCI 3112-1-3, Human-Centered Computing Professional Development.
  • CSCI 3702-3, Cognitive Science.

Four courses selected from the following are required (12 hours):

  • CSCI 3202-3, Introduction to Artificial Intelligence.
  • CSCI 3287-3, Database and Information Systems.
  • CSCI 3308-3, Software Engineering Methods and Tools.
  • CSCI 4322-3, Things That Think.
  • CSCI 4332-3, Game Programming.
  • CSCI 4448-3, Object-Oriented Analysis and Design.
  • CSCI 4830-3, Rapid Prototyping and Deployment of User Interfaces.
  • CSCI 4830-3, Social Computing.
  • CSCI 4839-3, User-Centered Design.

One of the following options is required:

  • Senior Capstone: 
    • CSCI 4308-4, Software Engineering Project 1 and
    • CSCI 4318-4, Software Engineering Project 2.

This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Project for more information.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.

Networked Devices & Systems

Networked Devices and Systems 

The use of technology is escalating in everyday tasks for communication and collaboration. As we become increasingly dependent on services such as email and cell phones, the demand for interconnection of communication devices and systems grows. It is the role of networked systems professionals to select, design, deploy, integrate, evaluate, and administer network and communication infrastructures. The Networked Devices and Systems track emphasizes courses in:

  • Deployment of networks with specific design and protocol requirements;
  • Applying networking to deploy services in multimedia, information storage and distribution, security, and services on the Internet such as the World Wide Web and email; and
  • Operating systems analysis and management.

This track emphasizes a significant understanding of the computer from low-level machine architecture to user-level application and service management. Examples of everyday services managed by networked systems professionals are:

  • Router and smart switch management for deploying and securing networks;
  • Server configuration, management, analysis, modeling, and evaluation; and
  • Intrusion prevention and detection, system auditing and forensics.

Network and systems administrators find employment in companies and organizations of every type, from banks to law firms, from universities to the government; each of these institutions needs someone to run their network and email services and to protect private data from outside intruders.

All of the following courses are required:

Four courses selected from the following are required:

One of the following options is required:

Prerequisites for Networked Devices and Systems Labs and Seminar are the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.

Software Engineering

Software Engineering

Software permeates the very fabric of modern society. Entire industries such as transportation, shipping, banking, government, and medicine would be unable to function without software infrastructure. Software engineers work in teams to create and maintain this software, ensuring that the resulting systems are reliable, efficient, and safe.

The Software Engineering track emphasizes courses in:

  • Core software engineering concepts, methods, and tools;
  • The understanding of user requirements and user interface design;
  • The ability to design programming languages and software tools that support software development; and
  • Working in teams to achieve complex objectives.

Software Engineering is an exciting domain with significant potential for lifelong employment. The position of software engineer was recently ranked as the "best job" in America. High salaries and opportunities for creativity were key to this number one rating. Furthermore, the demand for software engineers is projected only to increase for the foreseeable future. Indeed, the field of software engineering leads many published lists of fastest-growing occupations in the country.

See the Software Engineering Flow Chart for a quick overview of all degree requirements for the track.

Both of the following courses are required:

  • CSCI 3308-3, Software Engineering Methods and Tools.
  • CSCI 4448-3, Object-Oriented Analysis and Design.

Five courses selected from the following are required:

One of the following options is required:

  • Senior Capstone: 
    • CSCI 4308-4, Software Engineering Project 1 and 
    • CSCI 4318-4, Software Engineering Project 2.

This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Project for more information.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.

Systems

Systems

Computers benefit almost every part of our lives -- from entertainment to cars to phones to medical devices. Computer systems engineers work with hardware and software to help application developers make these devices a reality. The Systems track emphasizes courses in:

  • Direct control of hardware through low-level software,
  • The design and implementation of operating systems and programming languages,
  • Networking and performance analysis, and
  • Embedded system design.

Some of these courses are cross-listed with the courses from the Department of Electrical, Computer and Energy Engineering (ECE). The track, however, focuses on software design, while ECE has greater emphasis on circuits and electronics.

Computer systems engineers work in teams to develop the software for embedded devices and to interface computers with physical systems. Examples of artifacts that computer systems engineers create include:

  • Novel user interfaces such as the Nintendo Wii remote;
  • Software for "smart phones" like the Apple iPhone or Palm Treo;
  • Operating and file systems for Digital Video Recorders, like the TiVo;
  • Navigation systems such as OnStar maps;
  • Supercomputers that are used to predict weather, design drugs, and simulate earthquakes and tidal waves; and
  • Robots that explore space, handle hazardous materials and accidents, and vacuum floors.

All of the following courses are required:

Three courses selected from the following are required:

One of the following options is required:

  • Senior Capstone: 
    • CSCI 4308-4. Software Engineering Project 1 and 
    • CSCI 4318-4, Software Engineering Project 2.

This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Project for more information.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives. See Senior Thesis for more information.