Difference between revisions of "Computer Science"
Line 110: | Line 110: | ||
* DISLIKE → either keep Modeling and Simulation for fewer requirements or declare another thread.<ref group="Note">If another thread is chosen, then CS 2200 will be counted as a free elective.</ref> |
* DISLIKE → either keep Modeling and Simulation for fewer requirements or declare another thread.<ref group="Note">If another thread is chosen, then CS 2200 will be counted as a free elective.</ref> |
||
− | ==== Systems and Architecture ==== |
+ | ==== Systems and Architecture Advanced Elective ==== |
* Enjoy pipelining, caches, and multithreading → take [[CS 4290]]. |
* Enjoy pipelining, caches, and multithreading → take [[CS 4290]]. |
||
Line 134: | Line 134: | ||
* DISLIKE → do not declare Theory. |
* DISLIKE → do not declare Theory. |
||
− | ==== Theory ==== |
+ | ==== Theory Advanced Math Elective ==== |
Take MATH 3012: |
Take MATH 3012: |
||
* Enjoy generating functions and recurrence relations → take [[MATH 4032]]. |
* Enjoy generating functions and recurrence relations → take [[MATH 4032]]. |
Revision as of 16:15, 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.
- Theory
- Systems and Architecture
- Information Internetworks
- Intelligence
- Modeling and Simulation (split into Scientific Computing and Data Analysis minors)
- People
- Media
- 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 Advanced Elective
- 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 or Intelligence
- DISLIKE → definitely do not declare Theory
- 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 2] (helpful if you are Intelligence thread and are unsure if you want to pursue Theory)
- 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.
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.
- Software development
- Bits of Good: web development projects for nonprofits using React/Express, quite selective membership
- GT Web Developers
- Developer Student Club at Georgia Tech
- SGA IT Board
- GITMAD: Android development
- iOS Club: iOS development
- VGDev: video game development
- Machine learning
- The Agency: machine learning lectures and projects
- Big Data Big Impact: data science projects
- Data Science at Georgia Tech: data science bootcamp and projects
- GreyHat: cybersecurity lectures and CTF problem-solving
- Programming Team: competitive programming
- Big O: Theory Club: theoretical computer science
- HexLabs (formerly known as HackGT)
- Embedded development
- RoboJackets: robotics projects
- Robograds: robotics for grad students
- HyTech Racing
- The Makery: building and programming electronic devices
- Marine Robotics Group
- Georgia Tech Off-Road
- Design Club: user experience and visual design
Rising Entrepreneur Society(No longer active)- CS + Social Good: talks on how CS can be used for social good
- Computational Finance Club
- Social
- Women@CC: support for women in computing
- Graduate Women @ College of Computing
- Minorities@CC: support for underrepresented groups within the College of Computing