- About the College
- Future Students
- Current Students
Read the Threads White Paper
Computer science has matured to the point where it has become the foundation for other discrete disciplines, much as engineering is specialized as mechanical, electrical, civil, environmental and so forth. As it is practiced in the business world today, computing is about application-based problem-solving for specific objectives; in terms of students' career prospects, it makes sense that computer science education reflect the reality they will face after graduation. There will always be a place for computer science generalists, but the imperative today is for college graduates with a generalist's knowledge but also an expert's eye for solving challenges and accomplishing tasks in a specific context or for a specific purpose or business environment. These are the individuals who will advance the state of the art and move computing to the next level.
Since fall 2006, the Bachelor of Science in Computer Science curriculum has been built on Threads. Developed by College of Computing faculty, Threads is a trailblazing approach to modernizing computer science learning in the United States. At its core, Threads is about contextualized education. Students must understand the relevance and see the impact of what they are learning while they are learning it. The traditional way of teaching computer science forces students through two years of knowledge and skill development before they ever get to apply what they are learning. With Threads, students combine regular computer science instruction with additional classes related to particular areas of application. In effect, we have replaced the generalized curriculum with an intense four-year program tailored to a student's interests and aimed at real-world computing opportunities.
In practice, Threads concentrates the general subject of computer science along eight distinct, logical perspectives -- a viewpoint on the field, and a goal for achieving expertise. Each of these perspectives, or Threads, is associated with a set of courses—from introductory to specialized senior-level courses, in both computing and other fields—intended to enable students to build expertise in that slice of computing. Students choose two of these Threads based on their interests and skills in computing and effectively customize their own degree program.
The College of Computing currently defines requirements for eight Threads (listed below). Follow each link to learn more about the Thread, its requirements and the resources available to learn more about related projects or programs.
Creating devices embedded in physical objects that interact in the physical world
Representing, transforming, transmitting, and presenting information
Building top-to-bottom models of human-level intelligence
Building systems in order to exploit computing's abilities to provide creative outlets
Representing natural and physical processes
Designing, building, and evaluating systems that treat the human as a central component
Creating computer architectures, systems and languages
Theoretical foundations underlying a wide range of computing disciplines
There's another aspect to the College of Computing undergraduate curriculum called Roles. While Threads focuses a computing degree along eight perspectives on computing, Roles sharpen that focus further by helping students consider not only what they want to study, but plan for what they want to be.
Roles are essentially very broad career aspirations based on a student’s skills and natural talents. Many students love computer science but don’t want to be programmers. Perhaps someone is a creative “idea” person, well-suited to entrepreneurship but less interested in the details of technology policy and regulation. Maybe designing and building software is the most fun of all. Roles will help students explore how they want to work in the field of computing.
Students may select extracurricular activities, minors and certificates corresponding to whichever role they see for themselves in the future. Among the Roles, there's a certain amount of overlap; students are free to choose from a single Role or take on a variety of activities representing more than one Role. Students’ advisors will work with them along the way to identify their goals and talents and help them put together the most desirable program.
An expert programmer who possesses the technical skill and experiences to thoroughly design, construct and validate computer-based systems, either alone or as part of a team.
The creator and leader of new enterprises that bring technology to the public at large, specifically in the form of new products and services.
A discoverer of new knowledge and constructor of groundbreaking solutions to problems.
An individual capable of communicating technical information to the technologist and layperson alike.
An expert on how computing impacts society, including its governance.