The undergraduate degree requirements allow for some flexibility in which courses you choose to take to satisfy your Computer Science Core and Electives. The following suggested plans of study are optional*, and are provided to help you select courses that will help you focus on one area of interest while working toward your degree requirements. You should check your degree audit to determine how each course counts toward degree requirements.
Students in both the BS and BA 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.
*If you entered the Computer Science BS degree prior to fall 2015, you should consult with your academic advisor and your degree audit regarding classes that meet your Track requirements.
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.
The Computational Science and Engineering plan emphasizes courses in numerical computation, high-performance scientific computing, and supporting areas of science and computer science. You will gain exposure to leading-edge computing systems that will allow you to contribute to a variety of professional opportunities including:
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 you 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. You 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:
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:
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:
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.
If you are interested in this plan, you may also be interested in the BS/MS concurrent degree option between Computer Science and the Interdisciplinary Telecommunications Program.
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:
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 No. 1 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.
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:
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: