Bachelor of Science in Computer Science

Bachelor of Science in Computer Science with Threads

Focus: building on a base of fundamentals in programming and computational theory to provide a solid foundation of knowledge and skills for applying digital processes effectively to issues of broad interest in a global society.

The undergraduate degree in computer science (CS) offered by the College of Computing provides a solid foundation of knowledge and skills for applying digital processes effectively to issues of broad interest in a global society. Our program is based on a unique concept, Threads™ , a significant College of Computing innovation in undergraduate CS education. The curriculum builds on a base of fundamentals in programming and computational theory to allow each student the opportunity to explore a variety of computing paths in depth. There are eight Threads, each providing a focused journey through a broad spectrum of course offerings at Georgia Tech in preparation for a distinctive future in a changing and interconnected world. Each student selects two Threads to fulfill the requirements for an accredited Bachelor of Science degree in computer science. It is at the intersection of the two paths that the unique synergistic value of this educational experience is realized. Graduates will leave the College of Computing fully aware of the limitless potential of their dynamic discipline and be able to adapt and continuously add value to society throughout their careers.

The Threads™ represent partial paths through the curriculum. Thus, a student weaves a degree from these Threads. Students are not forced to make Thread decisions very early in their academic careers; however, they may if they want. We define the Threads so they are flexible enough to allow for a variety of technical and creative experiences. Threads are coherent enough that students develop computing skills even if their focus shifts as they go along.

The CS curriculum also offers opportunities in undergraduate research and international study. In addition to the standard four-year plan, a five-year cooperative plan is offered for students who wish to combine their academic education with industry experience.

The undergraduate program requires:

  • a total of 124 credit hours for graduation, plus
  • a two-hour Wellness course.
  • With the exception of free electives, all Bachelor of Science degree coursework must be taken on a letter-grade basis.
  • Up to six hours of free electives may be taken on a pass/fail basis.
  • No 1000- or 2000-level HPS hours or precalculus hours (currently MATH 1113) may be used as free electives.
  • No course that covers the same material as other courses in a student's plan of study can be used as a free elective.
  • All required CS courses, whether Thread or non-Thread, must be completed with a C or better to be counted toward degree requirements.
  • All courses listed as required for a Thread, whether CS or non-CS, must be completed with a C or better to be counted toward degree requirements.

The College of Computing Defines Eight Threads

A Thread provides an intuitive, flexible, and mutually strengthening set of courses that allows a student to craft a distinctive future in an area that is certain to have societal value in the emerging world. A Thread provides a skill and credential basis that allows graduates to create value in ways beyond what would be possible with only a narrowly focused tool set.

Choose any two threads to create your own path and special variation on an area of study.

  1. Computing and Devices: creating devices embedded in physical objects that interact in the physical world
  2. Computing and Information Internetworks: representing, transforming, transmitting, and presenting information
  3. Computing and Intelligence: building top-to-bottom models of human-level intelligence
  4. Computing and Media: building systems in order to exploit computing's abilities to provide creative outlets
  5. Computing and Modeling - Simulation: representing natural and physical processes
  6. Computing and People: designing, building, and evaluating systems that treat the human as a central component
  7. Computing and Systems and Architecture : creating computer architectures, systems, and languages
  8. Computing and Theory: theoretical foundations underlying a wide range of computing disciplines

Threads™ are defined as partial paths through the course offerings of the Institute. Students constructs their own personalized computer science degree by weaving through two Threads™. Each Thread™ is about 2/3 of a degree, but with Thread™ arithmetic, since there's so much overlap, 2/3 + 2/3 = 1. Each pair of Threads™ fulfills the requirements for an accredited Bachelor of Science degree in computer science.

The Power of One Thread

Are you a computationalist who is interested in the expressive arts (telling stories, making games, creating emotional experiences)? Join the Computing and Media Thread. Here you'll see courses on topics ranging from computational graphics to Hamlet, from human perception to interactive fiction engines.

Are you a computationalist who is interested in placing intelligence in physical objects like robots, airplanes, or cell phones? Join the Computing and Devices Thread. Here you'll see courses on everything from computational sensors to dealing with noisy data, from real-time operating systems to mobile power issues and computational autonomy.

Weaving Two Threads Together - A Leap

Are you interested in computer security? Then perhaps choose Computing and Information to learn how data is stored, retrieved, encoded, transmitted, etc. And perhaps also choose Computing and People to learn how people use technology, how to run experiments with human subjects, etc. The kind of person you will become is the kind of person who will be able to invent and build secure systems that are usable by people.

For more information about the BS CS undergraduate program or the College of Computing, visit The College of Computing website.

Bachelor of Science in Computer Science Threads

Cybersecurity and Privacy


The Devices thread is concerned with embedded computational artifacts that interact with people or the physical world. In this thread, one learns how to create and evaluate devices that operate under physical constraints such as size, power, and bandwidth. Examples include PDAs, cell phones, robots, jet engines, and intelligent appliances.

Information Internetworks

The Information Internetworks thread is where computing meets the data enterprise and all that this implies. The thread prepares students for all levels of information management by helping them to capture, represent, organize, transform, communicate, and present data so that it becomes information.


The Intelligence thread is where computing models intelligence. This thread is concerned with computational models of intelligence from top to bottom. To this end, we emphasize designing and implementing artifacts that exhibit various levels of intelligence as well as understanding and modeling natural cognitive agents such as humans, ants, or bees. Students acquire the technical knowledge and skills necessary for expressing, specifying, understanding, creating, and exploiting computational models that represent cognitive processes. It prepares students for fields as diverse as artificial intelligence, machine learning, perception, and cognitive science, as well as for fields that benefit from applications of techniques from those fields.


The Media thread is where computing meets design. This thread prepares students by helping them to understand the technical and computational capabilities of systems in order to exploit their abilities to provide creative outlets.

Modeling and Simulation

The Modeling - Simulation thread is intended for students interested in developing a deep understanding and appreciation of how natural and human-generated systems such as weather, biological processes, supply chains, or computers can be represented by mathematical models and computer software. Such models are widely used today to better understand and predict the behavior of such systems. Because these models are often described and represented by mathematical expressions, and the models themselves often deal with physical phenomena, a background in mathematics and the sciences is required. Combining this background with a deep knowledge in computer science will yield the basic tools necessary to transform abstract conceptual models to computer programs that execute efficiently on digital machines. The required coursework in this thread includes topics in continuous and discrete mathematics, the sciences, and computing. Elective courses enable students to further develop and apply their knowledge and skills to a specific discipline where Modeling - Simulation plays an important role.


The People thread is where computing meets users. This thread prepares students by helping them to understand the theoretical and computational foundations for designing, building, and evaluating systems that treat the human as a central component.

Systems and Architecture

The Systems and Architecture thread is where many of the practical skills of computing are learned. Like Theory, Systems and Architecture lies at the center of computing. It prepares students to create and evaluate computer architectures, systems, and languages across a variety of paradigms and approaches.


The Theory thread is where computing meets itself. Theory teaches students the theoretical and mathematical foundations underlying a wide range of computational disciplines. Early preparation includes discrete mathematics, algorithms, and complexity. Knowledge goals are for students to mature in development and analysis of abstract models for applications ranging from theoretical computer science to computational physics, biology, mathematics, economics, and optimization.

Cooperative Programs

The College of Computing participates in the undergraduate and graduate Cooperative Programs. See links below for further Information:

International Plan

The College of Computing has an approved BS CS International Plan that accommodates the unique requirements of this option discussed in the International Plan section of the catalog.

However, due to the flexible nature of the Threads curriculum, the International Plan designation may not be available with all of the Thread combinations. Efforts will be made to work with interested students to accommodate their individual circumstances with regard to the International Plan designator for the Bachelor of Science in Computer Science.

Research Option

To complete the Research Option in the College of Computing, students must:

  1. Complete at least nine units of undergraduate research
    1. Over at least two, preferably three terms
    2. Research may be for either pay or credit;
  2. Write an undergraduate thesis/report of research on their findings;
  3. Take
    1. LMC 4701: Undergraduate Research Proposal Writing (taken during the first or second semester of research)
    2. LMC 4702: Undergraduate Research Thesis Writing (taken during the thesis writing semester).

Research Classes

The following classes count toward fulfillment of the Research Option:

Research for Credit

CS 2699Undergraduate Research (Freshman and Sophomore)1-12
CS 4699Undergraduate Research (Junior and Senior)1-12
CS 4980Research Capstone Project1-21

Research for Pay (Audit only)

CS 2698Undergraduate Research Assistantship (Freshman and Sophomore)1-12
CS 4698Undergraduate Research Assistantship (Junior and Senior)1-12

To get credit toward completion of the Research Option for research for pay, students must be registered for the appropriate audit-only, research for pay class (CS 2698 or 4698). If work on research for pay begins after the close of registration and the student has not signed up for the appropriate class, unfortunately it is not possible to get credit toward the Research Option for work that term.

A research project will also fulfill the capstone design requirement if the student registers for CS 4980 for one of the research terms. This is typically done the last semester of research, while taking LMC 4702.

Completion of the Research Option is noted on the student's transcript. For more information, see


BS/MS in Computer Science

Students who want to pursue the BS/MS option must apply to the MSCS program after completing at least 60 hours of work towards the BSCS degree.  Applicants should have a cumulative GPA of at least 3.4.  This GPA must be maintained for the student to take graduate level courses.

Students admitted to the program will take 6 hours of graduate coursework during their final undergraduate year to double count in both their BSCS and MSCS degrees; they should choose 3 hours of MS Core or Elective hours their fall semester and 3 hours of MS Core or Elective hours their spring semester that can count toward their thread hours and CS Specialization hours.

Visit College of Computing for more information.