Students should be familiar with college-level mathematical concepts (calculus, analytic geometry, linear algebra, and probability) and computer science concepts (algorithms, O notation, data structures). In addition to this, students should have working knowledge of computer programming; the course will focus on using Python for its programming assignments.
Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.
You can view the lecture videos for this course here.
Before Taking This Class...
Suggested Background Knowledge
You should have completed undergraduate computer algorithm and data structures courses that cover O notation, time and space constraints. You should have working knowledge of college level mathematics such as calculus, probability, and linear algebra. You will also need to be familiar with Python and be comfortable making modifications to large programs.
Please review the following questions, if you answer “no” to any of them you may want to refresh your knowledge or practice the required skills prior to taking the class:
- Are you comfortable programming in Python, including IPython notebooks? If not, are you comfortable in learning a language within the first week of class?
- Have you taken several classes that required intensive programming?
- Have you taken algorithms and data structures courses?
- Are you prepared to spend at least 9 hours a week on this class?
Technical Requirements and Software
Your system must be able to install the latest release of Python 3.7. Please check the official documentation for more information.
All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.