Computer Science

From Georgia Tech Student Wiki
Revision as of 15:08, 10 March 2022 by 143.215.52.186 (talk) (→‎People Guide:: Format Edits)

Computer Science is a Bachelor's of Science program offered by the Georgia Institute of Technology. Housed in the College of Computing, one of the six major colleges that make up Georgia Tech, it is the largest major at Georgia Tech (barely beating out Mechanical Engineering).

Contrary to popular belief, Computer Science is not the study of writing code. Computer Science is a primarily academic discipline that studies the theoretical conceptualizations and practical constructions of a computational machine, the algorithms that can run on those machines, as well as their applications to computational and non-computational fields, and uses code as a medium to accomplish those tasks.

Topics and career paths that exist within this broad field include theoretical computer science (such as algorithm design and the study of computation and efficiency), computer systems, computer architecture, artificial intelligence, computer graphics, computer simulation, information transmission, human-computer interaction, and of course, software engineering.

Computer Science has subfields that are also closely related to Electrical and Computer Engineering, primarily the construction and programming of computer hardware, as well as subfields strongly correlated to math, such as machine learning and algorithm design.

Student Body

The Computer Science program boasts 3,000 undergraduates, 3,500 on-campus graduate students, and 10,000 online graduate students through the College of Computing's OMSCS (Online Masters in Computer Science).[1]

The College of Computing plays host to a wide variety of clubs that serve to aid CS undergrads and grad students during their academic careers. Highlighted clubs include those run by the Student Competition Center (SCC), including RoboJackets and HyTech Racing, both of which have a variety of positions and challenges in the software field. Other non-competitive clubs include GreyHat (cybersecurity), The Agency (artificial intelligence), and Big O (theoretical computer science). A list of all College of Computing clubs, along with meeting times, locations, and links, can be found here.

The College of Computing is also one of the home units of the Startup Exchange club and the CREATE-X organization, both organizations aimed at cultivating the start-up culture found in both the university and the city of Atlanta as a whole. Resources provided by these departments can be found here.

Finally, the College of Computing also hosts two career fairs, one in the fall and one in the spring, each of which take place roughly three weeks before the All-Majors Career Fair (the first in early September, and the second in early January).[2]

The College of Computing offers nine distinct Computer Science minors (seven of them corresponding to 7 of the 8 threads), and the other two being portions of the Modeling and Simulation thread.

Degree Requirements

Degree Requirements [3]
Course Description
CS 1100 Freshman Leap Seminar (1)
CS 1301 Introduction to Computer Science (3)
CS 1331 Introduction to Object Oriented Programming (3)
CS 1332 Data Structures and Algorithms (3)
CS 2050/2051 Discrete Mathematics Requirement (3)
CS 2340 Objects and Design (3)
CS Ethics Course Ethics/Professionalism Requirement (3)
MATH 1551 and 1552 Calculus Requirement (6)
MATH 1554/1564 Linear Algebra Requirement (4)
MATH 2550 Introduction to Multivariable Calculus (2)
MATH 3012 Applied Combinatorics (3)
Probability/Statistics Course Probability/Statistics Requirement (3)
PHYS 2211 + 2 More Lab Sciences + Lab Sequence Lab Science Requirement (12)
ENGL 1101 and 1102 English Requirement (2)
6 credits of Humanities Classes Humanities Requirement (6)
One History/Government Requirement Class History/Government Requirement (3)
9 credits of Social Science Classes Social Science Requirement (9)
APPH 1040/1050/1060 Wellness Requirement (2)
Thread Requirements Select a thread page below
Junior Design Capstone Select one requirement (6)
Free Electives Varies by thread combination and capstone selection

Threads

Like Electrical and Computer Engineering, Computer Science offers eight distinct threads, which act as specializations. Majors must complete two threads + the core and major requirements to graduate. CS minors must select one thread and complete the requirements. Each thread combination also dictates the number of free electives a student must take in order to graduate.

  1. Theory
  2. Systems and Architecture
  3. Information Internetworks
  4. Intelligence
  5. Modeling and Simulation (split into Scientific Computing and Data Analysis minors)
  6. People
  7. Media
  8. Devices

Systems and Architecture Guide

Take CS 2110:

  • LIKE → declare either Modeling and Simulation, Systems and Architecture, Devices, or Information Internetworks.[Note 1]
  • DISLIKE → definitely do not declare any of the threads above.

Take CS 2200:

  • LIKE → declare either Systems and Architecture, Devices, or Information Internetworks based on preference.
  • DISLIKE → either keep Modeling and Simulation for fewer requirements or declare another thread.[Note 2]

Systems and Architecture Advanced Elective

  • Enjoy pipelining, caches, and multithreading → take CS 4290.
  • Enjoy multithreading, virtual memory, and scheduling → take CS 4210 (requires CS 3210).[Note 3]

Unsure → take CS 3210:

  • LIKE → take CS 4210.
  • DISLIKE → take CS 4290.

Theory Guide

Take CS 2050/CS 2051/MATH 3012:

  • LIKE → declare Theory or Intelligence
  • DISLIKE → definitely do not declare Theory

Take CS 3510/CS 3511:

  • LIKE → declare Theory or Intelligence.
  • DISLIKE → definitely do not declare Theory.

Take CS 3600:

  • LIKE → continue with Intelligence
  • DISLIKE → definitely do not declare Intelligence

Take CS 4510:[Note 4]

  • LIKE → declare Theory.
  • DISLIKE → do not declare Theory.

Theory Advanced Math Elective

Take MATH 3012:

  • Enjoy generating functions and recurrence relations → take MATH 4032.
  • Enjoy graphs → take MATH 4022.
  • Enjoy generating functions, recurrence relations, and graphs → take MATH 4032 or MATH 4022.
  • Dislike generating functions, recurrence relations, and graphs but enjoy cryptography → take MATH 4150.

People Guide:

Stage 1 - Take CS3001 and PSYC1101

LIKE BOTH → Consider people

LIKE ONE → Consider people, but choose thread picks carefully

HATE BOTH → Probably not

Stage 2 - Take CS 3750/CS3783.

LIKE → Consider people/media.

Stage 3 - Take MATH 3670 sooner rather than later allowing you to take PSYC 2015 sooner.

LIKE → Consider people.

People Upper Level

1. Take PSYC 2210/PSYC 2760/PSYC 3040 depending on what you liked in PSYC 1101 and PSYC 2015

2. Choose thread picks based on preference between CS 3750 topics vs PSYC 1101/2015 vs CS 3001 topics.

Liked PSYC 1101/2015 More - Consider CS 3790, CS 4472, CS 4460

Liked CS 3750 More - Consider CS 4470, CS 4605

CS 4660, CS 4745 are a bit of a wild card

Honors Courses

Take CS 2051:

  • LIKE → take CS 3511 and the CS 4510 honors section if possible.
  • DISLIKE → do not take another honors class.
  • UNSURE → take another honors class.

Student Organizations

There are many student organizations relevant to a career in Computer Science. Most of these, but not all, are formally affiliated with the College of Computing.

Notes

  1. It does not matter which of these threads is declared for now.
  2. If another thread is chosen, then CS 2200 will be counted as a free elective.
  3. Always verify prerequisites on OSCAR.
  4. CS 4510 is a good gauge for students who have declared Intelligence and are unsure about Theory.

References