University of Colorado at Boulder

University Catalog

Print

Computer Science

Computer science is an exciting and challenging field that has impact on many parts of our lives. Computer scientists craft the technologies that keep cell phones and iPods working. They develop the large-scale software that powers business and industry, and advance the computational techniques and write the software that supports scientists in their study of the world around us. Many new computer applications remain to be discovered. Indeed, computing will be at the heart of future revolutions in business, science, and society. Students who study computer science now will be at the forefront of those important advances.

Computer science is concerned with how computers are constructed, how they store and process data, how they are used in problem-solving, and how the quality of those solutions is assessed. It is about the science of creating software for a variety of users. It is about understanding how that software interacts with the hardware on which it is run. Computer science goes well beyond the machine to the study of how people interact with the technologies around them. Applications of computer science reach far and wide.

Computer science graduates from the University of Colorado at Boulder are engaged in a wide variety of jobs with many different companies in locations all over the world. They produce the software and systems that touch lives every day in fields ranging from communications to finance to publishing. They are, of course, software developers, but also have become teachers, writers, doctors, lawyers, scientists, military leaders, and entrepreneurs. They work at some of the largest, most influential companies in the world, at research institutions, non-profits, and at the smallest start-ups of every type imaginable. And many lead highly successful companies that they themselves have founded.

Minor Program +

The department offers a minor in computer science that is available to undergraduates on the Boulder campus. The minor offers a basic introduction to the field of computer science.

Bachelor's Degree Requirements +

Requirements for the BS degree in computer science include course work in computer science, mathematics, natural science, and the humanities and social sciences, as well as free elective course work. The degree provides considerable freedom in the selection of specific courses to fulfill these requirements, allowing students to tailor the degree to their individual needs and interests.

Tracks in the curriculum are geared toward a variety of specializations. These tracks reflect the fact that computer science is transforming such disciplines as medicine, the sciences, and social science. The tracks also illustrate various software and hardware themes within the field of computer science. In addition to the more general degree requirements for all computer science majors, majors need to complete the course requirements for one of the following tracks:

General Computing +

The general computing track provides a broad-based background drawing from the entire spectrum of computing. Depending on the courses selected, 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.

Computational Biology and Health Informatics +

Computer science is rapidly becoming critical to many areas of biology, medicine, and health. This track's flexible requirements reflect the diverse fields of computer science that are applied to problems in biology or health, including human-computer interfaces, database design and data mining, algorithms, machine learning, and numerical computation. Students graduating from this track will be ready to work in teams to develop the software and systems for a variety of biomedical applications.

Computational Science and Engineering +

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. This track emphasizes courses in numerical computation, high-performance scientific computing, and supporting areas of science and computer science. It provides exposure to leading-edge computing systems.

Digital and Social Systems +

Students in this track will learn how to design, build, and evaluate socio-technical systems of the future that will tie together technology with communication, collaboration, and other social processes to address the challenges and opportunities of our world. The learning opportunities in this track 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.

Networked Devices and Systems +

It is the role of networked systems professionals to select, design, deploy, integrate, evaluate, and administer network and communication infrastructures. This 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 Web and e-mail, and operating systems analysis and management.

Software Engineering +

Software permeates the very fabric of modern society. This 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. The position of software engineer was recently ranked as the "best job" in America.

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. This 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, as well as embedded system design.

The department's goal is to prepare students for an intriguing and satisfying career in computer science. The huge number of technical jobs and the shortage of people to fill them mean that opportunities are great for today's computer science graduates.

Additional information about the department's programs is available at www.cs.colorado.edu or by contacting the department at 303-492-7514.

Curriculum for BS (CS) +

First Year
Fall Semester
CSCI >1000 Computer Science as a Field of Work and Study 1
CSCI >1300 Computer Science 1: Programming . 4
APPM >1350 Calculus 1 for Engineers 4
Natural science 4
Humanities and social sciences 3
Semester credit hours 16
Spring Semester
CSCI >2270 Computer Science 2: Data Structures 4
APPM >1360 Calculus 2 for Engineers 4
Natural science 5
Humanities and social sciences 3
Semester credit hours 16
Second Year
Fall Semester
CSCI >2400 Computer Systems 4
CSCI >2824 Discrete Structures 3
CSCI - - Track Foundation/Core or Computer Science Elective 3
CSCII - - Track Foundation/Core or Computer Science Elective 3
Free Elective 3
Semester credit hours 16
Spring Semester
CSCI >3104 Algorithms 4
CSCI >2830 Linear Algebra with Computer Science Applications 3
CSCI ____ Track Foundation/Core or Computer Science Elective 4
Humanities and social sciences 3
Semester credit hours 14
Third Year
Fall Semester
CSCI >3155 Principles of Programming Languages 4
CSCI - - Track Foundation/Core or Computer Science Elective 4
Probability or statistics 3
Humanities and social sciences 3
Free elective 3
Semester credit hours 17
Spring Semester
CSCI - - Track Foundation/Core or Computer Science Elective 3
CSCI - - Track Foundation/Core or Computer Science Elective 3
CSCI - - Track Foundation/Core or Computer Science Elective 3
WRTG >3030 Writing on Science and Society 3
Natural science 4
Semester credit hours 16
Fourth Year
Fall Semester
CSCI - - Track Capstone 4
CSCI - - Track Foundation/Core or Computer Science Elective 3
Natural science 4
Humanities and social sciences 3
Free elective 3
Semester credit hours 17
Spring Semester
CSCI - - Track Capstone 4
CSCI - - Track Foundation/Core or Computer Science Elective 3
Upper-division humanities and social sciences 3
Humanities and social sciences 3
Free elective 3
Semester credit hours 16
Total credit hours 128

Graduate Degree Programs +

General Admission Requirements +

Graduate students should consider a major in computer science if they are primarily interested in the general aspects of computational processes, both theoretical and practical, e.g., methods by which algorithms are implemented on a computer, techniques for using computers accurately and efficiently, design of computer systems, and languages and interfaces. A student who is primarily interested in the results of a computer process and its relation to a particular area of application should major in another field and consider a minor in computer science.

Applicants are considered for graduate study in computer science if they hold at least a bachelor's degree or its equivalent from an institution comparable to the University of Colorado. They should have considerable programming experience, sufficient mathematical maturity to understand pure mathematics courses at the upper-division level, and a number of academic computer science courses.

Applicants should satisfy the following requirements for mathematics courses: at least three semesters of mathematics at the level of sophistication of calculus or above, courses such as: differential equations, linear algebra, probability, statistics, and abstract algebra. These courses need not be in a mathematics department; however, they should require mathematical maturity expected of a junior or senior mathematics undergraduate.

In computer science, applicants should have the equivalent of the following University of Colorado courses: CSCI 1300 Computer Science 1: Programming; ECEN 2120 Computers as Components; one course out of CSCI 3155 Programming Languages or CSCI 3753 Operating Systems; CSCI 2270 Computer Science 2: Data Structures; and either CSCI 3104 Algorithms or CSCI 3434 Theory of Computation; and one other upper-division computer science course. Upper-division courses in areas such as artificial intelligence, databases, numerical computation, operating systems, parallel processing, software engineering, and others can be substituted for courses on the above list. However, courses on the list are prerequisites to many of the graduate-level offerings and admitted students lacking their equivalent are usually required to make them up, without graduate credit. Students who lack this computer science background but who have exceptionally strong credentials in another field should contact the department for individual consideration.

Applicants should have a GPA of at least 3.000 (on a scale of 4.000). Applicants having the listed qualifications are, if accepted, classified as regular degree students. Applicants with an average below 3.000 and above 2.750 and/or lacking certain of the prerequisites listed above are sometimes considered for admission as provisional students.

These requirements apply to both the master's and PhD programs. Applicants should be aware that admission to both programs is very competitive, and meeting the requirements does not ensure admission. Admission to the PhD program is especially competitive, and successful applicants, in general, have records considerably stronger in breadth and quality than these minimum standards suggest.

PhD applicants are required to submit scores from the aptitude portion of the Graduate Record Examination (GRE). GRE scores are optional for master's applicants but are required if the undergraduate GPA is less than 3.000 (but above a 2.750). These scores are encouraged if previous study was at an institution lacking a strong national reputation.

Financial aid is available to PhD students in the form of teaching and research assistantships and fellowships. Aid is sometimes available for master's students as teaching assistants or graders, but positions are assigned only at the beginning of a semester.

Applications from domestic U.S. students for the master's program should be received by February 28 for fall admission and by October 15 for spring admission. For international students, applications for the MS and PhD programs should be received by December 1 for fall admission and September 1 for spring admission.

Applications from domestic U.S. students for the PhD program should be received by January 2 for fall admission and by October 1 for spring admission. For international students, applications for the PhD program should be received by December 1 for fall admission and by September 1 for spring admission.

Master's Degree +

Admission requirements for this program are given above under General Admission Requirements. Plan I (thesis) or Plan II (no thesis) may be followed. In either plan, students must complete 30 credit hours of course or thesis work. The requirements for Plan I are as stated under the general requirements of the Graduate School section in this catalog. Students in Plan I receive 6 credit hours for thesis work and are examined orally on their thesis. Students in Plan II must pass the master's comprehensive exam. Under either plan a student may take 6 hours in a minor field. Students are expected to work out an acceptable program of course work with their advisor. Specific courses depend on the student's background and field of specialization, but four of the courses must satisfy a distribution requirement.

Doctor of Philosophy Degree +

Admission requirements for this program are listed under General Admission Requirements. Students in this program must pass preliminary examinations in three subareas of computer science to be eligible for admission to PhD candidacy. The foreign language requirement is the equivalent of four college semesters; a detailed statement is available from the computer science department. A minimum of 30 semester hours in courses numbered 5000 or above is required for the degree, but the number of hours in formal courses are ordinarily greater than that total. Specific courses depend on the student's background and field of specialization.

Following the formal course work, a student must pass a comprehensive examination aimed primarily at determining whether the student is adequately prepared to begin doctoral thesis work.

Finally, students who have completed a minimum of 30 semester hours are expected to prepare a doctoral thesis based on original research in the field of computer science. After the thesis has been completed, an oral final examination on the thesis and related topics is conducted by a committee of at least five graduate faculty members.

Further details on either the master's or PhD degree programs are available at www.cs.colorado.edu.

Department Computing Facility +

The Department of Computer Science supports its own domain, www.cs.colorado.edu, which is a 10/100/1000 MB network linked to the campus and the rest of the world through a gigabit connection. The department has a variety of computing facilities for use by faculty, staff, and students. These include general purpose computing labs provided by the university, additional instructional labs and administrative computing resources provided by the department, and specialized labs dedicated to the work of individual research groups. A wide variety of computing resources are available so that students have the opportunity to learn about and use cutting-edge equipment and software.

 
CU-Boulder Home CU-Boulder Search CU-Boulder A to Z CU-Boulder Campus Map