Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@OSP123
Created November 27, 2014 03:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save OSP123/eed01ec9398aa5154fdd to your computer and use it in GitHub Desktop.
Save OSP123/eed01ec9398aa5154fdd to your computer and use it in GitHub Desktop.
Georgia Tech Pre-requisites for each class
Need to study the requirements for each individual class. There don't seem to be any real prereqs, but students enrolled in program have had a heavy background in math. I should finish calculus and linear algebra, then go into the program.
*CS 6210: Advanced Operating Systems
Requirements: https://docs.google.com/file/d/0BzZc9xnaQ0vqZmJwYmJvT3k3Vk0/edit?usp=drive_web
*CS 6250: Computer Networks
This class is appropriate for students with a previous background in networking. Some familiarity with network programming, scripting languages (e.g., Python) and using virtual machines will be helpful.
*CS 6300: Software Development Process
Students should be familiar with at least one programming language (Java strongly preferred) and with basic software engineering concepts. Students are also expected to have taken an undergraduate software engineering course or have some experience in industry.
This one is actually not too bad. I’ve been doing this through a SaSS app for the last 2 ½ years.
*CS 7641: Machine Learning
An introductory course in artificial intelligence is recommended but not required.
To discover whether you are ready to take CS 7641: Machine Learning, please review our Course Preparedness Questions, to determine whether another introductory course may be necessary prior to registration.
*CS 6290 High Performance Computer Architecture
Undergraduate computer architecture course that covers basic computer organization; working knowledge of topics such as instruction sets, pipelining, etc. For the course project, you will also need to be familiar with C/C++, Linux, and be comfortable making modifications to large programs.
If you answer "no" to any of the following questions, it may be beneficial to refresh your knowledge of the prerequisite material prior to taking CS 6290:
1. Have you taken a computer organization course before?
2. Are you familiar with at least one RISC instruction set and would you feel comfortable reading and writing small assembler programs?
3. Are you familiar with basic computer architecture concepts, such as pipelines and caches?
4. Are you familiar with C/C++ and would you be comfortable writing and/or modifying 100+ lines of code in a program that has over 100,000 lines of code?
5. Are you comfortable with, or even excited about, learning how real processors work and using simulation to see how changes in processor design affect its performance?
*CS 6310 Software Architecture and Design
To undertake this course you should either have successfully taken an undergraduate software engineering course or CS 6300. Alternatively, if you have significant experience actually developing industrial software, you should be fine. The course makes use of Java and assumes knowledge of object-oriented techniques. There are videos available on the class resources page to refresh your knowledge of these two topics.
If you answer "no" to any of the following questions, it may be beneficial to refresh your knowledge of this material prior to taking CS 6310:
Have you taken a software engineering course before or have you had some experience working as a software engineer in a company?
Are you familiar with basic software engineering concepts, such as requirements, software design, and software testing?
Are you familiar with at least one object oriented programming language, preferably Java?
Are you comfortable, or even excited about, learning new technologies and working with software tools?
Do you have enough flexibility to work with a team that meets (remotely) on a regular basis?
*CS 6505 Computability, Complexity and Algorithms
http://www.mhhe.com/math/advmath/rosen/
*CS 7637 Knowledge-Based Artificial Intelligence, Cognitive Systems
A good course on computer programming such as CS 1332 or Udacity’s CS 101 is beneficial for students. An introductory course on Artificial Intelligence, such as Georgia Tech's CS 3600 or CS 6601, is recommended but not required.
To succeed in this course, you should be able to answer 'Yes' to the following four questions:
Are you comfortable with computer programming?
Are you familiar with concepts of data structures and object-oriented programming, such as inheritance and polymorphism?
Are you familiar with concepts of algorithms, such as sorting and searching algorithms?
Are you confident with either Java or Python?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment