Suggested Plans of Study

The undergraduate degree requirements allow for some flexibility in which courses students choose to take to satisfy their Computer Science Core and Electives. The following suggested plans of study are optional*, and are provided to help students select courses that will help them focus on one area of interest while working toward their degree requirements. Students entering the Computer Science B.S. degree Fall 2015 or later may choose to follow all suggestions in a particular plan, part, or none of these. These plans are meant to be a helpful planning tool.

*Students who entered the Computer Science B.S. degree prior to Fall 2015 should consult with their academic advisor and their degree audit regarding classes that meet their Track requirements.

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 plan emphasizes courses in numerical computation, high-performance scientific computing, and supporting areas of science and computer science. Students taking classes suggested in this plan 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.

Course Suggestions

Highly recommended

  • CSCI 3656-3 Numerical Computation
  • CSCI 4576-4 High-Performance Scientific Computing

Recommended

  • CSCI 3287-3 Data Systems
  • CSCI 3753-4 Operating Systems
  • CSCI 4229-3 Computer Graphics
  • CSCI 4446-3 Chaotic Dynamics
  • CSCI 4809-3 Computer Animation
  • CSCI 4448-3 Object-Oriented Analysis and Design
  • CSCI 4753-3 Computer Performance Modeling
  • Other topics courses, availability varies by semester

Students should check their degree audit to determine how each course counts toward degree requirements.

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) plan 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 taking classes suggested in this plan 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.

Course suggestions

Highly recommended

  • CSCI 3002-3 HCC Foundations/User-Centered Design and Development 1
  • CSCI 3112-1 HCC Professional Development
  • CSCI 3702-3 Cognitive Science

Recommended

  • CSCI 3202-3 Introduction to Artificial Intelligence
  • CSCI 3287-3 Data Systems
  • CSCI  4448-3 Object-Oriented Analysis and Design
  • CSCI 4753-3 Computer Performance Modeling
  • Other topics courses, availability varies by semester

Students should check their degree audit to determine how each course counts toward degree requirements.

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 plan 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 plan 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.

Students interested in this plan can contact their academic advisor to learn about a BS/MS concurrent degree option between Computer Science and ITP.

Course suggestions

Highly recommended

  • CSCI 3753-4 Operating Systems
  • CSCI 4113-3 (or TLEN version) UNIX System Administration
  • CSCI 4273-3 Network Systems
  • CSCI 4413-3 Security and Ethical Hacking

Recommended

  • CSCI 3287-3 Data Systems
  • CSCI 3434-3 Theory of Computation
  • CSCI 4448-3 Object-Oriented Analysis and Design
  • CSCI 4593-3 Computer Organization
  • CSCI 4753-3 Computer Performance Modeling
  • TLEN 5310-3 Telecomm Systems
  • Other topics courses, availability varies by semester

Students should check their degree audit to determine how each course counts toward degree requirements.

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 plan 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.

Course suggestions

Highly recommended

  • CSCI 4448-3 Object-Oriented Analysis and Design

Recommended

  • CSCI 3002-3 HCC Foundations/User-Centered Design and Development 1
  • CSCI  3287-3 Data Systems
  • CSCI 3753-4 Operating Systems
  • CSCI 4229-3 Computer Graphics
  • CSCI 4273-3 Network Systems
  • CSCI 4413-3 Security and Ethical Hacking
  • CSCI 4555-3 Introduction to Compilers
  • CSCI 4113-3 (or TLEN version) UNIX System Administration
  • Other topics courses, availability varies by semester

Students should check their degree audit to determine how each course counts toward degree requirements.

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 plan 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 (ECEn). The plan, however, focuses on software design, while ECEN 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.

Course suggestions

Highly recommended

  • ECEN 2350-3 Digital Logic
  • CSCI 3753-4 Operating Systems
  • CSCI  4273-3 Network Systems

Recommended

  • CSCI 4229-3 Computer Graphics
  • CSCI 4555-3 Compiler Construction
  • CSCI 4593-3 Computer Organization
  • CSCI 4753-3 Computer Performance Modeling
  • ECEN 4613-3 Embedded System Design
  • Other topics courses, availability varies by semester

Students should check their degree audit to determine how each course counts toward degree requirements.