for the BS Degree in Computer Science include coursework in computer science,
mathematics, natural science and the humanities and social sciences, as well
as free elective coursework. 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 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
for all Computer Science majors, majors need to complete the course
requirements for one of the following tracks:
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.
- General Computing Track ...
Computer Science is rapidly becoming critical to many areas of biology
and medicine. This track's flexible requirements reflect the
diverse fields of computer science that are applied to problems in
biology or medicine, including 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 Biology Track ...
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.
- Computational Science and Engineering Track ...
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.
- Human-Centered Computing Track ...
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 World Wide Web and
email, and operating systems analysis and management.
- Networked Devices and Systems Track ...
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
- Software Engineering Track ...
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.