Georgia Tech Coursework

Human-Computer Interaction (HCI):

Human Computer Interaction focused heavily on UI design, controls, directing user interest to the required areas and keeping user focus. A large portion of this course included critiquing designs and offering alternatives in order to achieve a better result. Further, in this course we explored the concept of different functional designs and fast prototyping in order to gain quick feedback from peers in order to augment and improve our designs.

Computational Photography (CP):

This course focused a lot on processing photos at a pixel level. As a main difference from Computer Vision, this course focuses a lot more heavily on the mathematics and results of different methods of processing at a lower level, such as different kernels and techniques. A primary way this course explored these concepts was by means of assigning various papers whose results we are asked to mimic utilizing the math and pseudocode provided therein. This was a challenge, and provided and excellent method by which we could study the interaction between the different components in an image to yield the final pleasing result.


Artificial Intelligence (AI):

This AI course was taught through a lens of game theory. Some of the areas of focus were those of searching algorithms like A* and extending these algorithms to achieve even more efficient results. A portion of the rubric for many of the assignments in this course relied on the ability to very efficiently solve problems rather than simply getting some solution. This required at times very inventive solutions in order to be able to score within the necessary thresholds. Naturally aside from math, graph theory was heavily explored in order to be able to even whiteboard a solution which would be optimal.

Reinforcement Learning (RL):

This course was also taught through lots of game theory. Starting first with being able to use minimax and more basic algorithms, the rapid pace of this course led into Q-Learning, Neural Networks incorporation via Deep Q-Networks, progressing into CoCo Q-Learning in that avenue. Touching on some other courses such as SARSA this very thorough approach and math driven course acquainted us students heavily with the subject matter.

Data and Visual Analytics (DVA):

Data and Visual Analytics was a course that aimed to teach students about how to process data and use of various frameworks to display the results. Of chief focus was online means using D3.js, backend SQL to help store data and processing of results, and having live data sources to update the graphics shown in real time or as requested. Additionally there were many methods taught by which we can fix incomplete datasets, intermediate storage solutions, use of AWS and GCP and offline frameworks as well. There was additionally a dive into Hadoop and Spark (and with Databricks, AWS EMR, GCP) along with Scala to help aid the analysis of particularly large data sets.


Machine Learning for Trading (ML4T):

Securities trading is known by many as being in the control of powerful algorithms and high speed machines. This course attempts to peel back this shroud by looking into how algorithms work by means of implementing our own algorithms. I had a knowledge and understanding going into this course and so was able to glean good information from the metrics that were used, and methods by which we could maximize our profits. This course had some theory as well which was pertinent to our understanding of the subject matter and the metrics observed were very much those needed to build a successful trading bot in the real world. It was an interesting course and just began to uncover the amount of time and effort needed to go into a trading algorithm.

Computer Vision (CV):

Computer Vision being taken after my Computational Photography (CP) course helped immensely to the understanding. This course was far more advanced, using Neural Networks to help build identifiers. We also had to use real world tracking tags to help perspective warp (among other methods) photos and videos and track them into other videos. There was a large focus in mathematics which especially were seen via the filtering techniques and abilities to work with a large amount of frames and produce consistent results.

Artificial Intelligence for Robotics (AI4R):

This course focused on the perspective of a robot with noisy (real) sensors tasked with real world goals. From needing to work with messy inputs and unreliable movements to filtering and prediction techniques many of the techniques used are used in the real world especially by robots such as Roombas or self-driving cars. Indeed a large portion of this course commanded a heavy mathematical, especially linear algebraic knowledge, basis and was essential to the functions of various components of our robot’s ability to survive in the environment.

Machine Learning (ML):

This course focused heavily on ML topics. These included trees, randomized optimization techniques (Random Forests, Simulated Annealing, Genetic Algorithms, MIMIC), neural networks, and mathematics. It was a highly project driven course which focused on comparisons between various algorithms by means of defining and collecting metrics pertinent to runtime, resources required, and overall accuracy.

Graduate Algorithms (GA):

This algorithms course was broken down into three main sections. The first concerned itself with dynamic programming and divide and conquer based algorithms. The second major focus was on graph theory and graph algorithms, touching on Edmonds-Karp, Ford-Fulkerson, Bellman-Ford among others. This focus also considered residual networks and max-flow=min-cut. The third major focus was on P=NP and linear programming concepts. This final section had a heavy emphasis on proofs as well as graphs showcasing feasibility and boundedness.
The course focused strongly not on solving a given problem but doing so in an efficient manner. As such, the criteria for a strong answer relied heavily on a deep understanding of the material in not only achieving an efficient answer but explaining why a solution works and is correct.