├── CS6440_Introduction_To_Health_Informatics.md ├── CS6475_Computational_Photography.md ├── CS6476_Computer_Vision.md ├── CS6601_Artificial_Intelligence.md ├── CS6750_Human_Computer_Interaction.md ├── CS7637_Knowledge-Based_Artificial_Intelligence_Cognitive_Systems.md ├── CS7641_Machine_Learning.md ├── CS7642_Reinforcement_Learning.md ├── CS7646_Machine_Learning_For_Trading.md ├── CS8803_O01_AI4R.md ├── CSE6242_Data_and_Visual_Analytics.md ├── CSE_Data_and_Visual_Analytics.md ├── CS_Graduate_Algorithms.md ├── Correlated_Q_learning.pdf ├── Graduation.md ├── README.md ├── Temporal_Difference_Methods.pdf ├── encode_and_join.py └── proctortrack.md /CS6440_Introduction_To_Health_Informatics.md: -------------------------------------------------------------------------------- 1 | Video Lectures (direct links) 2 | 3 | 0. TBD https://www.udacity.com/course/viewer#!/c-ud514/l-1626738573/m-9230293110 4 | 1. TBD https://www.udacity.com/course/viewer#!/c-ud514/l-1138799169/m-9238670587 5 | 2. TBD https://www.udacity.com/course/viewer#!/c-ud514/l-1462408540/e-1488328609/m-1488328611 6 | 3. TBD 7 | 4. TBD 8 | 5. TBD 9 | 6. TBD 10 | 7. Empowering the Patient: https://www.udacity.com/course/viewer#!/c-ud514/l-1580848540/m-1613069773 11 | 8. Poplation Health Management: https://www.udacity.com/course/viewer#!/c-ud514/l-1602979502/m-9748892202 12 | 9. Data Query in a Federated Environment: https://www.udacity.com/course/viewer#!/c-ud514/l-1661218596/m-1608439120 13 | 10. Big data Meets Healthcare: https://www.udacity.com/course/viewer#!/c-ud514/l-1618138700/m-1674728632 14 | -------------------------------------------------------------------------------- /CS6475_Computational_Photography.md: -------------------------------------------------------------------------------- 1 | Lectures can be found on Udacity. 2 | 3 | # Additional Lectures 4 | 5 | # Topics 6 | 7 | ## LightFields: 8 | http://graphics.stanford.edu/projects/lightfield/ 9 | 10 | https://bitbucket.org/stativ/lyli 11 | 12 | http://code.behnam.es/ 13 | 14 | https://ljirkovsky.wordpress.com/ 15 | 16 | http://lightfield-forum.com/forum/?mingleforumaction=viewtopic&t=82 17 | 18 | http://lightfield-forum.com/2015/01/lytro-in-linux-lyli-aims-to-become-open-source-alternative-to-lytro-desktop/#more-9050 19 | 20 | http://eclecti.cc/computervision/reverse-engineering-the-lytro-lfp-file-format 21 | 22 | http://lightfield-forum.com/2013/03/lytro-image-manipulation-linux-tools-to-insert-images-into-lightfield-pictures/ 23 | 24 | 25 | ## Computational Photography Camera(s) 26 | 27 | http://light.co/camera L16 28 | 29 | https://www.lytro.com/press/academic-papers Lytro (these are academic papers). 30 | -------------------------------------------------------------------------------- /CS6476_Computer_Vision.md: -------------------------------------------------------------------------------- 1 | # Resources for Computer Vision 2 | 3 | ## Alternate Assignments (Spring 15) 4 | http://www.cc.gatech.edu/~afb/classes/CS4495-Spring2015-OMS/ 5 | 6 | ## Disparity Map 7 | https://sites.google.com/site/5kk73gpu2010/assignments/stereo-vision#TOC-Update-Disparity-Map 8 | 9 | ## Edge Detection: 10 | http://docs.opencv.org/trunk/da/d22/tutorial_py_canny.html 11 | 12 | 13 | ## Light Reading: 14 | 15 | http://www.robots.ox.ac.uk/~vgg/hzbook/ 16 | 17 | ## Gaussian/Laplacian Pyramids: 18 | http://docs.opencv.org/3.1.0/dc/dff/tutorial_py_pyramids.html 19 | 20 | ## Additional resources: 21 | https://hackerlists.com/computer-vision-resources/ 22 | 23 | ## Other GT Class assignments: 24 | http://www.cc.gatech.edu/~hays/compvision/ 25 | 26 | (Advanced CV) 27 | http://www.cc.gatech.edu/~hays/7476/ 28 | -------------------------------------------------------------------------------- /CS6601_Artificial_Intelligence.md: -------------------------------------------------------------------------------- 1 | 2 | # Lectures: 3 | 4 | -------------------------------------------------------------------------------- /CS6750_Human_Computer_Interaction.md: -------------------------------------------------------------------------------- 1 | Syllabus 2 | 3 | http://omscs6750.gatech.edu/spring-2017/ 4 | 5 | 6 | 7 | Lectures: 8 | 9 | https://classroom.udacity.com/courses/ud400 10 | -------------------------------------------------------------------------------- /CS7637_Knowledge-Based_Artificial_Intelligence_Cognitive_Systems.md: -------------------------------------------------------------------------------- 1 | Resources 2 | -------------------------------------------------------------------------------- /CS7641_Machine_Learning.md: -------------------------------------------------------------------------------- 1 | Resources 2 | 3 | 4 | Some Code to print out plots of optimization problems. 5 | https://github.com/onaclovtech/OptimizationProblems 6 | 7 | Burlap-seed 8 | Something to get you started with burlap 9 | https://github.com/onaclovtech/burlap-seed 10 | 11 | 12 | My REALLY TERRIBLE ATTEMPTS at converting from Java to Python. 13 | https://github.com/onaclovtech/ABAGAIL 14 | 15 | 16 | 17 | 18 | Deep Learning Topics: 19 | List of RNN resources! 20 | https://github.com/kjw0612/awesome-rnn 21 | 22 | 23 | # some advice (Thanks Romeo Cabrera) 24 | The math is not soo hard or deep. If I were doing this all over again, my strategy would be this: 25 | Watch, take notes, understand, the "unsupervised learning" lectures (4 chapters, I think). Use that knowledge to choose your datasets in advance. Nothing fancy, no dirty data. UCI datasets are fine. Pick classification problems, not regression. If one of them is a binary classification task, even better. 26 | Choose a framework. Either R, or Python. Read the respective Packt book, and get your hands dirty doing ML with your datasets (and also learn a plotting library). 27 | It will be hell if you try to understand lots of information before working on assignment 1, try to find two datasets, and just try to understand how the frameworks work. A1 needs a lot of knowledge (if you haven't been exposed to ML knowledge before) 28 | If you are comfortable with your toolbox in advance, you won't waste time just learning how to use scikit/plotting/etc instead of working on your analysis. 29 | 30 | 31 | # datasetss? 32 | 33 | https://docs.google.com/spreadsheets/d/1AQvZ7-Kg0lSZtG1wlgbIsrm90HaTZrJGQMz-uKRRlFw/edit#gid=0 34 | 35 | # Book? 36 | http://neuralnetworksanddeeplearning.com 37 | 38 | # Youtube goodness 39 | https://www.youtube.com/watch?v=GUtlrDbHhJM&index=5&list=PLlJy-eBtNFt6EuMxFYRiNRS07MCWN5UIA 40 | 41 | # Something to Read? 42 | http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf 43 | -------------------------------------------------------------------------------- /CS7642_Reinforcement_Learning.md: -------------------------------------------------------------------------------- 1 | #Books 2 | https://webdocs.cs.ualberta.ca/~sutton/book/bookdraft2016sep.pdf 3 | 4 | http://www.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html 5 | 6 | # Paper 7 | http://www.jair.org/media/301/live-301-1562-jair.pdf 8 | 9 | 10 | ? 11 | 12 | https://www.cs.toronto.edu/~graves/preprint.pdf 13 | 14 | https://www.google.com/url?sa=t&source=web&rct=j&url=https://people.csail.mit.edu/hasinoff/pubs/hasinoff-rlhidden-2002.pdf&ved=0ahUKEwjUhvT77tnSAhUD6oMKHdEBAK8QFggfMAA&usg=AFQjCNE-vAKlObCOO1raS8JUW2YUiKjJ7g&sig2=TSLJGbBjmP73fCEZXcCQSQ 15 | -------------------------------------------------------------------------------- /CS7646_Machine_Learning_For_Trading.md: -------------------------------------------------------------------------------- 1 | ## Bonus Videos: 2 | 3 | ### Decision Trees 4 | https://youtu.be/OBWL4oLT7Uc 5 | 6 | ## Experimenting with Decision Tree visualization 7 | http://www.d3noob.org/2014/01/tree-diagrams-in-d3js_11.html 8 | 9 | https://bl.ocks.org/mbostock/3750558 10 | 11 | ## Cheatsheets for Pandas: 12 | 13 | https://assets.datacamp.com/blog_assets/PandasPythonForDataScience.pdf 14 | 15 | https://www.analyticsvidhya.com/blog/2015/07/11-steps-perform-data-analysis-pandas-python/ 16 | 17 | https://github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf 18 | 19 | 20 | 21 | # Exam Prep 22 | https://www.surveymonkey.com/results/SM-XMFQX9JX/ 23 | 24 | https://www.surveymonkey.com/results/SM-XMFQX9JX/browse/ 25 | 26 | http://quantsoftware.gatech.edu/Midterm_Study_Guide 27 | 28 | http://quantsoftware.gatech.edu/CS7646_Spring_2017 29 | 30 | http://quantsoftware.gatech.edu/Midterm_Study_Guide_Legacy 31 | 32 | http://quantsoftware.gatech.edu/images/d/d2/2016Spring-midterm.pdf 33 | 34 | http://quantsoftware.gatech.edu/images/e/e7/2015-midterm.pdf 35 | 36 | https://docs.google.com/document/d/16T79A2bvi90txWD14_i8ns2qHT20Ut7SJC-jjuZtYOQ/pub 37 | 38 | https://docs.google.com/document/d/1sVHdIchHNMJro0CbxIBXexCwQ621MPMe-sCG3KTCdEo/pub 39 | 40 | https://www.surveymonkey.com/results/SM-XMFQX9JX/browse/ 41 | 42 | https://github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf 43 | 44 | https://www.datacamp.com/community/tutorials/pandas-tutorial-dataframe-python#gs.bOxDZI0 45 | 46 | https://s3.amazonaws.com/assets.datacamp.com/blog_assets/PandasPythonForDataScience+%281%29.pdf 47 | 48 | -------------------------------------------------------------------------------- /CS8803_O01_AI4R.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # 4 | 5 | # Good list of resources: 6 | https://github.com/conorliv/georgia-tech-ai-and-robotics-resources 7 | 8 | http://nbviewer.jupyter.org/github/rlabbe/Kalman-and-Bayesian-Filters-in-Python/tree/master/ 9 | 10 | Interesting information, I built something similar to incremental kmeans didn't work all that well though: 11 | http://cake.fiu.edu/Publications/Aaron+al-14-DK.Dynamic_Incremental_K-means_Clustering.CSCI2014.published-scan.pdf 12 | 13 | Something I want to spend time understanding: 14 | 15 | https://ir.canterbury.ac.nz/bitstream/handle/10092/11104/coope_report_no69_1992.pdf?sequence=1 16 | 17 | https://en.wikipedia.org/wiki/Curve_fitting 18 | 19 | http://www.dtcenter.org/met/users/docs/write_ups/circle_fit.pdf 20 | 21 | http://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression_multioutput.html 22 | 23 | http://datascience.stackexchange.com/questions/11723/predicting-next-action-to-take-to-reach-a-final-state 24 | 25 | http://www.roboticsproceedings.org/rss06/p05.pdf 26 | 27 | http://wp.doc.ic.ac.uk/sml/project/intention-inference-with-probabilistic-models/ 28 | 29 | https://www.quora.com/What-are-the-most-important-say-top-10-algorithms-for-Robot-Learning 30 | 31 | Making a series of plots into a gif 32 | 33 | convert -delay 20 -loop 0 *.jpg result.gif 34 | 35 | 36 | ## MIT Self driving car and DL lecture 37 | https://www.youtube.com/watch?v=1L0TKZQcUtA&itct=CA0QpDAYBSITCIHv5pa6iNICFYZLTgodDxwHWzIHcmVsYXRlZEjyybCKmqfplSU%3D&app=desktop 38 | 39 | # Udacity modules 40 | ## instructions 41 | for dist in __import__('pkg_resources').working_set: 42 | print dist.project_name.replace('Python', '') 43 | # modules 44 | wsgiref 45 | 46 | argparse 47 | 48 | xunitparser 49 | 50 | xlwt 51 | 52 | xlutils 53 | 54 | xlrd 55 | 56 | unicodecsv 57 | 58 | toolz 59 | 60 | sympy 61 | 62 | subprocess32 63 | 64 | statsmodels 65 | 66 | SQLAlchemy 67 | 68 | six 69 | 70 | setuptools 71 | 72 | seaborn 73 | 74 | scipy 75 | 76 | scikit-learn 77 | 78 | scikit-image 79 | 80 | requests 81 | 82 | pytz 83 | 84 | python-dateutil 85 | 86 | pyparsing 87 | 88 | pymprog 89 | 90 | pymongo 91 | 92 | pycosat 93 | 94 | protobuf 95 | 96 | pip 97 | 98 | Pillow 99 | 100 | patsy 101 | 102 | pandasql 103 | 104 | pandas 105 | 106 | packaging 107 | 108 | olefile 109 | 110 | numpy 111 | 112 | networkx 113 | 114 | mpmath 115 | 116 | matplotlib 117 | 118 | lxml 119 | 120 | glpk 121 | 122 | ggplot 123 | 124 | functools32 125 | 126 | decorator 127 | 128 | dask 129 | 130 | Cython 131 | 132 | cycler 133 | 134 | Cerberus 135 | 136 | brewer2mpl 137 | 138 | beautifulsoup4 139 | 140 | appdirs 141 | 142 | PIL 143 | 144 | python-graph-core 145 | 146 | zope.interface 147 | 148 | wheel 149 | 150 | urllib3 151 | 152 | Twisted-Web 153 | 154 | Twisted-Names 155 | 156 | Twisted-Core 157 | 158 | ssh-import-id 159 | 160 | PyYAML 161 | 162 | python-debian 163 | 164 | python-apt 165 | 166 | pyserial 167 | 168 | pyOpenSSL 169 | 170 | pycurl 171 | 172 | prettytable 173 | 174 | ply 175 | 176 | PAM 177 | 178 | oauth 179 | 180 | jsonpointer 181 | 182 | jsonpatch 183 | 184 | iotop 185 | 186 | html5lib 187 | 188 | configobj 189 | 190 | colorama 191 | 192 | cloud-init 193 | 194 | Cheetah 195 | 196 | chardet 197 | 198 | apt-xapian-index 199 | 200 | 201 | http://www.robots.ox.ac.uk/~mobile/Papers/2016AAAI_ondruska.pdf 202 | 203 | http://karpathy.github.io/2015/05/21/rnn-effectiveness/ 204 | -------------------------------------------------------------------------------- /CSE6242_Data_and_Visual_Analytics.md: -------------------------------------------------------------------------------- 1 | # Lectures 2 | https://www.udacity.com/course/viewer#!/c-ud404/l-7959059310/m-8990089172 3 | -------------------------------------------------------------------------------- /CSE_Data_and_Visual_Analytics.md: -------------------------------------------------------------------------------- 1 | https://classroom.udacity.com/courses/ud404 2 | -------------------------------------------------------------------------------- /CS_Graduate_Algorithms.md: -------------------------------------------------------------------------------- 1 | # Dynamic Programming 2 | Videos I find useful. 3 | 4 | https://www.youtube.com/playlist?list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb 5 | 6 | https://courses.csail.mit.edu/6.006/spring11/exams/notes3-dp 7 | 8 | https://www.quora.com/What-are-the-top-10-most-popular-dynamic-programming-problems-among-interviewers 9 | 10 | Ultimately from what I've understood from the MIT lectures, there are 5 steps to really solving a DP. 11 | 12 | 1. Figure out how many sub problems there are 13 | 2. Guess how to solve the sub problems. 14 | 3. Relate the subproblems to solutions 15 | 4. Find a recursive algorithm which solves the sub problems 16 | 5. Solve the original problem. 17 | 18 | Sub problems typically break down into 3 variations. 19 | 20 | prefix which means it makes sense to start from the beginning of the 'list' and work forwards (correct?) 21 | so for this case doing fibbonacci it doesn't make sense to start with the nth value and work backwards because 22 | you don't know n, you don't know n-1... you know 0, so start with 0. (I think this makes sense?) 23 | 24 | suffix which means it makes sense to start from the end of the 'list' and work backwards (correct?) 25 | sometimes the later values need to be considered 26 | 27 | # Other good notes 28 | http://jeffe.cs.illinois.edu/teaching/algorithms/ 29 | 30 | # Office Hours 31 | ## Spring '18 32 | https://www.youtube.com/watch?v=Qx_Nbv0bhfI 33 | 34 | https://www.youtube.com/watch?v=wXGrolB-So8 35 | 36 | ## Older 37 | https://www.youtube.com/watch?v=SyeHo630M_w&feature=youtu.be&t=366 38 | 39 | https://www.youtube.com/watch?v=HBqJ_vn6Afs 40 | 41 | # Course Webpage 42 | (old) https://8803ga.wordpress.com/lecture-schedule/ 43 | 44 | https://gt-algorithms.com/spring18/ 45 | 46 | # Book 47 | http://www.freetechbooks.com/index.php/algorithms-t311.html 48 | 49 | http://books.goalkicker.com/AlgorithmsBook/ 50 | 51 | http://www.cse.iitd.ernet.in/~ssen/csl356/notes/root.pdf 52 | 53 | # Online Resources: 54 | https://www.geeksforgeeks.org/fundamentals-of-algorithms/#DynamicProgramming 55 | 56 | https://www.quora.com/How-can-one-start-solving-dynamic-programming-problems 57 | 58 | https://www.hackerrank.com/domains/algorithms/dynamic-programming 59 | 60 | https://leetcode.com/tag/dynamic-programming/ 61 | 62 | # Big Oh Comparisons 63 | http://cooervo.github.io/Algorithms-DataStructures-BigONotation/ 64 | 65 | # Recurrence Calculations 66 | http://jeffe.cs.illinois.edu/teaching/algorithms/notes/99-recurrences.pdf 67 | 68 | -------------------------------------------------------------------------------- /Correlated_Q_learning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onaclov2000/OSMCS/9fd01e147d9af6f64fd44d726c18cc42cccadcdf/Correlated_Q_learning.pdf -------------------------------------------------------------------------------- /Graduation.md: -------------------------------------------------------------------------------- 1 | http://www.commencement.gatech.edu/parents-guests/plan-your-visit 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OSMCS 2 | All resources I find will be added here. 3 | 4 | 5 | Survival guide: 6 | https://github.com/pyjarrett/OMSCS_Survival_Guide 7 | 8 | Cool Remaining Courses Visual Guide: 9 | http://omscs-courses.cfapps.io/ 10 | 11 | Reddit Wiki: 12 | https://www.reddit.com/r/OMSCS/wiki/index 13 | 14 | Slack Group: 15 | http://omscs-study.slack.com 16 | 17 | Surveys: 18 | https://omscentral.com/reviews/8803-BDHI 19 | 20 | Summer Courses: 21 | https://docs.google.com/spreadsheets/d/1m4NYvu59rpBFBr4J1_FWqMk7DoMJCdujtusCKQr_WGQ/edit#gid=0 22 | -------------------------------------------------------------------------------- /Temporal_Difference_Methods.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onaclov2000/OSMCS/9fd01e147d9af6f64fd44d726c18cc42cccadcdf/Temporal_Difference_Methods.pdf -------------------------------------------------------------------------------- /encode_and_join.py: -------------------------------------------------------------------------------- 1 | import os 2 | def filter_m4v(x): 3 | if 'm4v' in x[-3:]: 4 | return True 5 | # Plop in directory containing all videos for a class (folders and then videos) 6 | for dirs in sorted(os.listdir(".")): 7 | if os.path.isdir(dirs): 8 | os.chdir(dirs) 9 | # Interstingly I was just thinking about this today, one could set it up so that each video was in some x time chunks 10 | # Udacity doesn't split the videos into folders anymore which is super annoying. 11 | out = open('mylist.txt', 'w') 12 | for vids in sorted(os.listdir(".")): 13 | if '.mp4' in vids: 14 | # remove non alpha-numeric characters by renaming for easier joining. 15 | tmp = ''.join(e for e in vids[:-4] if e.isalnum()) 16 | os.rename(vids, tmp + '.mp4') 17 | vids = tmp + '.mp4' 18 | out.write("file '" + vids[:-4] + ".m4v'\n") 19 | # if you don't need to re-encode just comment this line out, however 20 | # OFTEN times the framerates are all wonky and this makes them all 25 fps so the audio/video *should 21 | # Stay in sync, with no weird pausing, also due to timestamp issues, re-encoding is necessary 22 | # otherwise the vidoes would say crazy inaccurate numbers for length of video. 23 | os.system('ffmpeg -i \"' + vids + '\" -c:v mpeg4 -b:v 1800k -c:a copy -vsync 1 -r 25 \"' + vids[:-4] + '.m4v\"') 24 | 25 | out.close() 26 | os.system('ffmpeg -f concat -safe 0 -i mylist.txt -c copy \"../' + dirs + '.m4v\"') 27 | os.chdir('..') 28 | 29 | -------------------------------------------------------------------------------- /proctortrack.md: -------------------------------------------------------------------------------- 1 | For those of you who haven't used proctortrack before go to the following link. 2 | https://testing.verificient.com/ 3 | 4 | I logged in via my gt email address, though its not through my GT password (so I'm not sure how that works, but it's been a while since i signed up, it might be that you create an account with your GT address and make a new password, so mileage may vary). 5 | 6 | In there a practice exam by Dr. Joyner should be listed (along with our class). I recommend you follow Dr. Joyners practice test (you can take it as often as you want, so don't worry about it disappearing). 7 | 8 | This will install the proctortrack software as part of the steps, and confirm your webcam and whatnot is working. 9 | 10 | Once installed Proctortrack records your desktop, audio and video from the webcam. Therefore, I would recommend showing your scratch paper is blank before starting the test (I have forgotten to do this in the past and had no issues, but better safe than sorry). I also personally recommend if you have a spare computer you don't mind re-formatting or ONLY using for exams this is a good idea, but that's just my paranoia speaking :) 11 | 12 | Good lighting is recommended, I have setup a desk lamp to face me so I have good lighting (and they say keep a plain background so I have setup a bedsheet hanging behind me typically too). 13 | 14 | When I show my ID the text is mostly readable but it's definately not perfect clarity, so as long as you can make out the letters I think you'll be fine. Also it's odd the hand they have you put your knuckles in is really weird shaped, just make sure your knuckles are visible and somewhat clear (I think this is simliar to your fingerprints as they are a unique identifier). 15 | 16 | Once the exam starts you need to make sure you stay at your desk and try not to move around a ton otherwise it's likely your exam will get flagged. 17 | 18 | FLAGGED DOES NOT MEAN YOU AUTOMATICALLY ARE FAILED (I believe). I believe it is an opportunity for the Professor/TA's and/or Proctortrack itself to review the video and determine if there is any questionable behavior. (I could be wrong so TA's/Professor please correct if I am). 19 | 20 | 21 | GOOD LUCK!!! 22 | 23 | 24 | EDIT: If you have any issues try to get on with Proctortrack Helpdesk/chat immediately (another student who I have spoken to just a few moments ago is having problems creating an account). 25 | 26 | --------------------------------------------------------------------------------