Difference between revisions of "Computer Science"

From Georgia Tech Student Wiki
(Reorganized guides)
Line 134: Line 134:
 
* DISLIKE → Do not declare Theory.
 
* DISLIKE → Do not declare Theory.
   
  +
==== Theory ====
== Other Scheduling Guides ==
 
 
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]].
   
 
=== Honors Courses ===
 
=== Honors Courses ===
Line 142: Line 147:
 
* DISLIKE → do not take another honors class.
 
* DISLIKE → do not take another honors class.
 
* UNSURE → take another honors class.
 
* UNSURE → take another honors class.
 
=== 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]].
 
   
 
== Student Organizations ==
 
== Student Organizations ==

Revision as of 17:13, 5 August 2021

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 Class Ethics 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. It does not matter which one is declared for now.
  • 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 1]

Systems and Architecture

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

Unsure → take CS 3210:

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

Theory Guide

Take CS 2050/CS 2051/MATH 3012:

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

Take CS 3600:

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

Take CS 3510/CS 3511:

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

Take CS 4510:[Note 2]

  • LIKE → Declare Theory.
  • DISLIKE → Do not declare Theory.

Theory

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.

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. If another thread is chosen, then CS 2200 will be counted as a free elective.
  2. If Intelligence is already declared, then CS 4510 is a very good gauge for Theory.

References