Machine Learning for Trading

3.96 / 5 rating2.60 / 5 difficulty11.58 hrs / week

Quick Facts and Resources

Something missing or incorrect? Tell us more.

Machine Learning for Trading
Listed As
Credit Hours
Available to
CS and AN students
Introduces machine learning based trading strategies. Topics: Information processing, probabilistic analysis, portfolio construction, generation of market orders, KNN, random forests.
  • hywNQQpgkkaGNA7MIF86mg==2024-06-24T23:00:23Zspring 2024


    • you will learn some stock trading term&knowledge that is useful and fun to know nowadays
    • Well organized course material overall with 8 projects and 2 exams with detailed criteria
    • Discussion page with lots of students asking question and TAs are actively answering it (I admitted that I didn't use that very often and mostly for complaining my regrading process sorry but I think people are there to help) Cons:
    • 4 out of 8 projects needs you to write somewhat formal reports with some unnecessary details you need to follow(or not if you don't mind lose a chunk of points) which I think is better just convert into several canvas questionnaires
    • unlike the strict report requirement, the example codes are very sloppy with weird spacing, empty lines, inconsistent naming style, and you will have to manually type in your student ID and username. Function signature got changed from project to project even though they expect you to reuse the code. Pointing these out is that all those combined, I feel the unfairness where the instructor demands a lot of unnecessary details while s/he doesn't care at all the details.
    • In order to prevent GenAI usage, exam are now tuned so that it is also hard for normal human to read. Each exam contains 110 T/F questions but was advertised as 22 questions because for each 5 of them it will come with a irrelevant questions header, making it a multiple choices questions. I got caught off-guard and did pretty bad on my exam 1.
    • Regrade process is taking forever and my issue never got resolved. This course is I think the most BUREAUCRATIC course I've ever seen. To be able to regrade your assigment, you will first need wait at least a day after the the TA's comments to be elligible for the regrading, BUT, not too late as after a week, you lose elligibility. I submitted regrading request 2/19 and never get any feedback until 5/5, a week before the semester ends. The TA gives feedback that is not relevant to what I asked and I was never able to get a second opinion after that. All in all, I think for someone with limited python skills and enthusiast in stock trading might find this course very interesting, but if you are comfortable with one of a scripting language and just want to briefly broaden your horizon, the course might be a bit waste of time and you might find yourself, like me, lost in the red tape of OMSCS

    Rating: 2 / 5Difficulty: 1 / 5Workload: 20 hours / week

  • dA5LVG9TaO+lII1HCaVmsQ==2024-06-05T16:10:55Zspring 2024

    This course has very interesting content and gives a great, broad overview of a lot of ML concepts. The lectures were fun to watch, and the projects were interesting. I would have given this a 5, but there were a few things that were big detractors. In reality, I'd give this course a 3.5, but rounded down due to the detractors.

    For starters, the exams are the worst exams I've ever taken. They're not the worst because of difficulty, they are just awfully written and impossible to study for. The exams are mostly on the readings, not the lectures, and the wording and format make them extremely poor tests of your knowledge. The instructional staff insists that the exams are good because of statistical measures, but they are so awful that every student I spoke to hated them. And they're worth more than a 1/3rd of your grade, so they can easily cause you get a letter grade lower than you expect.

    The projects are interesting, but the reports are a huge pain, and the report instructions are long, but often missing key information. I had to scour the Ed Discussions forums for TA answers to questions to fully get the correct instructions for each report. Unfortunately, I feel like the reports and exams are bringing this course down. From what i've read, it seems like it used to be a much better course.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • PoQ3UPp0U2AnwzOB/7IwRw==2024-05-14T05:55:37Zspring 2024

    Overall: This was my first OMSCS course along with one other. Overall, it's a very well-organized and well taught course. I would highly recommend it as a first course in the program and as a lighter introduction to machine learning without a strong math requirement. Stock market asset trading is an interesting machine learning domain for the projects. This course sets you up well with good tools and background for the OMSCS program in general.

    Background: B.S. in Computer Science and 3.5 YOE as a SWE. No prior Python experience.

    If you have no prior Python experience, Georgia Tech's course on EdX will prepare you for the Python background necessary for this course:

    It is certainly possible to do well in this course with no prior Python experience. Just understand you will need to add in extra hours to what others may have reported here to learn Python and its libraries (and especially the ins and outs of graphing for report figures). I put in dozens of additional hours in the first 3 weeks to complete the Python certificates above to get the necessary background for the projects. Get the Python background ahead of time if you know you will take this course!

    Projects: My biggest advice is to start projects early and to carefully review project assignments and go through their rubric's grading your own assignments for reports. When in doubt, make sure you've answered a rubric component thoroughly. My biggest grade loss was due to small oversights on Project 6's report (60%). Project 3 and Project 8 are the most time intensive and difficult but certainly possible to do well on - I got 100% and 95% on them respectively. I found project 7 on Reinforcement Learning to be by far the most interesting! I honestly enjoyed every project in the course, however!

    Readings: I personally did all of them - they help on exams the most and tend not to be as necessary for the projects but can be good for citation material in reports.

    Reports: Some students hated having to do these in addition to writing code for a project. You have to understand this is a graduate-level course to prepare you to be able to conduct research in machine learning, however. Therefore, communicating your experiments and methodologies is a useful skill. I didn't have much of this in my undergrad CS coursework (only in Biology) before so I enjoyed it. I also thought they helped me summarize and learn the material better. Start early and carefully review your submission like you're a grading TA with the rubric to make sure you've covered your bases and you'll do well.

    Exams: The lectures, readings, and projects will help you prepare best. Never figured how to prepare well for these even though I did above average - they are time-pressured and difficultly phrased - they are not typically straightforward questions and sometimes hard to interpret. Sometimes I felt I knew the material for a question but was confused by the question itself. Time efficiency is the most important skill for the exams. I recommend making a table of contents for your notes in your notebook. Answer questions quickly and mark ones you're less sure on. Then return to those questions and use your notes or ChatGPT (which is allowed on exams in this course) on the questions you were less sure on with any remaining time.

    Difficulty: This is a demanding course especially if you don't have a Python background - be disciplined and don't take it lightly. An 'A' is certainly achievable, however. I ended the course with a relatively safe A (~93%) despite not having a Python background at the start.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • thIwm1UIsVTHffrKmTAi8Q==2024-05-08T02:36:11Zspring 2023

    This was my first OMSCS course and I feel that it was a great introduction to the program. The first few weeks were a bit slow which gave me some time to acclimate to school again. There were a lot of reviews on here about project 3 being tough but I didn't think it was that bad, as well as all of the other projects. As long as you start early and thoroughly understand all of the course content prior to starting the projects, they should not be bad. I time tracked my projects, here are the logs if it can be helpful for anyone. Project 1: 12.5 hours Project 2: 10 hours Project 3: 35 hours Project 4: 3.5 hours Project 5: 10 hours Project 6: 21 hours Project 7: 10.5 hours Project 8: 46 hours I did enjoy the projects and thought that the course material was good. Some weeks had heavy required reading and I thought that the exams were tough but decent. I would recommend, but I do not think I would advise taking this as a summer class as none of the course content is removed.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • 8NkhBAvLrr45FQ8URPCAnQ==2024-05-07T01:06:31Zspring 2023

    My background: full-stack SWE with 2 years of experience but little Python experience, and no CS undergrad. This was my first course here. Ended with 98%.

    +: The readings are all pretty good IMO. I did all the readings and I thought that all but 1 of the textbooks are quite interesting. +: As long as you do the readings and watch the lectures, you will come away with decent (but shallow) knowledge of the ML landscape. +: You'll also come away with shallow knowledge related to finance and investing. Nothing you couldn't learn on your own though. +: Most of the projects are interesting and rewarding.

    -: Assignment requirements are disorganized. You can't find all the requirements just by looking at the rubric; instead you'll need to close read the entire project document, as well as read Ed posts. This is a strange choice, since it wouldn't be impossible to put all the requirements in one place. -: Projects are graded extremely slowly. If you're confident you're doing well and understanding everything, this is fine, but if you're struggling, you are not going to get feedback until it's too late. On top of that, many projects are built on previous projects, so that exacerbates the issue. -: The exam questions and answers are explicitly designed to confuse ChatGPT, because the exams are open-book and open-internet. Unfortunately, that means these questions are harder for people to understand too. The wording is unnecessarily opaque / vague. This affects everyone, but particularly unfairly hurts non-native speakers.

    • The first module was mainly about learning to use Numpy and Pandas. If you have no prior exposure to them (like me), that's probably good, otherwise, probably boring time.

    The weak points of the course are real. That said, if you're interested in the subject, and confident that you'll do fine, you'll probably have a good time.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • SqtCFkzbPij7Pd1ho2CdEg==2024-05-06T13:08:31Zspring 2023

    I took ML4T as my first class for OMSCS, and it was a great introduction to the program. Lectures average to about 1 hour per week, with readings (optional) averaging about 2 hours per week. Besides projects 3, 7, and 8, the rest were relatively easy and didn't take me more than a day, but they were still great applications of the concepts that we learned during lecture. I actually really liked project 3 because it was the first time I created a learning model from scratch, and project 8 was very satisfying because it was a combination of projects 3, 5, 6, and 7 together! If you are thinking about taking this class, I highly recommend it, and here is my advice for you: don't fall behind on lecture content, and make sure you give yourself ample time for each project. You will use the code you write for each project for a future project, so if you don't do well on one project, you will likely have to make it up. I also learned a lot about trading (didn't know anything before) and thought it was a great intro to financial concepts as well!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • mVhkLy8arsyoej9HdA+tCA==2024-05-03T16:33:36Zspring 2023

    This is a brilliant starter course for the OMSCS program. If you're rusty with programming and/or are picking it back after a long hiatus, this course would provide the perfect opportunity for you to ease back into it. It may also work out quite alright for people who haven't had any meaningful exposure to coding in the past, or come from a non-CS undergrad. On the other hand, if you're someone with an extensive programming base (i.e. doing this right after a rigorous CS undergrad or working in software engg./data science), this course may not offer all that much value. Maybe one of the easier courses out there to cruise through in the pursuit of getting closer to your degree. The Trading or ML knowledge at hand is quite superficial - it offers you inspiration, at best, to do your own research and figure out try out quantitative finance.

    In terms of level of difficulty, I felt this course was similar to that of a year 2 or year 3 undergrad CS course - nothing too rigorous. If you score above 90 overall, you get an A. Although the faculty didn't officially post any stats on final grades distribution, looking at the distribution of individual project/exam grades, I wouldn't be surprised if at least 50% of the class ended up with an A. You have to put in effort, of course, and they will make you work for it, but grabbing an A is very much in sight. Personally, I would recommend absolutely ensuring all your project code passes through the tests they've designed, and adhering very meticulously to the grading rubric for all your reports/code. Getting 100% in all your assignments is completely within reach and practical. Exams are another thing though - you will almost certainly lose some points there, but nothing worth fretting over. Do your projects well, and the rest will take care of itself.

    For what it's worth, I really enjoyed this course as a way of starting my OMSCS journey, getting back in touch with coding after years and building confidence again. Also didn't read any of the prescribed books and in hindsight, it wouldn't have mattered from a grades perspective anyway. I feel I'm now ready to take some of the more difficult courses and/or embark on any side projects myself.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • QDaEPgzTIAol7AYwjIA05A==2024-04-25T02:11:29Zspring 2023


    • Improved my Python skills tremendously, I was incredibly shocked with how much easier I was able to put stuff together at the end of the year.
    • Early assignments slowly build confidence and don't take as much time.
    • Video Lectures are best I've had in the program (only 3 courses), they teach stuff in a straightforward manner.


    • Joyner papers are kind of a pain in the butt with all the formatting, do not leave these for the day before. I think I got caught a few times up till 3-4am finishing them up.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 13 hours / week

  • R2heKw+FhNUo9VKLa/P0Qg==2024-04-15T04:45:42Zspring 2023

    Not very difficult or overall time consuming, but the course content ended up feeling surface-level and borderline pseudoscientific.

    The projects are specified to fairly exhausting detail. If you're new to python this structure is nice, but otherwise it felt like jumping through arbitrary hoops to get full credit.

    AI4R, ML, RL, and AI cover this content in more depth without nickel and diming you on the rubric.

    Unless you're interested in trading specifically, or want a lot of direction for projects, I don't think ML4T is worth the time.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • tWoDXZoAjQ9qXJlFiIBG/Q==2024-04-05T01:16:56Zfall 2023

    Nice course. Not so much to learn but indeed a good intro to ML and nice application to trading. The projects are designed fair enough and the notes provided are in detail and very useful for exams. Suggest you take another course at the same time.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • PkimOgKOFN4UDCSlxgdXZw==2024-03-10T02:47:09Zspring 2023

    • Content is easy to understand.
    • Programming assignments are easy to understand (I had prior Python/Numpy/Pandas knowledge).
    • Reports require Joyner format, which made me anxious about potentially messing up my formatting.
    • Assignments take forever to grade, so you don't have any bearing on your report style/formatting until nearly halfway through the course.
    • Quizzes were open book but were a poor test of knowledge and were often more of an egg hunt for "meta" course content.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • exenhSmf5lOOcSoZUrQd+Q==2024-01-20T20:04:35Zfall 2023

    The content of the course is interesting and structured well. I believe this was the first semester they had the midterm and final exams as open book/internet - iirc the only restriction was no communication with other people during the exams. The questions seemed to be much more difficult than practice qns provided (which I believe reflects the exam style of previous semesters). Exams were not difficult but the wording of qns can be confusing and a 1hr time limit to review 100+ t/f statements means that you're generally working off of knowledge and only looking up a few qns here or there. Marks were scaled for exams - exam out of 110 and students would receive the mark out of 100. Essentially disregarding 10 incorrect answers.

    As others have mentioned the assignments are extremely detail oriented. There is a long document with all the assignment requirements + a 1.5-2hr weekly TA session going over quiz answers and walking through the assignment. I got full marks on all the coding sections but lost marks on seemingly unimportant details in the report like a line color on a graph. It would be great if the auto-grader could provide more informative feedback as all the assignments are related. Receiving marks and feedback 4 weeks after submission sometimes delays progress on subsequent assignments. Start early on assignment 3 and 8 if you can, those are the most time consuming! Most other assignments required <5hrs to complete.

    I would recommend this as as starter course for OMSCS. Prof. Joyner is top notch, the content is interesting and not difficult. TAs are very responsive, make sure to keep an eye on Ed Discussions. It's a great course to ease back into studies.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • B7WyA0LDsvtWNQG6EZea/Q==2024-01-06T14:51:19Zfall 2023

    Summary: Overall, this course was just fine. If you're like me and just want an introduction to ML and have no ML background, then this is a great course. However, it is taught like an undergraduate course, so there is less personal responsibility, but the "coddling" takes up some unnecessary time.

    Pros: -Great intro to ML -Easy, material isn't difficult to understand -Gives some good introductory material to ML and Finance

    Cons: -Project and exam expectations are distributed across Ed discussion, weekly recorded office hours, and the course website. You need to read all of these very thoroughly to understand the expectations of the projects. -The reports are sometimes tedious. These aren't too bad but they take a lot of time and don't add much more value than a question/answer worksheet would.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • OurjdTA81rEMUz00lB7TeA==2024-01-06T00:33:16Zfall 2023

    This course has potential but it is not executed very well. They could focus on more applicable concepts pertaining to quant trading (how to construct software systems to execute automatic trades, options theory, types of trading strategies, and so much more that they should’ve covered but didn’t). The graders are incredibly tough and will mark off points just because they feel like it when the work you’ve provided is perfectly sufficient. This course opened my eyes to nothing and taught me nothing I didn’t already know from other ML courses (the ML they teach us also taught poorly) and rudimentary research. Do not recommend this course.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 8 hours / week

  • mPajKgOPQ6pV3UfAxJIgog==2024-01-05T21:00:11Zspring 2023

    An incredibly interesting class. Honestly I cannot find it in another place. The only downside is that they caught me copying from another github for like 20 lines of matplotlib code and flagged me with a 0 and a warning. Be careful! The professor is nice and smart. Highly recommend to any new comers. Keep up the great shit!

    Rating: 5 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • ZeM0UXNY1NJrZY00h0Ehzw==2024-01-04T03:51:21Zfall 2023

    Having machine learning knowledge from undergraduate, the class was not hard at all. The course achieves what it sets out to. You do not finish the class with knowledge of how to make a profit in the stock market. However, you finish with the knowledge of what is needed to make a profit in the stock market. A lot of people (like the clown below me) rates the course 1/5 because they forget it's "machine learning for trading" and not just "machine learning". Don't come into this class expecting to be Andrew Ng making a million dollars from the stock market - it's an intro course.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 7 hours / week

  • nuRLt7ornR308OqoiaEAnQ==2023-12-20T14:58:45Zfall 2023

    The focus is on stuff unrelated to learning.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 18 hours / week

  • 2Yb9pTqZf8v0/X/Q1rELfg==2023-12-18T17:47:28Zfall 2023

    Sigh. I kinda wish I didn't take this course. The two main things I got out of it were: 1) don't try to beat the market (just invest in index funds) and 2) it turned me off from taking any other machine learning courses in the program.

    I'd rate the course as a whole a 4/5 for everything besides the final project, and a 2/5 for the final project. Also, I'd give it a difficulty of 3/5 for everything besides the final project and a 5/5 for the final project.

    I found the trading material the most interesting, but I doubt I'll ever utilize any of that knowledge in the real world. The machine learning topics were also interesting, but I don't feel like I gained a good grasp of them through the projects or readings.

    Exams weren't bad considering I thoroughly reviewed the relevant lectures and readings. Both were essentially 110 T/F questions with 10 points being extra credit. There was a bit of a time crunch though as they only give you about an hour. I found that it helped to pace myself by only giving myself 30 seconds per T/F statement.

    The TAs are great. Very, very responsive and very helpful. I also really enjoyed the lectures and the What Hedge Funds Really Do book. The books on machine learning were all pretty over my head. I just tried to memorize what I could for the exams but nothing from them ever really clicked.

    Okay, so now the projects. I loved the first few. Project 3 was tough but I put the time in reviewing all the relevant material and got it working. I was so happy that I broke out into an impromptu dance. Project 6 (technical indicators) was also rather time intensive but I enjoyed researching and writing about each indicator.

    So, I assumed that as long I could invest a large chunk of time into Project 8 that I would get a good grade and be happy with the results. Well, not really. Essentially felt like 2 weeks (80 hours or so?) of trial and error. I really, really wish that they gave some more direction on it. I attended office hours, reviewed the lectures, all the posts on Ed Discussion. It was kind of heartbreaking. I still got a B on the final project but I don't feel like I deserved it considering I failed half the test cases.

    I typically feel that a hard earned B is more valuable than an easy A, but I couldn't tell you what I got out of that final project. I envy the other students who were able to bring all the previous projects together into something that worked in project 8.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • gvPt8hiMJrEgn9+OIi+bQg==2023-12-18T04:31:09Zfall 2023

    For context, my undergraduate background is in STEM with a minor in CS. I paired this course with Deep Learning for the semester and feel like the schedules of these two classes worked together extremely well. There were only two weeks where assignments/quizzes for each class landed on the same week.

    I enjoyed this course, but more for its introduction to finance topics than for any content on machine learning. You definitely get out what you put into this course. TA team was excellent. They engaged with the students in the forum quickly and were helpful in answering questions. Sometimes they came off as condescending, but this was in situations of people repeatedly asking the same questions or not taking the time themselves to search the forums. One thing that is important to note is that the exam format of this course has changed, from multiple choice to a multi-select format. This increased the difficulty of the exams slightly from what I had expected based on previous reviews. Projects for this course were enjoyable/interesting but tedious, with 25-50% of the time on the project being spent on the actual implementation, and 50-75% of the time being spent on looking through the 10-20 page project writeup and making sure that no points would be deducted for having an incorrectly colored line in a graph or using a list instead of a NumPy array. With so many people taking the course concurrently, it is understandable that they have standardized the assignments to provide quicker turnaround time in grading. While long, the assignment writeups communicate all expectations for the project, its just a matter of tracking down the requirements.

    Subjective Project Difficulty Ranking: 8 > 3 > 6 > 5 > 1 > 2 > 4

    Would I take this course again? Maybe. I learned a lot about finance in this course but felt like most of the course difficulty came from tedious assignment requirements.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • yioUzOoyVpmQv0kGHCgzMA==2023-12-17T23:32:59Zfall 2023

    My background is EE not CS, and I worked 40-60 hours a week. (generally 40 hours but closer to 60 hours for 1/4 of this semester). I was familiar with PyCharm, Pandas, and Numpy prior to this course however I would not have called myself an expert (had only used that a handful of times). I was also a little familiar with basic trading so some of the financial concepts taught were not new to me. This was my first class at OMSCS.

    Class wasn't difficult per se - if you took notes while watching the lectures carefully, paid attention to the discussions happening on Ed, and reviewed or attended the live weekly sessions, then I think you'll do fine on the exams and quizzes.

    Challenge came from the projects which there were 8 total; some were easy and straightforward but many were time consuming and challenging to implement. Some projects even build upon previous projects so if you missed something on a previous project, you'll need to go back and fix them. All very do-able and in my opinion (for the "harder projects", there are even recorded lectures on how to think about/implement your project), not impossible to complete successfully for full points.

    25 Hours a week is an estimate - most weeks I'd dedicate 5 hours during the week and around 15 hours on the weekend but there were 2 or 3 weeks where I put around 40 due to projects. Again, not hard, just time consuming to write and debug all that code.

    Lectures are fine and I got by with mostly using them, only touched the textbooks the week of an exam.

    I don't understand the people who complain about the lectures being out dated. Sure they were recorded a while back but the material in them is still valid. Reading reviews and posts on Reddit makes me think that people were expecting to be able take the material taught here and immediately be qualified to work as a quant/use your final project to begin day trading. In one of the weekly discussions early in the semester,, we were told that this course was meant to introduce us to financial concepts and trading, introduce us to ML algorithms, and set us up so we're at a place we can continue our studies if we were interested in learning more. If you come in with that mindset, you'll see that there is definitely a lot of value to this course.

    Final Thoughts: Great first class, definitely learned a lot about ML, finance, and even learned a few new things I could do using Python. I wouldn't let any negative reviews discourage you if you're even mildly interested in any of these topics.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • yF4sI7zyPu5v8EW7czbz1A==2023-12-10T05:14:32Zfall 2023

    -Oh Man... Least favorite course in the program (this was my 10th and final one). Please Take another course. -Lectures recorded in 2016 and handful in poor quality. -Course policy makes the 2 exam brutal experiences compared to other courses. Exam topics are secret and information it not as transparent as it seems. -The coding projects are easy if you are comfortable, and get fairly tricky towards the end. The description for the projects takes hours to digest its ridiculous imo. -If you want to learn about stock trading this course talks about obsolete approaches and in fact laughs about what we learned in a final interview you have to watch. Just watch video online about stocks you'll have a better experience.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • mAS9pcXuYcZRQw3M0aP6jA==2023-12-07T20:55:35Zfall 2023

    Out of the 30 or so Georgia Tech courses I've taken so far across BSCS and MSCS, ML4T is the final course in my degree and is also the worst in terms of overall quality.

    Criticisms and areas for improvement:

    • The quality of the lectures also need to be improved. Some of the videos are hour long lectures recorded live several years back. Because the original professor, Dr. Balch, no longer teaches the course, no changes have been made to the curriculum. Having trading lectures from a College of Business professor and ML lectures from a College of Computing professor would dramatically enhance the quality of the lectures. At the moment it is below MOOC quality.

    • Reports for programming projects are busy work and should be replaced by a short set of questions about the results that can be answered with a few sentences.

    • The first assignment, Martingale, is pretty much irrelevant to the rest of the course. Replacing it with a short assignment covering vectorization, Pandas, and NumPy would be much more beneficial to the students.

    • The Gradescope autograder is not properly utilized by the course. The final submission should run the full suite of tests and actually display the grade for the assignment.

    • The wording of exam questions is convoluted: sometimes proposing some scenario which requires additional time to parse, flips between positives and negatives (e.g. select all that are not X), and uses terms that were not used in the lectures.

    • Assignment descriptions are extremely long and formatting guidelines (areas for penalization) are scattered throughout. Definitely need to be reworked.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • eZgrqqzZpxZjLgc19X8WNA==2023-12-03T18:32:21Zfall 2023

    This was my first course in OMSCS. Before starting the program I took a couple of classes in Java at a local university. This was my first class that used python and I had no prior exposure to ML concepts. However, I do have a STEM undergrad.

    I thought that this class was a good starter course. They are really soft graders for the reports. Framing the ML concepts with stock trading was interesting and provided for some fun projects.

    The only real con that there is a wide disparity between the projects in terms of time of completion. Some weeks the project took me less than 3 hours and some projects 3 and 8 took upwards of 40. The tests are also pretty difficult.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • lePNdb4CqhCTGyl2u/iBTQ==2023-11-28T00:16:36Zfall 2023

    Easy class-having had past experience with numpy.

    I found the projects more tedious than interesting, especially given the exacting demands of the report formatting.

    In all honesty, I took this class because I wanted to learn about investing, and was hoping for more of a focus on that from an individual investor perspective, but this is much more aimed at what to do if you want to work in a hedge fund.

    I could see it being a little more rushed during a summer semester, but in fall it was a nice breather before more difficult courses.

    Rating: 2 / 5Difficulty: 1 / 5Workload: 3 hours / week

  • km8ldVYfoKKLYnLxoonhuw==2023-11-06T17:33:50Zfall 2023

    Listen up, folks! This course can get pretty tough, especially P3 and P8, which are no walk in the park. I won't lie, even I had my struggles with P1, so don't take it lightly.

    Seriously, don't wait until the last day to do your projects. The readings can be overwhelming, and you'll need to put in some serious time to get a handle on everything especially if you want to read the unrequired martials.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 16 hours / week

  • hKUrquS3h8rEue9ZD5pSeg==2023-11-03T20:00:34Zfall 2023

    TL;DR: Unless you are ready to sweat every weekend over irritating coding tasks, do NOT take this course if you are not familiar with Python and some of its libraries like NumPy, Pandas etc. which are commonly used in ML.

    Background - Undergrad in CS + 2yrs of SWE experience at big-tech.

    I hoped that this course would be a gentle introduction to the world of ML, given that most of my background and experience has been systems oriented. However, being completely unfamiliar with Python and its ML-specific libraries, 99% of my time was spent in banging my head over how to transform a numpy array, or how to plot a graph with appropriate legends / axes using mathplotlib (plus the overly detailed and completely meaningless specifications for plotting graphs for each project).

    And to top if off, you're expected to present your analysis for each project in the format of a research paper, which again involves so much grunt work.

    In terms of conceptual learnings, this course is virtually useless. I learnt way more during a 4-week ML concepts seminar at my undergrad than whatever this entire course has to offer.

    So if you don't know Python based ML, get ready for hours of grunt work that will take up every weekend (almost every week requires a project or assignment to be submitted).

    Totally not worth it if you're planning to specialize in Systems. If you just want to learn ML, I'd rather recommend watching a youtube video series somewhere.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • ZN9uVRB/TlU1+5KZLa6fUA==2023-09-07T23:07:14Zfall 2023

    I go over every detail (in 5 mins) of this class, check it out!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • LefJrbGb0JcEykix98KsUQ==2023-08-07T17:50:52Zsummer 2023

    The general perception of this class is fairly accurate, but I think what is not mentioned is how much farther you can take the content if you want to. I didn’t do the readings and got an A. Exams are MC, straightforward, and weighted relatively lightly. I rate difficulty as easy when in reality the difficulty could be harder if you set yourself to a higher standard. The first week or two feels like an introduction to python/pandas/numpy, but after that the class is 50/50 between trading and introductory ML. the TAs (who predominantly run the class) are responsive in forums, provide clarity in office hours, and encourage discussion and deeper analysis whenever possible.

    As someone who does not want to pursue ML, I took this class because I thought it would be a nice introduction to it (in addition to being interested in investing).

    The content was really interesting. My biggest gripes were that I do not like writing reports (which is what I spent the most time on) and (and the reason for the lower overall rating) it took a while to get feedback on assignments (this improved after the middle of the semester, but we still waited on ~50% of our total grade until then). Follow up regrade requests also took a while to address.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • 3bJs4VDAeOmb7sH7T6QKjg==2023-06-16T05:23:46Zspring 2023

    First semester was Spring 2023 in OMSCS program. Was a bit nervous about getting back into school and wanted to take something more mellow. ML4T hit the marks as its using python and of a subject that I'm familiar with already (ML). The class I believe is structured well. The projects are paired with grading scripts which, if you pass all tests, you get full marks on the project. However, there is still the report aspect of it but these are straight forward as well. Ensure that you answer all of the questions or bullets they list for the project and you WILL do well. The hardest part IMO about writing the report was using Professor Joyners document format as I have been use to MLA or APA from previous classes. While I did enjoy this class, I do, looking back now, feel that I slightly wasted one of the classes I could have taken. Not saying that this is a bad class but there are so many great options being offered that I currently can't decide which would be the best to take and already losing out one slot is slightly upsetting when I could take something significantly more interesting or more high-level as ML4T seems to only scrape across the top of each subject. Coming in as a new student, this class is a great choice but looking back now, you could get way more value from other classes. Forgot to mention, exams are straight forward multiple choice - study the practice questions/exams they give and you'll be fine so long as you do well on those.

    --------Difficulty--------------------- 3/5 - except p3 which is 5/5 and p8 which is just extremely time consuming 4/5

    --------Rating----------------------- 4/5 - as a brand new student 2.5/5 - looking back, kinda wish I took a different course as I didn't learn too much from it

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • zgMHxawDF1NZxVYd8Iu4aw==2023-06-09T06:09:07Zspring 2023

    The full review can be found in my post:

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • rEAqBxIsmrddBZcG4EalzQ==2023-05-19T19:01:35Zspring 2023

    Was split between between a 2 and 3 on this. On course content I would give it a 3, or potentially event 4. However, the way this course was run and administered made me want to rip my hair out. This course could be good, but the way it's run is just so frustrating to participate with.


    • Overall pretty mellow in terms of workload and difficulty. Brief hotspots like project 3 and project 8
    • Exams are very easy. I think you could have never watched a single lecture and probably get a 75%
    • Projects are (for the most part) fairly interesting, and good practice of python programming
    • Lectures are kind of high-level and shallow, but at least mostly interesting
    • Exposure to basic concepts of finance. May or may not be interesting depending on student interests.


    • The project assignments are these overly pedantic, litigious tomes. They make an Apple Terms of Service contract seem consumer friendly.
    • The TA team has this faux-hyper-positive tone, but are condescending and generally not helpful.
    • There are 8 projects in the course, and we didn't receive a single graded assignment until project 6. Student's are not given a meaningful chance to course correct.
    • On the projects, they levy massive grade penalties over tedious minutia. Meanwhile, some of my writing was absolute garbage, yet somehow scores 100. Basically, the projects largely boil down to an exercise in box-checking by the faculty.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • jiSBPxsSUJFAZWj0X6rCyQ==2023-05-07T08:52:35Zspring 2023

    I took the course in Spring 2023 and ended up getting full marks throughout. Apart from finance, I do not think I learnt much from this course. I did not like the ML part a lot, not because I work in ML, but because I don't think this is a good way to learn ML.


    1. TAs were super responsive and helpful.
    2. The lectures are well-organized.
    3. Good first course if you have non-CS background.


    1. The lecture content is slightly outdated. This was my first sem and I was surpised that lectures with errors/mistakes have been used continously since 2017. Atleast add some on-screen info during the lectures.
    2. Basics ML stuff like cross-validation or out-of sample testing were completely ignored in P8. I would recommend students to do this themselves.
    3. TA live sessions were unnecessarily long. They were filled with generic and unnecessary remarks, useless boasting from a member of teaching staff about how he would conduct interviews. I would request the TAs to keep TA live sessions short, specially if you refer to it while answering queries. If possible, provide rough timestamps.
    4. The same member of the teaching staff (mentioned above) provides generic responses very frequently. Responses like 'do debugging, it helps' are completely useless.

    Students taking this course

    1. Read the assignment wiki, listen to TA sessions and follow Ed regularly. You'll be fine.
    2. Do practice questions for Exam 1 (30 question pdf) and Exam 2 (100s of questions). Everything is from these.
    3. Do not limit yourself to what is being taught in the class. If you want to learn more, you can do a lot more than what is required.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • g3uiLlzpwx8vmMYi1lZv9w==2023-05-06T15:16:43Zspring 2023

    An alright course overall. I went in expecting the "for trading" aspect to be more of a framing device to learn about machine learning, but a significant portion of the class is dedicated to teaching about stock trading, so don't expect an incredibly deep dive into the "ML" part.

    The majority of projects are very straightforward and some can be done in just a few hours. Most have fairly long reports associated with them, but grading is lenient as long as you make sure to follow the rubric.

    Both exams are just a couple dozen easy multiple choice questions, but the study material for them is pretty bad -- the practice exams are years old and don't cover all the same content as the modern class.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • DgyoAWoELzCKa2AvtzXT9w==2023-05-04T13:32:06Zspring 2023

    This is a great starter course for OMSCS and gives you a general idea of what to expect out of a course! (In this course, some background in Python, Numpy, Pandas, and/or Matplotlib is recommended though) This was my first course in the program too and was overall a good experience to warm up and adjust to the pace of the program.


    • Great responsive TAs (Both Ed and Slack, mostly Ed)
    • The assignment schedule for all assignments is released in advance, so you can frontload work if needed, but even otherwise the pace is reasonable for a longer semester (Fall/Spring)
    • Can serve as a great warmup for ML (Decision Trees/Q-Learning), also gives a basic intro to some Finance concepts
    • Easy exams (both midterm and final), shouldn't require more than 2-3 days of prep each, and easy quizzes


    • Slightly dated lecture material (still well organized in Ed lessons)
    • Assignment requirements are lengthy and pedantic (As other students said, you know something's off if TAs are asking you to use a highlighter on the grading rubric) and others reported marks being deducted for (minor) issues like printing to the console/plotting windows, on top of which sometimes FAQs are needed to cover up even more details that are unintentionally omitted, which can make the whole experience a bit of a hassle.
    • Less learning for people who already have a background in Finance or ML (It touches only the basics of both and not much in-depth)
    • Projects 3 and 8 can be big, not due to the complexity/challenge, but due to the sheer number of moving parts needed to complete these assignments (but I guess every course in OMSCS has these), my advice is to start these two as early as possible and not leave it for the last weekend :P
    • It takes a long time for grading and for any feedback on your work (in our case, only 3 batches of grades were released one before the drop deadline, one near the last project's deadline, and one near the end-of-term)

    Rating: 4 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • JUQxZUpmh3+V+YSgRWfQGA==2023-05-04T08:38:55Zspring 2023

    At the start of the year, I began my Master’s program at Georgia Tech University. However, in the first semester, I faced various difficulties. Despite this, I managed to perform well (result not out but hopeful). I particularly enjoyed taking ML4T as my first course. I chose it based on reviews from OMSCS Central and my specialization. The registration day was like a quick and exciting flash sale on Amazon, and all seats were booked within a minute.

    ML4T is an excellent introductory course for learning about finance and machine learning concepts. Since I already knew these concepts, the course only took about 5–7 hours per week, except for the last few project weeks. I learned how to write Decision Tree and Bag Learners from scratch using numpy, which was a great hands-on experience. The course also covered reinforcement learning and Q-Learning, and I got to create a Q-Learning model from scratch for a trading use case, which was a valuable learning experience.

    Besides machine learning, this course also taught me financial concepts that have made me a better investor. I learned that even choosing a server location can be a significant decision for high-frequency trading companies.

    Learning about amazing financial concepts has certainly improved my investing thought process. Now, I understand the meaning of Alpha, Beta, Sharpe Ratio, and the volatility of a fund. I have learned to evaluate stocks based on fundamental and technical analysis.

    I also learned about the Efficient Frontier portfolio, which is a risk vs return plot that helps identify the best option with minimum risk and maximum return. I have gained knowledge about mean-variance optimization, which involves combining stocks that have anti-correlation in the short term and positive correlation in the long term.

    Additionally, I received an explanation of options trading and profit and loss plots. I also learned about options strategies like the Covered Call and ButterFly techniques. EMH and CAPM concepts were really valuable.

    In total, the course consisted of two exams and eight projects. OMSCentral currently rates this course with a difficulty of 2.5 and a workload of approximately 11.2 hours. However, I found that I needed much less time to complete the course, and I generally studied for about 5–7 hours per week. I often completed my work over the weekends. This course does have report writing, so try to be an efficient writer, but reports are not that long.

    Overall, I highly recommend this course as an OMSCS starter.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 6 hours / week

  • nub3PuFS5hQamHCj06AlaA==2023-05-03T09:37:00Zspring 2023

    While this course may look like 'clickbait' it is actually really good. The first 7 projects cover a wide range of finance and machine learning topics, with everything magically coming together in the 8th capstone project.

    While the workload is not heavy, it is relentless. Taking a week off can create time-management problems. Taking two weeks off can trigger panic! Give up trying to follow the thousands of discussion topics on Ed and instead stay laser-focused on the schedule.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • NInd7B4im9eh5xMz8a7sTg==2023-04-30T17:55:27Zfall 2022

    This is one of the best courses in the OMS program and I would consider it a "must take" if you are in OMSCS or OMSA. The projects are pretty fulfilling especially the final project where you put all of the tools/techniques from previous projects together to develop your own AI/ML trading agent. It will not exactly translate into real-world trading but it is a good first step.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 14 hours / week

  • tTb8KqAw9Zs01vBDk45q4A==2023-04-28T17:13:18Zspring 2023

    I signed up for this class despite reading how unorganized it was because I saw Dr. Joyner's name. Unfortunately, I don't think he got around to giving the Joyner's touch this semester.

    For example, the final project's description was 25 pages long. There was a 1.5 hour long TA discussion video going over the project. Yet, there're still hundreds of posts asking for clarifications and even after you read through all those posts, you might still have questions.

    For the first half of the semester, no grades were released till right before the final drop deadline. I'm not sure why they insisted on not releasing any grade. It was very stressful as projects built on previous ones and I would much rather not have a "W" on my transcript if I had to drop.

    If you're planning to take this class, I highly recommend reviewing numpy and pandas as well as read through the posts on the forum. Not all the project requirements are specified on the website; some are hidden in the posts and if you miss it, you miss it. There are also typos and mistakes throughout the lecture videos that won't be clarified unless someone posts about it. Also triple check the scoring guide before submitting. If you draw a black line instead of a red line for the graph, you can lose 10% of your grade.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • BsqWiA2rx6PVxOKvP6tViA==2023-04-17T04:43:46Zfall 2022

    This class was pretty easy. I'm almost done with RL this semester and comparing the two, this class was probably half as much work.

    This is a great first course, or if you need a break. There is still a decent amount of work here so if you expect it to be a complete pushover, you will be hurting. Nothing is too difficult and if you follow the instructions its pretty hard to not get an A. If you took RL or ML, I probably would not take this class as the ML techniques taught in this class are pretty basic.

    If you are interested in the stock market I would recommend it, but if you already know about options and technical analysis I would not take this class, as that's probably most of the value I took away from this class.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • B2R/DEtMZGuUBgdcFgzLTQ==2023-01-26T17:23:57Zfall 2022

    Pros: Overall, I enjoyed this class and learned a lot. I gained the ability to use numpy, pandas, matplotlib libraries and learned to write papers describing experiments. The TA staff are fantastic and ML4T offers a lot of engagement in Ed as well as with the office hours and supplemental material.

    Cons: I would say the less enjoyable parts of the course were following along some of the videos that are of low video quality or resolution. The project descriptions are lengthy and you have to spend a lot of time making sure you tick each requirement.

    Time Required: I timetracked my work and logged 185 hours over 16 weeks for an average of 11.56 hours/week. I have previous exp. working in python and this was my 2nd class in OMSCS. The time commitment varies per assignment and can be lumpy on a week to week basis. It is possible to speedrun the course, as some folks did in my term.

    (Please note, this class does require a lot of writing. If this is not your preference, it may be less enjoyable in that aspect and require additional effort.)

    How to do well on exams: Study the sample questions and make sure you can answer them all. They might mention to skip the questions on "The Big Short" movie, as they did in my term.

    How to do well on projects: -Download the project spec -Go through every single line in the rubric -Double check that you meet each requirement. (You must explicitly answer each line in the rubric!) -Sleep on it -Repeat this process until you are confident you match all requirements. -Post your charts in the charts threads per project and compare against your peers' to make sure your work is correct

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • EPpqLrV3A5+QhesepY/E/g==2023-01-23T05:50:42Zspring 2023

    I'm in my second week of the course. This is my first course in OMSCS. I have decades of professional experience working in equities trading technology (non-programming role). I took the pre-requisite Python course via Edx for 6 months leading up this class. Between the readings, lessons and project1 in the first 2 weeks I am spending 60 hours a week or more on this class so far. Despite those hours I am not able to complete the code for Project 1. Seems like a cool course if I can continue, but this is without a doubt the hardest course I have every taken in my life so far. May have to withdraw or drop out completely from OMSCS. I researched this course on omscentral in advance - so buyer beware with the workload estimates on here!

    Rating: 3 / 5Difficulty: 5 / 5Workload: 60 hours / week

  • B9ODZY/BT5HrZA2E/KF9WQ==2023-01-05T16:14:17Zfall 2022

    As with a lot of these reviews, I think people who are quick like to commend themselves on it and talk about how easy it is, but for most of us, this class in fact is not ultra easy and will take some work. That being said, it's very doable.

    Intellectually, the concepts are decently challenging at times and will take some time to wrap your head around. Other times, the assignments are intellectually straight forward and you just need to code them (ie. market simulator). For example, creating a decision tree assignment is not a cake walk, but the stringent requirements also are a large contributing factor. You will likely need to actively seek out the material offered in the class, like the extra recitations, etc. and watch lectures again to understand some concepts and get a good start. That being said, it's not insanely impossible to do, you just need butt-in-seat time to get it done.

    The stringent requirements are really bad though. I spent hours pouring over the details of the requirements and still messed some of them up.

    The exams are akin to undergrad history or music electives with a CS twist: sit there and ingest a few hundred practice questions until you can regurgitate them onto the test.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 17 hours / week

  • lgSVrZ6cNPkcWP7JsDkMcQ==2022-12-23T16:43:55Zfall 2022

    This is an interesting class the TAs are helpful and the course is structured well. Problems-

    1. The course is structured so that 2 assignments are worth a big chunk of your grade and take up a lot of time. Some assignments I literally finished by being in a TA office hour session for 30 mins, right there. The big ones are the Asses Learners(15%)and p8(20%) every other project is worth 3-8 percent of your grade. The first project is kind of like a filter imo. Its not hard but if you let it sneak up on you and don't work ahead of time it WILL absolutely hurt your grade.

    Good things- Office hours with the TAs (which are everyday) help a tonne. The exams are not too hard if you study the material and revise it well you be able to do well.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 4 hours / week

  • fFg2IxKL6GEFuGO2Z4KVow==2022-12-22T23:31:04Zfall 2022

    I really enjoyed using Python libraries to analyze stock data. The first seven projects build up to a pretty open-ended Project 8, the capstone, in which we trained a model on real stock data. I feel like building a model to earn money on the stock market is something that most CS people want to do but never get around to actually doing; I found the projects rewarding and I really enjoyed hyperparameter tuning for Project 8.

    This was not a terribly hard course. The highlight for me was spending so much time learning NumPy and Pandas.

    The project descriptions are detailed, so the projects can be completed ahead of time.

    Project tips:

    1. Make sure your code compiles without issue in Gradescope, passing all tests.
    2. Be deliberate about following all instructions.
    3. Don't spend time staring at a bug; look at Ed forums.
    4. Watch the TA Live Discussions live or close to live.
    5. Start the report early because it can take a while to generate visualizations, etc. Definitely not the fun part of the project but very important for your grade.

    Exam tip: Watch the lecture videos on time or early and take notes. Make sure that you understand all of the concepts on the exam review and you'll do fine.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • YSmR2Wa53yPIhwqoL+t8Xw==2022-12-22T01:05:39Zspring 2022

    I got an A! This was the worst class I took in OMSCS. The content is very easy and you don't learn a lot. The class teaches some python (pandas, numpy etc.), some technical financial analysis and some ML (decision tree and Q-learning). Even though the content is easy, their stupid requirements can cost you a grade very easily. Make sure you read every single requirement and check that you did it all. I was almost gonna get a B from this class.

    P.S. I took it in Fall 2021 but selected Spring 2022 because there was no such option.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • wAUSAAQrphyFq4CvXXE51Q==2022-12-17T03:43:38Zfall 2022

    This was my first class and I don’t regret my decision of starting the program with this class. The time commitment of this class depends on the projects. I recall one project easily taking 20-30 hrs, while other projects could easily take only a couple of hours. Will highly recommend people taking this class to always stay ahead of the game. Never underestimate how much time you’ll need for projects. Will definitively recommend to any students starting the program to start it with this class. Overall a great class A++

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • w8O28GZbi4QsOKRokvPQ3w==2022-12-15T18:21:34Zfall 2022

    This is a weird course.

    It's not necessarily difficult in terms of understanding the material, but it's time-consuming and arduous to get all of the deliverables over the line for all of the reasons other students mentioned below. As in, it took me a much longer time to get some of the projects completed than the other two classes I've taken (GIOS and IIS), but I learned significantly less while doing so as most of my focus was on making sure I met the specified rubric rather than re-molding my brain to learn new ideas.

    The TAs were always responsive, but I never got a helpful answer out of them. For instance, when I asked for clarification on a question on one of the reports, I got the answer: "Your probability is XXXX, and this is unlikely and too high in Q4. In Q5, your expectation is XXXX, which is also unlikely and too low. I recommend checking your simulation results." Asking a student to 'check their results' when they've already submitted a clarification request asking for how they could've thought about the problem differently isn't useful.

    We get quick grades on the exams, but we have to put in a special request to see which questions we got wrong and we don't get an answer key.

    We are required to submit multiple reports and projects, with a stretch of a month where we have a project due every single week where all projects build on one another, but we have to wait over a month to get the grades back potentially repeating the same error or assumption across multiple, ungraded projects.

    All of the assignments are released at the beginning of the semester, so it's possible to get started on any project ahead of time. This is great, except it has the net effect of different tranches of students working on different parts of the course, so the EdStem forum is a mish-mash of questions and, more importantly, students who had got it and turned in their assignments already don't help the other students while they're waiting for the next project. The moving in lockstep goes a long way to helping students feel like they're part of a whole - as it stands now, I felt like I was more alone in this course than others.

    My goal for the class was to dip my toes into machine learning, and while I did get a reasonably understanding of both Q-learning and decision tree learners, I didn't have any moments in the class where I really had to stretch or get into conversations with fellow students or TAs to struggle to that 'ah-ha!' moment that I did the other courses that I took.

    It feels like since there's not a professor who has a background in finance that the material has drifted somewhat and the course lacks focus. So as it's gotten stale, the workload has increased by adding busy work that takes a long time and lacks meaningful feedback.

    In summary, this class isn't difficult in the 'the material kicks your teeth in' kind of way, but it's difficult in the 'make sure you manage your time correctly and be confident that your work is correct' kind of way.

    My advice for the course at the end of the day was to shunt the busy-work parts of the course to Gradescope, and give immediate feedback for those problems. Ground the students' basics with confidence and then make the programming assignments more difficult to encourage stretching.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • ijwyo+lHyowSh99JVOv5Ig==2022-12-14T21:10:36Zfall 2022

    The lectures are very clear and logically presented, and the content is well explained. The readings are informative as well. You won't need to complete optional readings for the exams and whatnot, but I suggest doing them anyways to get as much out of the course as possible. Otherwise, you may feel like you aren't learning a whole lot in terms of machine learning. The TAs are fantastic. The coding projects range from challenging to easy, and a few are accompanied by papers (no more than 10 pages long). The written, online specifications for the projects are a nightmare, however. They are unnecessarily long, full of repeated instructions, littered with inconsistenties and outdated info. I suggest setting aside 3-4 hourse to go through each one, making your own outline and logging any questions you may have. The study guide for the exams is also WAY outdated and basically useless. Don't use it. Just review the non-optional material you read and heard in lectures, and you will be fine. In summary, this class is GREAT except for the study guides and project instuctions. I would definitely recommend it.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • SuCs6vUKXtWrCyQuVU6ZBQ==2022-12-14T17:06:11Zfall 2022

    I took it as my first course in my OMSCS journey. I am Computer Engineer by profession and did my MS in 1999. In my opinion, ML4T is a good course to take if you are looking for light work load or pair it with a hard one. It has very good course content and programming assignments(and report writing for some of the projects). It does not expect or require any prior Python/Numpy/Panda experience as you will get enough time to learn while taking the course.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 9 hours / week

  • PfmIAfgIvMdo9V5jd4mYPQ==2022-12-13T22:38:29Zfall 2022

    I think the TAs are the best part of this class. I felt supported all the way. It was kind of a bummer though not to have Prof Joyner present in any online session. I legit thought my professor was Steven Bryant (shout out to this guy's diligence and the diligence of the TA staff as a whole)

    Non-CS background here, 1st class, learned python on the go:

    • From a content aspect, the course was not that challenging and I actually wish it covered more ML than finance (although you can argue this is ML "for trading") I wish there were updated and more lectures about and systematic trading because that's where ML is growing
    • From a grading/assignment perspective, the class could use improvement: lengthy and unnecessary requirements that don't teach you anything and make graders and students miserable. I would much rather explore challenging topics then spend hours back and forth between Ed platform, TA sessions videos and reading requirements 10x

    Good starter class in my opinion and I would recommend it.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • wARY8W3Erj9IhpaGiN+cdw==2022-12-12T18:12:13Zfall 2022

    The material in this course was not all that challenging, however, the course was "hard" for me because I found the topic to be rather boring. The stock market does interest me, but having to write papers about small coding assignments was very unmotivating. I rated this course at a 3. I would say the material is a 2/5. Finding the motivation to write the reports and meet the deduction-heavy requirements of the projects made the course feel like a 3/5. In the future, I hope to stick to courses that have minimal writing.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • djMzMtNHt3nFrKhVUcuxLA==2022-11-30T12:51:21Zfall 2022

    Amazing class!

    Highlights for me:

    • INCREDIBLE TAs. I had a private Ed post that literally 3 different TAs chimed in on. Amazing engagement and guidance from the whole team (and a special shoutout to Steven Bryant; he seemed like he was everywhere I turned on Ed)
    • Relevant, interesting lecture videos.
    • Projects were interesting and challenging
    • Loved that all assignments were released at the start of the semester. This allowed me to work ahead and spread the load throughout the semester.

    Really no cons to this class. I guess some of the assignments were a bit slow to be graded, but what are they gonna do when there’s so many students…

    Really one of the best organized and executed classes I’ve take so far!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • 88vp4skNB3QCasINaU5Heg==2022-11-29T02:01:25Zfall 2022

    Interesting content, love the projects.

    Exams suck and should be removed.

    The reports, while nice in theory, make the grading take an ANNOYING amount of time.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • +rlO22mv1WfHSZ5PuZEMhQ==2022-11-14T20:12:27Zspring 2022

    Writing this review in the fall with a little more perspective after taking a few more courses. This is a good course with some major drawbacks that could easily be fixed if the staff were interested. I wanted to like the course more than I ultimately did. But it's still run decently (may be a commentary on other courses more than this one).


    • TA's are very active. They're responsive on Ed forums and office hours are held multiple times every day. So if you're looking for help, you can get it easily
    • Course is very well taught. Dr. Balch makes the material very easy to understand from lecture videos
    • Material is interesting and a gentle introduction to ML / AI if you're just getting going to the program


    • Project description pages. Oh my god they're terrible. You'll waste hours deciphering these. I'm halfway through the OMSCS program, and this is the worst I've seen. They feel like they're written by 20 different people, printed out, thrown in the air, then put back in a random order. Sections are repeated but with slight differences that make it difficult to notice / figure out which version is correct. Other parts are repeated verbatim. Certain parts are repeated unnecessarily every project (we get how Gradescope works...don't need a section every time). Certain part are run-on paragraphs rather than bullets which make finding requirements difficult / easy to miss. And API examples might not reflect the requirements of the assignment (different dates, stock symbols, etc.). And in a 6,000+ word document, it's way too long to set students up for success.

    • Grading speed is terrible. With an auto-grader, this is inexcusable

    • Papers. Lots of assignments have a paper alongside them, which is just academia for academia's sake. I didn't get anything from these. Removing these would also improve grading speed.

    • No feedback on code, so you could "pass poorly" and never know

    Rating: 4 / 5Difficulty: 3 / 5Workload: 19 hours / week

  • wARY8W3Erj9IhpaGiN+cdw==2022-11-13T23:04:18Zfall 2022

    There were times where the weekly course load was a few hours... and other where it was closer to 20. It really just depended on the week. Very good starter course. As a software engineer, I did not find the coding aspect of the course to be very challenging.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • qhP3VH4kEIh12pSM+h6aZg==2022-10-29T17:16:06Zfall 2022

    I was disappointed in the attitude of the TAs and grading policy. I never once spoke with any of them or engaged because right out of the gate they indicated all the ways you could ruin your grade and that if your code fails to run they'll just send you a sad face and an F. They also explain that asking about your grade could result in docking more points. I'm paraphrasing, but they might as well just say "Welcome to the course, we a group of bitter TAs who are tired of grading and hate students" -- the material is interesting, but I was so afraid to talk to them that it took away from my experience. I got a good grade, but sometimes was docked points without understanding why or how to improve (because the feedback is nonexistant) and just kept plowing forward not really understanding the point of the grading process. If given another chance, I would pick different course.

    Also the video lectures are kinda light and fluffy... so that left me a little disappointed, as someone who would have liked to dive into the math and pseudo code a bit more.. I think they expect you to get that from the reading. I can buy books and read them without paying GA Tech for the privilage.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • OGk6pRC+2EbJlI+jECWvwA==2022-10-24T16:45:00Zfall 2022

    This is my first OMSCS course with a non-CS background. Overall, this is a great class for an introduction to ML and a first class. However like many have said, the course content can definitely use some rework/improvement. The projects are not hard but takes time, I would recommend this class for people who just starting the program or if you want to get some exposure to ML without taking the real ML class.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • htyA++/+bxv+05KjK9pxbQ==2022-09-15T06:27:26Zspring 2022

    It’s my first course and I really enjoyed it. It’s a very good intro course to this program.

    Background: bachelor and master in applied math. No Python experience and it’s my only course

    Final grade: 98.87%

    Report: I used the latex template which helped on the reporting format.

    Projects:the projcts are not trivial but alao not too difficult. I get to know more about Python, especially class and recursion. Also some ML models (decision tree and Q Learning) and trading knowledge (trading indicators)

    Exams: just walk through the sample exam and you will be fine.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • 6WUHLtA37MZYHFx4GFCYEQ==2022-09-03T00:17:54Zsummer 2022

    This is a very interesting course topically that I think has fallen apart as the original instructor has gotten away from the class.

    Course projects are very time-consuming even though they aren't too difficult. Of the points I lost in this class, they were nearly all due to time constraints on my part rather than an inability to solve the problems. The class has been written to scale and requires interfacing with arbitrary API requirements to receive grades from gradescope that neither reflect real-world software engineering skills nor useful learning. What would take me 15 minutes to scrap together in a jupyter notebook takes me about an hour per their required solutions. There is also a written component to go with these gradescope portions, but all of the dependencies for those reports are required to be submitted in gradescope as well.

    As others have said, the reports took an extreme amount of time to grade, there was little feedback if any on those, and there was no sharing of exam answers. As just one example, nearly all of the assignments prior to the drop deadline were not graded until only a few days before the drop deadline. You could have gone nearly the whole course making repeated mistakes without any of the instructors so much as giving you a hint. Because of the nature of the class (gradescope heavy) arbitrary mistakes could be costing you multiple letter grades on your assignments.

    Overall, this was not much of a learning experience at all, and I think the course staff should be ashamed of their lack of dedication to the students' learning experience. Learning isn't a one-way street.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • e0KUjdqAVcl35UfRdTIymQ==2022-08-29T17:37:16Zsummer 2022

    This course taught some interesting bits of stock investment. I came into this as your average index fund buy-holder (with some history in gambling with options). Concepts like mean-variance optimization and Sharpe ratio were enlightening. As was learning about technical trading and different investment strategies.

    The ML didn't go too deep but was enough to be interesting. We implemented regression trees, bag learners, and Q-Learning. I am taking reinforcement learning this semester, and the first few chapters of reading and the first lectures are very familiar from my experience in ML4T.

    During summer the last few weeks were quite busy. We had projects due back-back-back-back, and they were non-trivial.

    My main complaint for the course is the project requirements were persnickety. You spend a lot of time and energy dealing with annoying requirements that don't facilitate learning, programming principles, or performance, but that help make the class easier to have at scale.

    Average course. Not really necessary to prepare for ML/RL. Don't regret taking, but also would've perhaps benefited more having taken something else.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • gNGEmrPk5fP/twkOf6iJmg==2022-08-15T22:03:17Zsummer 2022

    Overall, I really liked it. It's a good course to review ML concepts through a trading/financial lens. I would say that the workload is more significant in the summer, though so keep that in mind if you are registering for a summer term.

    I break down each assignment in greater detail on my Youtube video here.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • dKtccBdNyDohvzZvUSh7zw==2022-08-15T15:03:24Zsummer 2022

    Machine Learning for Trading was a decent class. It was about the experience I expected, but there's room for improvement. For some background, I have about 5 years of professional programming experience, although most of it has been in test automation and modeling and simulation. The last year I've been working more in AI and autonomous systems, so I wanted to take some classes in ML. I am not all that interested in trading specifically, and I did not expect this course to be too difficult or dive very deep into machine learning, but I thought it might be a good intro to ML.

    The course was slightly more challenging than I had anticipated, but most of that fell on 2 of the 8 projects, p3 (Assess Learners), and p8 (Strategy Evaluation). Those 2 were the only ones that took more than 6 hours. I have a lot of experience with vectorizing code in Python using Pandas and Numpy, so this course was probably easier for me than most. So It wasn't too bad IMO

    Pros: I felt like most of the projects had some value. There were a couple I could do without or would rather learn other things, but overall I felt like it was a decent workload and worthwhile projects.

    Grading was pretty generous for the most part. Tests were closed book, closed note, multiple choice. I'm personally not a fan of closed tests like this, and I hate proctoring programs, but the tests weren't bad at all. They were 35 minutes, but I think I finished both in about 25 each. I also didn't do any of the textbook readings, but I did watch all the lectures, and got 23/25 on the midterm and 25/25 on the final. Honestly not sure how I pulled that off on the final but not complaining.

    If you're interested in trading, there are some interesting concepts here. The actual programming for trading left a bit to be desired, but they were able to give a decent foundation for how it works and some things to look for. However, it was pretty basic, so it was nice for people like me who know nothing about trading, but might be too simple for people who already have an understanding.

    Cons: I have 3 complaints with this class, the complicated assignment descriptions, the outdated lectures, and lack of breadth in ML concepts.

    Expect to spend 2-3 hours of your time figuring out the assignment and what exactly you're supposed to do. That might be a bit of an exaggeration in some cases, but that is actually how long it took me a couple times. The description itself is an entire essay, and there is still a large FAQ section on Ed Discussions with dozens of students having the same issues. There were multiple times I could tell that other students had the same misunderstandings that I did, but they were afraid to say exactly what the problem was because they were afraid of giving away too much information and violating the honor code or something. This is the worst part of the class is the amount of ambiguity further masked by vague answers on forums from people too afraid they are going to say too much.

    The lectures are not too bad, but they're several years old now, and have problems. Several of the required videos are recordings from live classes where mistakes are made, have technical issues, and even reveal "secrets" for the assignment that are no longer relevant and had to be explicitly mentioned in class forums to ignore them. I would say 60-80% of the lectures are pretty good, but about 10-20% are in desperate need of updates. The rest are kind of in the middle and could be upgraded or not depending on how they decide to handle it.

    Lastly, the class teaches basically only 2 ML concepts, decision tree and QLearning. An argument could be made that there are actually 4 concepts, because there are also linear regression/optimization and bag learners, but I don't count the first because that's more of a mathematical optimization than a modern ML technique, and the bag learner is just an extension of the decision tree. I think it would have been better to add in a couple other concepts such as neural nets or Markov models rather than some of the other filler. It would make the class more challenging, but I personally am here to learn, so more experience and little more challenge is worth it to me.

    Overall, it's a good class, but there are better available. It's good as a manageable summer semester or as a starter class, but not something you will get a ton out of. But, if you just need something a little easier, either to take a break or because you don't have the experience yet, I think this is a good one.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • CKhxClpSoYKJVy16KxLB0A==2022-08-10T22:03:06Zsummer 2022

    I have seen a lot of good reviews about this class and decided to give it try this summer. I have to say I'm a little disappointed and I really think it's overrated.

    Things I like:

    1. I really like the lecture videos, they are easy to follow and moreimportantly tightly related to the projects.
    2. It's a good introduction to Python, Numpy, Pandas and Matplotlib if you are new to coding.

    Things I dislike:

    1. The whole class is basically taught by TAs, I haven't seen Prof Joyner in any of the videos or weekly officer hours the whole semester, maybe there are some other classes like this too but it's different from all 4 courses I took before this one.
    2. All the report parts in the projects are making grading very subjective, unlike the Computer Network course, in which they give you the exact questions to answer, this one is way more general, which makes it easy to miss things, you can get 100% when you thought you did bad but get only 50% when you thought you did ok. Some of the requirements ask you to include definitions for financial terms and formulas, you need to be careful and cite everything, otherwise, you might be taking a risk of committing plagiarism.
    3. There's something due every week if you take it for the summer semester, if you don't figure out how much time each project takes you may get caught off guard and can't finish your assignment in time due to the unstable workload.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • gA2MerQxu0cZM9UrmB4Xqw==2022-08-05T02:35:38Zsummer 2022

    I took this in the summer, which contributed to the difficulty of the course and got an A. With that said though, I kept coming back to the question: "Why do we take classes?"

    I think for most people, the number one reason is to learn. Which is why I found this course such a paradox. I learned a ton. My Python skills and understanding of OOP increased, I have a stronger understanding of the random forest algorithm and recursion. I gained experience in reinforcement learning. I learned a lot about the stock market and technical analysis. But I just found the course overall to be a tremendous drag. This is my 9th course in the OMSA program and the only one where I had to force myself to put in the needed time. The class just drained my motivation.

    Others have spoken about the unneeded complexity of the assignments, and I agree. They were ridiculous at times. The grading is harsh and you can lose a large amount of points for trivial things. Also, the correct answers are never shared.

    There are two multiple choice tests in addition to the eight assignments. They never reveal to you what you missed on the exams. You are just given a score about a week after taking it.

    The projects take weeks to get graded and they all build on each other. So if you don't understand something, you're in trouble.

    One last thing I found annoying is that the lectures were created 5+ years ago. Many of the most important lectures are webcam videos of the previous professor writing on a whiteboard. When those were filmed it was done in conjunction with the live class with the professor answering questions live on Piazza. These need to be redone.

    One last last thing is the current professor. I admire Dr. Joyner. I have read his Reddit posts and his thoughts on online learning. He clearly cares deeply about this and has done a lot for the OMS programs. However, he does not make a single appearance in this class. Not one. This is a class entirely lead by the TA's (who were pretty good). But I was hoping to have Dr. Joyner make at least one live session or even just a post on Ed.

    So this class has overall positive reviews, but for me it is not something I would ever want to do again. As I said at the beginning, I learned a lot. But it was a tedious and annoying process instead of the rewarding one I have had in previous classes.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-05-08T07:30:27Zspring 2022

    I have been working in the investment banking industry for the past 15 years as a quant and therefore I enrolled in the course with a lot of anticipation. While I liked the overall course and the breadth it offers, I was a bit underwhelmed with the learning outcome. Most of the course is dedicated to building the basics of data science and finance and only in the last few weeks do the things get serious. For a graduate level course too much time is spent on things which should be prerequisite. Having said that, I really liked Professor Balch's lecture videos and had more than a few 'aha' moments pertaining to building trading strategies (particularly pertaining to market microstructure/order book and HFT related sections).

    Advise for prospective students - Start on the final project early as it is worth 20% of the grade. They would dangle the extra credit project just before the final project but that's a bait. It is an addictive assignment where you are trying to beat a baseline trading strategy but coming up with profitable strategy is no joke and takes years of experience. If your strategy does not beat the benchmark in a number of scenarios you will get 0 while wasting valuable time which should have been spent on the final project.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2022-05-06T04:30:10Zspring 2022

    Pros: All projects are easy. Project 6 and 8 are tricky but you can finish them if you start early. Project report grading is not bad, better than KBAI. Lecture videos are engaging and TAs on Ed are actives. Exam is easy, similar to the sample questions.

    Cons: Lecture is too short. Learned something but not too much. Knowledge related to machine learning is too fundamental.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2022-05-03T01:02:13Zspring 2022

    I really enjoyed this course. This was my first OMSCS course, and I felt like it was fairly easy (for an MS CS course). I did have a fair amount of self-taught coding experience in Python, which made the projects less time-consuming. Learning NumPy and Pandas up front will really save you time. (I did not have experience with either, so things went slower at times). As someone from a non-finance background, I felt that the content was interesting as well. If you're looking for more challenging content, you know to take the other ML courses or distributed computing or AOP, so don't complain that the course is too easy.

    I get why people are annoyed about the minutiae in the project assignment descriptions. It is annoying for sure. That being said, the annoyingly detailed and lengthy instructions are, I believe, a decent way to make the course scalable, while keeping our tuition accessible. First, it is an attempt to force the hordes of ignorant students that don't ever read the instructions and ask ridiculous questions in the discussion forums to not do ridiculous things on their assignments. I'm sure that if they didn't put heavy penalties on certain requirements (e.g. not printing things to the console or not generating charts live), students would repeatedly ignore instructions and make things unnecessarily difficult for the TAs. It also makes the grading easier. TAs don't have to read our work as carefully- they basically just go through the rubric and check off things to make sure we've included them in our work.

    In an ideal world, the TAs would look over our work more carefully and give us feedback on the merits of our work rather than by a contrived rubric, but that would drive up the cost of tuition.

    On the upside, if you do spend the time to follow the instructions to a T, you're pretty much guaranteed a good grade. There's no guessing as to whether a TA will give you a good or bad grade based on a whim. Just follow the instructions/rubrics, make sure you've hit everything, and you should be good to go.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2022-05-02T18:00:49Zfall 2017

    I've seen things you people wouldn't believe. [laughs] Attack ships on fire off the shoulder of Orion. I watched c-beams glitter in the dark near the Tannhäuser Gate. All those moments will be lost in time, like [coughs] tears in rain. Time to die.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 100 hours / week

  • Georgia Tech Student2022-05-01T19:51:51Zspring 2022

    Honestly this class took me more time than I was expecting. While I would not say that this is a difficult class, I would caution anyone taking it that it can be a time-consuming class. At the end of the semester, I have this nagging feeling that I really did not learn that much considering the time I put into the course. You could make the argument you get what you put into it.. but if that were the case I would say take a better organized class and you can gain all of the learning you would from this class from self study without the headache of parsing these assignments. Assignments can arbitrarily difficult and force you to spend hours understanding assignments and making sure you follow all criteria. In my experience the time spent on these assignments was not worth the actual knowledge I gained from completing them. In addition, the time each assignment takes can vary extensively. I finished the first two assignments in about 4-8 hours while I was blindsided on assignment 3 and spent around 15-20 hours. Then came assignment 4 and I finished it in 30 minutes. I would definitely recommend reviewing the assignment ahead of time to judge the time it will take you and not use the past assignments as a measure. This is a pain when assignment requirements are 20+ pages it feels like with requirements hidden throughout. My other complaint around assignments is that the grading is slow and so there is no real feedback loop to help you improve on future assignments.

    Conceptually I will say that I liked the flow of this class. You start with building some algorithms and a tool to simulate a trading environment. At the end of the semester, you take all of the pieces you have built throughout the semester and make them all work together. It was pretty satisfying at the end to test my different strategies and see the puzzle come together.

    I will most likely end the course with an A at this point unless I get blindsided by missing some requirement on the final project. I have decent python experience and did all of the assignments without attending a single office hour so I cannot speak to their value. I have seen several reviews speak to their quality so that is probably on me and could have influenced my overall score. Just keep that in mind that you budget yourself enough time when scheduling this course to attend those in addition to the assignments and any other coursework. The tests are fair for the most part and probably only require an evening of studying where you watch through the lecture videos. The questions were straightforward and similar to the practice problems they provide. The majority of the time in this class will be spent on the assignments which vary in length from 1-3 weeks. In the end, I am neutral on the quality of this course. The projects are fairly interesting after all the unnecessary fluff. I put 12 as the estimated hours it took me but in reality there were some weeks where I spent 20 hours and some weeks where I spent 1. Just give yourself some cushion on the assignments and you will probably make it through the course much more painlessly than I did.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2022-05-01T05:06:10Zspring 2022

    If this was a Udemy course, you would be asking for your money back.

    First of all, lectures are the same since 2017, videos are laptop camera videos. They don't even care to re-record this.

    I still don't know how Mr. Joyner related to this course, if you put your name on it please at least give an effort to make it yourself, so when you force absurd JDF format at least we would know you changed a thing or two.

    Although I respect Mr. Balch way before this course, let's be realistic, if you don't know what the heck is Numpy at the beginning, there is no way you can code Q-learner at the end in a dynamic fashion.

    This weird course thinks that during one single semester they can take you from

    Numpy illeterate -> Dynamic Programmer -> Decision Tree Coder -> Re-inforcement Learning Application Writer

    and apply this to the stock market. This is when the Bull market takes a break for #2.

    You don't need to watch lectures at all, check the names of the lectures, and watch the ones right before small in-class mini-quizzes. Make sure you read the project instructions really carefully and spend some time on reports, they try to butcher every single thing on the reports, like that means anything in applied coursework.

    Sometimes, the little bugs you will get are like, using random package instead of np.random, if you do you get a timeout. What a genius teaching example.

    Start the last project early, requirements are all over the place, lots of stuff is being asked and there is a report.

    Instead of lectures, you will be watching lots of Tucker Balch youtube videos explaining projects, where most of the learning happens.

    I spent 20 hours on Friday and Saturday doing the projects, didn't attend or watched any TA sessions, and watched the lectures only before exams. I'll probably get a B since I don't care about the reports.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-04-17T17:52:57Zspring 2022

    Pretty awful in terms of project requirements and the projects themselves. The lectures are actually one of the better lectures I've seen in OMSCS, because they are pretty short and to the point. The interactions on Ed Discussion with course management saves this class from being totally miserable.

    Where this class falls short

    • the list of project requirements is absurdly long and complicated to parse. The instructors recommend you print out the requirements and highlight them. If you're recommending that, you know something as gone awry.
    • grading feedback is close to useless. if you do poorly, you won't know why. if you do won't know why either but you'll probably care less
    • Reliance on TA interactions and other confused classmates on Ed Discussions to translate the mess of the project spec into readable language (though again, the TAs were helpful in my semester)
    • Jumps around too quickly without any sort of real depth. Expect to be introduced to various terms, but don't expect to truly understand what they mean.
    • Uses non-standard terms when referring to established concepts in ML
    • having too many different places to receive information. why is there an external website?? Just roll it into Canvas.

    tldr of this course: believe the other reviews that this course is fairly straightforward and trivial, and that parsing projects is such an arduous and draining process. I thought the reviews were exaggerating, but they aren't. Even the reviews that say they liked the course admit they spend hours parsing project documentation, and I can't fathom how you can reconcile that with enjoying the course.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 3 hours / week

  • Georgia Tech Student2022-04-08T00:02:12Zspring 2022

    I really wanted the course to be better than it was. I have a finance/data modeling background and am a little newer to pure CS. I think the content covered is really great and provides a good intro into ML. The finance stuff is on the very basic side of things.

    The reason why I disliked/strongly disliked this course is the grading system is absolutely ridiculous. It is really like they are looking for pointless reasons to take points away which shifts the focus from learning how to implement a decision tree from scratch lets say, to spending an absurd amount of time looking through the project wiki to see if you are meeting all the arbitrary requirements. Oh the TA didn’t like your chart title? -10 points. Oh the TA for some reason felt your chart didn’t save as a .png even though it clearly does and is a clear simple oversight? -10 point and wait until the end of the semester for a regrade, where if we are generous enough to look at the project again we might credit you the points we decided to take away from you. Oh didn’t implement this function without solely using NumPy in under 20 lines. -20 points. For reference while I haven’t yet and don’t want to explicitly jinx myself here, I am very likely going to earn an A, there is however an inappropriate amount of points removed for mundane requirements that really have nothing to do with ML or Finance and the intersection thereof. Additionally for reference, the projects are worth 100 points so yes, if you don't use the appropriate title or your legend is wrong or your axis is wrong you will lose 10% of your total grade which is composed of a project that takes roughly 10-15 hours to code give or take your experience level and a 5 page paper for almost all of these projects. But you are right grading system, my axis label is 10% of that effort...

    One other thing to be stated is the TAs response in the discussion board is very hit or miss. I felt most really avoided answering a lot of questions directly and just referenced you to material in some snarky/"If you watched the material..." kinda way, when in fact the material that you watched was exactly what your question was about, just belittles the student asking the question and in the same time you wrote out some misplaced scolding response you could have just answered the question directly was a very common occurance. This personally never happened to me, but it was pretty clear to see the frustration from students asking questions in the discussion board on some topics and coming away almost being scolded for asking the question in the first place. Like dude, this is a learning environment, and as a TA is it a kinda sorta like your whole job to answer a question a student has asked explicity on learning material that, at this point is 7 years old, is posted online...

    Also writing papers are not ideal to me in a CS program but I do understand the minimal value there because this is grad school.

    That being said, I do actually recommend this class if you are REALLY interested in ML and Finance, I think it can spark a few really cool ideas, just be ready to deal with some pedantic grading which seems to way over penalize for arbitrary requirements

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-04-07T19:57:35Zspring 2022

    This is the first class I take in this program and it's a good class overall. My background is engineering and only have some previous experience with python. I think this class is a good start for student who did not have a formal background in CS and it will give you some basic idea in python and machine learning. Some finance knowledge will be taught but not in depth, people who is more interested in the trading part can get more expose by reading the recommended book list. work load is 15~20hr per week. some project took less time. one of the annoying thing is easy to forget the contend quiz because it did not show up until every week start. Overall a good class as the first class.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-03-12T19:21:48Zspring 2022

    This subject is something I have a strong interest in. I work at a financial company and read books about finance for fun. I write code at work and loved the Computing for Data Analytics course I took at the start of the program where I scored 100%. So this isn't a case where I'm someone who didn't understand the material or take the prerequisites. I did want a lighter course load this semester, so perhaps my mistake was trusting the relatively decent reviews and low reported workload when I signed up for ML4T for Spring 2022.

    Initially there was a lot to like. The instructional staff went to great lengths to communicate and help and encourage students to get their environments set up early. This is often a problem in an educational environment so I took that as a good sign that they took the problem seriously. The early lecture videos are a little goofier than I really want and a bit dated, as is the Python book that is recommended, but they got the job done and in spite of being a bit slow you can turn up the speed.

    But things started to go poorly from there. An overarching theme for this course is the instructions and written guidance for the course are spread out all over the place which makes for a really annoying experience of trying to figure out what you are supposed to do and when and how. In general this class feels much more adversarial than any other class I've taken in this program and I don't know why it is set up this way.

    A basic thing that caught me up early on was the "content quizzes". These are not listed on the weekly syllabus on the main class website. All other content is there or on the Ed platform. Canvas does get used to submit your code and written reports for projects (homework). The official policy is you won't get a grade for anything until the end of the course but they might release them earlier when they feel like it. So generally speaking you won't be looking at Canvas since there isn't really any reason to look at it most of the time. However, this was the only place where it seemed to mention these content quizzes and when they were due. So I kept not seeing that and missing points just because they weren't on the syllabus or anywhere else you are encouraged to look.

    One formerly required project is now marked as optional. Try not doing it however. You will need it in order to do one of the early projects. If you ask for help on the required project the first thing the TAs will ask is if you have done the optional project and continue to nudge you in that direction. Make the project required! You do actually have to do the project to get the results you need for the other actually required project, because the tests are absurdly fussy about how precise your result is and if you do the order of operations differently you will be "wrong". I'm trying to keep my workload light this semester so I was treating optional things as just that, optional, and instead had to go back and do this "optional" assignment in order to complete the required one.

    Project 3 "Assess Learners" is incredibly difficult and time consuming. You are given an extra week to do it at least. They do warn you and advise you to use all of your time for this project and it is a significant part of your grade, and yet, I am still going to complain about this. After the first two required projects and one "optional" project, I had the wrong idea about how easy this course was going to be and I did not allocate the full two weeks to Project 3 because I had been able to do the other ones easily. I started earlier than I had for the other ones and it still wasn't enough. The difficulty spike between this and everything you have done before this is massive and it should be broken up into different projects.

    The project requirements are poorly written and this gets mentioned a lot by other reviews. But yes, they are bad and one of the more significant challenges in the course. They do read as if they have been substantially edited in places at different times by different people so at least they have made some effort to improve them but someone probably needs to write the whole document from scratch instead to bring some sanity to the requirements. The point deductions are very large given the known problems with the requirements.

    They are extremely slow to return grades and when they do the feedback is cryptic. So in addition to instructions being a mess, when you get a grade you will get deductions which tell you very little if anything about what mistake you actually made. No solutions are posted, ever. Good luck learning! Do it correctly the first time or else because each project builds to the next one so any failures on your part are going to be magnified throughout the course with no guidance on how to correct the mistake. Also they will intentionally insert bugs in some projects and not tell you about them so you have to question whether you set up your environment incorrectly or any of a million other things. Thankfully they at least admitted they had done that when I searched for that error message in the Ed forums but there was no reason to add this hurdle in the first place and definitely no reason to hide that they had done it.

    Many of these problems are known and acknowledged by TAs. They will even "helpfully" tell you that you should PRINT the instructions and use a highlighter so as not to be hit with substantial point deductions. If everyone knows the instructions are this badly written, then the burden should be on the instructors and TAs to improve them rather than tell students to deal with it. This is "machine learning for trading", not "reading poorly written requirements docs for software development". The latter can be a useful skill in the real world but there is no reason for this pointless extra difficulty to be added.

    In addition, based on responses from instructors and TAs, it seems that most of this pointless added difficulty is intentional and added mainly for the sake of making it harder for students to cheat. I understand the motivation. No one wants anyone to cheat or to make it easy to do so. But making it harder to cheat also makes it significantly harder to learn. As with other elements of the course, the onus is on the student when the responsibility should lie with the instructor. Write clear instructions. Create tests and projects and homework such that a student won't be able to get a good grade by cheating (I say this having taken Computing for Data Analytics which manages this superbly) rather than opting for "security by obscurity" which is a poor model of security and in this case runs extremely counter to the primary goal of education.

    I don't understand why the class is run this way. There is good content here and it's something I really enjoy normally but all of this extra arbitrary and capricious difficulty inserted throughout the course makes it extremely unpleasant. Most of the materials are available for "free" via the class website so I would recommend people just look at in on their own rather than try running this cruel gauntlet. I don't see any reason to pay even the low costs of this program for this class when there doesn't seem to be much focus on actually teaching the material to the students.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2022-02-14T14:18:38Zfall 2021

    This was a great class - so far one of my favorites, 6 classes in the program. It is amazingly well-structured and the lectures were excellent. I think this is a great class for someone not in the ML specialization because you will learn a lot about ML and walk-away with a big picture understanding. Other courses like AI and ML are also good, but very rigorous for an elective - why put yourself through that? If you are in the ML specialty, then ML4T can serve as a gentle introduction before jumping into the more rigorous and time-consuming courses like AI, ML, etc.

    The course was structured with approx. the first 25% of the class being mostly about python and the pandas library. (i.e. Dataframes and ndarrays). The first couple labs get you use to writing python code and are actually kind of difficult - not extraordinarily hard, but don't totally underestimate them. Then the class moves into machine learning and uses finance and the stock market as a way to apply ML techniques. One of the labs involves a decision tree - I think this is lab #3. This is maybe the hardest lab of them all because it requires recursion and implementing the ID3 algorithm. I think this throws a lot of students, but if you can get over this then the rest of the course is a breeze. The midterms are straightforward - they give you sample questions and that is all you really need plus watching the lectures. The text is Tom Mitchell's Machine Learning. I do not really think you need it. I got it and read a few chapters, but it was very theoretical and I do not think you need it to do well in the class.

    The machine learning structure was broken down into Supervised Learning,Reinforcement Learning and you are introduced to other topics like Unsupervised Learning, Neural Nets, Simulation, Optimization, and lots of Finance/Stock Market concepts.

    Assignment 1 (martingale) was an intro to Simulation

    Assignment 2 Optimize Something introduced a little Optimization Theory

    Assignment 3 Supervised Learning via decision trees

    Assignment 4 Contrasts Classification (Decision Tree) with Regression

    Assignment 5 and 6 are really just preperations for the largest Assignment #8. You will use them to complete 8.

    Assignment 7 is Reinforcement Learning using QLearning

    Assignment 8 - the mother of all the projects....brings it all together. You use everything you learn to beat the stock market.

    Extra Credit - I skipped it and didn't really need it. I used the time to focus on project #8.

    The workload was uneven with some weeks requiring a lot of time and other weeks it felt like there was nothing to do. The course feels like it is front-loaded and back-loaded with a soft middle in terms of commitment. Assignment 8 was the most time consuming. Assignment 3 was the most challenging. Assignment #7 was the next in difficulty. and then the rest are about the same. They had weekly online meetings to go over the assignment, but it felt like they just read the assignment to you and added very little. I found little value in these meetings and stopped attending after the second one.

    The best thing about the course were the excellent TAs and instructional staff. Use the Ed Discussions - there were questions that I asked and the responses felt like I was reading towardsdatascience or medium. The depth of some of the instructors were amazing and they were incredibly responsive. I was really impressed with Barbara and Steven (or Stephen) but the instructional staff and TAs were awesome across the board.

    Overall a great class, you will learn a lot, the TAs and Staff were very knowledgeable, and instructional material was well-organized and excellent. If you want a mid-level difficulty course in python and machine learning, this is a good place to start.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 13 hours / week

  • Georgia Tech Student2022-02-10T17:33:54Zspring 2020

    This has been my favorite class in the entire OMSCS program. The material is really interesting, the exams are not meant to be tricky, and the HWs are fair.

    I would recommend this class to anyone.

    To see my full review on this course, check out my youtube channel:

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-02-09T19:15:44Zspring 2022

    cleared because omscentral founder is being a bitch

    Rating: 1 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2021-12-22T18:38:21Zfall 2021

    I thought I would throw a review into the ring for any OMSA students looking to take this course. My background is mechanical engineering and not software engineering. I only picked up python in the last 18 months as part of the OMSA program.

    Given my light experience level, I did find the third project and final project to be more difficult, but manageable by spreading out the workload over the full duration of the assignment. The third project likely took me 20 hours per week and the final project was similar in time commitment for those three weeks (70/30 coding to reporting split). The final project documentation provided by the instruction team is a bit too extensive and makes actually interpreting requirements somewhat difficult. I had coded the entire project twice only to read a single sentence buried among 15 pages of documentation that changed how my implementation had to be done (adding more time). Note, that all the other projects could typically be knocked out in a weekend or between a couple light weekends of work.

    The TAs are tremendous and Ed Discussions help answer many questions you will have as you go through assignments. The auto-grading is actually something I liked and if it passes the auto-grader at submission, it is fair to assume you will receive mostly full marks.

    The exams are great, in that they are quite easy. As someone with a background in trading, most concepts were already well understood and I did not have to spend more than a couple hours reviewing content. However, if you just review the assigned lecture material and read the book authored by Balch, then you are guaranteed to fair well on the exams.

    So, in the end, if you are an OMSA student with decent python programming skills, then there is no need to be concerned with taking this course - just make sure to chip away at assignments over a couple week period and don't wait until the last minute for anything.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 14 hours / week

  • Georgia Tech Student2021-12-22T04:05:19Zfall 2021

    I don't really understand the criticism of this class. It explains the basics of machine learning for trading. I think I learned quite a lot from it, video lectures explain concepts pretty well. Assignments are well designed. The only issue I had with this class is that not all tests are available on the gradescope, so basically your grade usually consists of a coding section and a report. I believe if all tests will be automated and available through the gradescope it could help building the confidence in the expected grade.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2021-12-19T01:00:59Zfall 2021

    I really enjoy this course which gives an introduction to finance and machine learning in an interesting way.

    Pros: Lectures are well-designed and properly paced. Interesting projects. Easy exams.

    Cons: Very long requirements for projects. You have to pay great attention to details to avoid losing points.

    Overall, a good intro-level course for finance, Python, and machine learning concepts. As someone who does not have much experience in Python, I manage to get full scores for all projects.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-12-18T17:14:36Zfall 2021


    What this class is

    Overall, this class follows what a lot of the other reviews have stated. The lectures and material are not too complicated so that a data science wizard can breeze through or a non-CS major can learn it with a little bit of effort. The lectures, readings, and assignments build upon one another and this continuity was refreshing compared to other classes. The exams are easy if you study the lectures and readings for 5 hours (assuming you reviewed them throughout the class originally). Every assignment has a video or example that you can follow along to get an idea of how to do it. Assignments are not open ended, which is great for an intro to ML concepts. The python programming required is all numpy, and pandas-based. Review numpy and pandas prior to the course. The project descriptions are not as fleshed out as they should be, so fulfilling the requirements can be time consuming and annoying. However, with a little bit of effort on reading the project descriptions and watching the videos anyone can get an A.

    What this class is NOT

    This class is not an in-depth review of a vast amount of industry ML concepts that can be used as a foundation for other classes such as ML or DL. The ML concepts lack breadth and aren't too difficult conceptually. However, this makes it a great intro ML course. This class is not a all-inclusive financial concepts course that can teach you all the concepts a CS person who wants to trade will need to know.

    My Review (Overall Grade: 95%)


    Undergrad CS-major with some experience in python. I did not have experience in numpy and pandas which is essential to this course. I understood some of the basic financial concepts from, you guessed it, losing money in the stonk market.


    Here is a link to the syllabus:

    I meticulously tracked my time spent on this course and each individual project throughout the semester using a tracking app. The times stated are extremely accurate.

    Total Hours spent on this course: 119 hours and 20 minutes

    Average hours per week: 7.5 hours

    Max hours spent in a week: 24 hours 26 minutes (project 8, the Capstone)

    Min hours spent in a week: 0 hours


    The video lectures range from the ML4T Udacity lectures to Professor Balch's YouTube channel. The lectures introduce the concepts needed for the projects and explain them very well, anyone can understand. The lectures also give tips for doing the projects, so please watch them before attempting projects.

    The readings are mainly needed for the exams.

    Project 1 (8 hours 40 minutes, Grade: 94%)

    This project was a good introduction to using statistics, rudimentary math, python, and writing a report to JDF specification. You'll notice that time spent on projects directly correlates to whether a report is needed. This project gently introduces the expectations for the course in regards to coding using numpy, statistical understanding, and report writing.

    Project 2 (4 hours 54 minutes, Grade: 100%)

    This is a more coding-heavy project. You'll use the python library scipy to optimize a financial indicator for a given stock portfolio and generate a chart. This chart is the only "report" to be turned in.

    Project 3 (14 hours 12 minutes, Grade 76%)

    This project is extremely important, and in my opinion the most difficult one. It is using ML concepts to create a learner that is then used in the capstone project. Make sure to get this one right and understand all the concepts, as they will come back to you in Project 8. Very python heavy, and a large report of your experiments is required. I lost points for using a python list variable instead of a numpy ndarray. Don't be like me and lose 20 points on a one-line mistake.

    Project 4 (4 hours 43 minutes, Grade 100%)

    No report required. This project can either take 1 hour or 10 hours. This kind of depends on ingenuity. It was a project to create datasets to be used for different learners. If you understand linear regression and decision trees it won't take more than 5 hours.

    Project 5 (14 hours 52 minutes, Grade 100%)

    No report required. This project took me a long time due to bugs in my code. My best recommendation is to watch and re-watch Professor Balch's video on the project. Your project will take stock trade orders and cross-reference the orders with the stocks' prices for that day to generate portfolio values per day. Python numpy and pandas experience is very helpful here.

    Project 6 (10 hours 41 minutes, Grade 100%)

    In this project you select technical indicators for stocks and write code to generate them from given stock data. A report also goes with this describing the indicators. Make sure to read the project description very carefully, as you are stuck using these in Project 8.

    Project 7 (5 hours 24 minutes, Grade 102%)

    This project uses Q learning. You write some python to make a Q-learner that passes some tests. No report required! I highly recommend watching the videos on Q-learning and Dyna-Q prior to starting.

    Project 8 (26 hours 10 minutes, Grade 100%)

    This project is the capstone. You will take your indicators from project 6, and the learners from project 3, and your market simulator from project 5, and put it all together. You create strategies for trading stocks based on your ML concepts learned in the course, do some experiments, and write a report about it. It's very time consuming and requires looking at discussion posts and the project description to not mess anything up. Good luck.


    Exam 1: 93.3%

    Exam 2: 96.6%

    If you watch the required videos and do the readings throughout the course, these exams take only 5 hours of review to get an A. The questions aren't hard and come directly from the material.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2021-12-17T10:51:07Zfall 2021

    All the reviews in the forum are pretty accurate depending on your background. I had a robust programming background and was familiar with the economic terms due to crypto trading, but I had no idea about machine learning.

    The 1st part (introduction to pandas dataframes) was easy to follow even for people without strong programming background.

    The 2nd part was easy to digest from the videos. If you have done some trading in your life you will know a lot of those stuff. Anyway the videos are great.

    The 3rd part is the machine learning stuff. It is the "hardest" part of the course but no big deal. All you will need is inside the videos.

    The project are interesting and fun. Some of them may require more time than others. Be sure that you READ THE INSTRUCTIONS CAREFULLY AND WATCH PROFESSORS BALCH PROJECT VIDEOS and you will have no problem. The writeups are a little bit boring. Exams are easy. I studied 5 hours each and scored 92% & 100%.

    To wrap up, it is an easy and intresting course. You will learn stuff about stocks, about trading & about machine learning. The learning depth is "not great, not terrible". There were weeks that kept me engaged for 15hrs and weeks that I did absolutely nothing. You can front load the course and be relaxed in the last month. Easy A for me

    Rating: 5 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2021-12-16T19:59:32Zfall 2021

    This was my first class in the program. I learned A LOT!

    Read the project description at least 5x or you'll lose points. Use the exam questions published by the TAs for exam #1 and student questions for exam #2. The student questions are not all correct but are still a great resource, especially if you ask questions before the quiet period. I don't know why everyone complained about it. The exams were also very fair.

    Watch the lectures before you start the project because everything is there. If you're someone who doesn't like lecture and skips straight to the project, good luck!

    Develop your own tests for projects because not all unit tests are released for testing, some are hidden tests exclusive to grading.

    I personally flailed on project #6 because I had a hard time choosing indicators.

    Ideally, learn vectorization with numpy and practice recursion before coming into class. Matplotlib experience is nice too.

    Run the local grader as soon as you can to get feedback. It's the best measure for where you're at, even if it gives you an error.

    The end of the class is quite peaceful. P8 was due 11/28 and exam #2 was not cumulative and exclusive to the last half of the class.

    Start P3 EARLY!!!!!

    Don't fret so much over JDF, follow it to the best of your ability. They just want readable and reasonable papers. They aren't busting out a ruler to measure your indentations or taking points off for improper bolding/italics.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 13 hours / week

  • Georgia Tech Student2021-12-15T19:43:37Zfall 2021

    Coming from a non-CS background (Mechanical engineer), this "easy" class wasn't as easy as I thought, but was very rewarding!

    Before starting the course, I audited Georgia Tech's Computing in Python 1 on edX. That taught me enough to do the first assignment.

    When I saw that the remaining assignments look completely foreign to me, I thought I was out of luck. But the professor's lectures were very helpful and somehow I managed an A in this course. My interest in finance and stocks helped me stay motivated throughout this course and helped me acquire the required CS skills.

    If you are coming from a non-CS background, this is a good and rewarding class to start with. That does not mean that it is an easy class. If you are interested in finance but do not know much, this class will be low-level enough that you will be able to learn a lot and practice it out too! If you are interested in machine learning but do not know much about it, this class will be a good introduction.

    In conclusion - 10/10 class, would recommend for:

    (i) People without a strong CS background (but interested in learning),

    (ii) People without a strong financial background (but interested in learning), and/or

    (iii) People without a strong ML background (but interested in learning!).

    Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-12-15T15:45:13Zfall 2021

    The Good, The Bad and The Ugly

    The Good

    • Professor Balch comes across as humorous, friendly and experienced.
    • Instructor Joyner comes across as a compassionate administrator.
    • The TAs respond quickly to questions and post useful FAQs.
    • The python environment and grading scripts make environment setup easy and provide a useful way to test code.
    • Gentle intro to finance for those who find it boring.
    • Gentle intro to machine learning for those who find it intimidating.
    • Regrading seems to work; processes in general are setup to support anomalies.
    • Providing options for people that want to use real academic writing tools as opposed to MS Word.
    • Allowed to post your graphs to get student and TA feedback.
    • Linux support. Linux is where it's at for ML in particular. Class is almost 100% compatible with the exception of HonorLock, which is an abomination.

    The Bad

    • Rudimentary: minimal rigor:
    • High school level math.
    • Basic ML algorithms.
    • Intro-level programming techniques.
    • Anachronistic: the material feels dated and disjointed at times, and doesn't flow well.
    • Sections are done out of order, and the readings do not always align (EMH lecture is presented in Part I, but the reading section is in Part II, etc).
    • Lectures have a low signal to noise ratio, and aren't accompanied by slides, so you have to watch them at 2x speed.
    • Grading is extremely slow at times, this is insidious because the projects build on one another, so not knowing if you did a preceding project correctly can cause a lot of anxiety starting the next one.
    • Too many channels. Is this on the project FAQ? YouTube? Lectures? Announcement? Project Wiki? Or a combination of all, and you have to read the tea leaves?
    • Complexity varies from a week of "intro to python" material (.e.g a = 1) to a detailed demo of vectorization.

    The Ugly

    • Most of your time will be spent chasing clarity and expectations on assignments. Jumping from wiki to post, parsing announcements, then possibly posting a question, only to be told to go back and read the assignment (sometimes a section will be quoted). No exaggeration: this is what you'll do in the class, not thinking about ML or trading, but try to find out if you need to add a 3rd graph to a report because in one section it alludes to a 3rd graph.
    • A good remainder of your time will be tweaking graph sizes and editing wording so that you get full credit within the arbitrary length limit set for the report. An example might be "describe in detail why your model overfits", although over-fitting is explored minimally in the context of the assignment, and no hints are given if you ask what does "in detail" mean. This becomes a constraint optimization problem, where you need to fit the most meaning into the fewest words. There's no buffer - if you spill over past the page limit, results are ignored.
    • Not enough feedback. The penalty is extremely high for doing something minor like forgetting to add a function that returns your GT user name. The feedback loops are too long. This is anxiety-inducing.


    The class feels like "manufactured complexity", whereby the material is kept basic, and then hoops are introduced to jump through to add complexity and difficulty in order to simulate rigor. The retort to this charge is usually something like "in the realworld..." or "this is how graduate school is..." it's not.

    This Class Could be Great

    • Clean up the section numbers so that lessons are in order.
    • Fix the readings so that they align with the lessons.
    • Edit videos so invalid content is just removed.
    • Overhaul the videos so that there is higher signal-to-noise ratio.
    • Provide an accompanying outline for all videos for consistency.
    • Abolish simulated rigor: ** Clean up assignment descriptions so that the checklist and rubric are accurate and one in the same.
    • Provide a checklist instead of having the students create their own.
    • 35 minutes for 30 questions doesn't give enough time for thinking, get rid of the "what color shirt did Michael Burry wear in the first scene" questions and replace them with questions that require thought.
    • Get rid of the HonorLock restrictions for scratch paper and ask some calculation questions. Or be bold enough to state that there will be no math questions.
    • Fix the paper chase: if students are spending the majority of their time cross-referencing your educational material, it needs an overhaul.
    • Introduce real rigor.
    • We shouldn't be focusing on in-sample results. That's an anti-pattern in ML.
    • We should be splitting data into train/validation/test splits, or using k-folds validation or similar techniques.
    • Eliminate the baby stuff - there are prerequisites for a reason.
    • Add more quizzes so that there's a tighter feedback loop.
    • Enhance the grading process so that grades are returned sooner than months.

    [EDIT: fixed a few typos and formatting - this tool could use a preview option.]

    Rating: 2 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-12-15T13:05:42Zfall 2021

    I don't have a formal CS background, but I found this class fairly easy. I achieved an A without too much effort. Although, I do have experience with Pandas, Numpy, and stock trading. If you are new to Python, Pandas, or Numpy, this class could be a bit challenging.

    If you watch all the videos thoroughly, you should do fine with the homework assignments and exams. The videos basically walk you through the algorithms that you need to implement for the assignments.

    I enjoyed this class a lot. It gives an nice introduction into the financial world and ML.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2021-12-15T09:49:48Zfall 2021

    This course is primarily a introductory course on data analytics and machine learning with concepts of financial trading sprinkled all over. The assignments include a coding portion and mostly accompanied by a report. Assignment descriptions can be quite wordy and it might take some effort to identify what actually needs to submitted. Overall effort that needs to be put strongly depends on familiarity with Python, numpy, pandas and matplotlib. Definitely NOT an easy A if you don't have prior python experience, even then completing the assignments could take significant time. Exams are fairly easy and there is enough practice material to prepare for them. I have learnt fair amount of stuff about stock market from the course.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-12-15T04:56:04Zfall 2021

    This was my first OMSCS class. Great class that gets a lot easier after the first 3 projects. If you can make it through P3 and have a solid background in Python, Numpy, and Pandas you will do well. Lecture videos are a bit dated but I enjoyed them and found them easy to follow along with. Watch out for how much time the Projects that have reports can take. I easily spent 25-30+ hours on this course on weeks that Projects with reports were due.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-14T22:01:06Zfall 2021

    As someone interested in ML and automated trading, I found this course enjoyable and rewarding.

    I think the "mini-course" approach makes a lot of sense, and in a way is the Professor's acknowledgment that you need some background in Python and investment/finance in order to succeed and get the most out of the course. The fact that they budget some of the course time and material to help you level up in those areas shows that the professor cares more than most - he doesn't just throw projects at you and says to "self-learn" the material; rather, he actually uses the course to help teach you some of the things you'll need to know in order to succeed. I wish more professors did this.

    As a negative - the assignment documents need improvement. They do contain everything you need to know in order to not lose points, but they're also overly verbose or not as well organized as they could be. This is something I noticed other reviewers points out too. To mitigate this, some classmates copied the requirements into word documents to help track which requirements have or haven't been met. I eventually came around to following that advice on the last 3 assignments and think it definitely helped.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-12-13T02:20:51Zfall 2021

    I like the subject and material, but I did not like the delivery. The instructions for each project are 5+ pages long. Instructions are poorly organized and it feels like a puzzle game. For example, suppose you need to submit 1 report and 5 python files. The requirements for the each of these files are spread throughout the 5 pages. So you literally have to hunt down each component and collect all the different requirements in the 5 page instruction and figure out all the tiny little details to get things correct.

    Another practice I don't like about the course is that they don't tell you what is the correct solution to the things you did wrong. Let's go back to the basic definition of a class. Students learn in class. The reason why I am doing the masters course is to learn. The reason why I pay for a class in an education institution is for the feedback and help on materials I didn't do well on.

    Grading is also sloppy and disproportionate. If you go through the rubric of the deductions, they add up to be over than what the section is worth. Let's take project 6 for example. The report is out of 100 points. It doesn't specify what each component is worth, but it specifies what will be deducted. Can you see how quickly this will become disproportionate?

    For example, it says the Theoretically Optimal section maximum deduction is 20 points. So that means the other section combined should be 80 points.

    Grading rubric for this 20 point section is as follows.

    • -10 if the method desribed is not correct or convincing
    • -10 If the chart is not correct
    • -5 if the benchmark is not normalized or not in green and nother
    • -5 if the portfolio line is not correct or in red.
    • -2 for each item if the reported performance criteria are incorrect

    The points tallied up to 32+ point deductions while this section is worth 20 points. This part does not make sense to me. Also, I did well in this course, but still don't like the delivery.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-12T22:54:50Zfall 2021

    The amount of python knowledge you need to know to get through this is nuts to me. You pick it up though because you have to. You're going to get really comfortable with numpy and pandas in this course. Some of the projects felt like I was dying because they took forever and then the report on top of it with a bazillion requirements also took forever. You have to really watch for the percentages of how much each project is worth. If you bomb one of your projects, you essentially take a major hit to your grade if it's worth a large percentage, especially near the end when the last project is worth 20% of your grade. I'm probably going to get a C at this point, had an A up until the last project.

    The midterm wasn't bad, just there's a lot of material. Similarly, there's a lot of material for the final but it's post midterm content. Sitting here studying for the final knowing my fate is pretty much sealed to a C. It was my first exposure to ML (also RL) and you have to watch The Big Short, lol. Anyways, it's definitely made me rethink whether I wanted to do machine learning or not, and I think machine learning is definitely more data science related, which I'm not interested in I've come to find. You spend a lot of time pouring over stock information trying to create trading strategies with policies and at the end of the day if you keep up with the readings, technical analysis (which is pretty much what we're doing the entire course) is essentially pointless. I think you could get by with a more relevant application than trading or just go ahead and take the regular ML course instead of this one.

    A few takeaways: 1. You'll definitely be a lot more proficient at Python. 2. You probably won't use any of this after you walk out of the class. Food for thought. Plenty of people in the class have tried to take what we've learned and ended up doing worse (you can also waste your time trying to develop something like that for extra credit for the class but if it ends up doing badly you get zero credit for it, lol).

    Information Ratio = Information Coefficient * Sqrt(Number of Trading Opportunities)

    Performance = Skill * Sqrt(Number of Trading Opportunities)

    This shit is fundamental to the class...and also wrong in practice.

    1. TAs are extremely slow getting your grades back to you. It'll be nail-biting around drop date to know if you should stick it out.
    2. You can get f'd at the end, not knowing what your grade is on P8 if it wasn't released since you'll take your final likely before you get a grade back on that, unless you're told in advance.
    3. Lectures are outdated and some of the Balch YouTube livestreams were misery to watch. However, it's pretty heavily technical, so bear that in mind when you're trying to digest the course material.
    4. Question banks for the midterm and final exams are enormous, sometimes inaccurate, and you just have to do your best to get through it.
    5. Reports take a long time because they're so nit-picky and you can get rekt grade-wise.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-09T10:39:52Zspring 2020

    Very nice and relatively easy course to get you warmed up for other courses in ML path. You can work ahead as all assignments are published early. Great professor and lectures. Fun and relevant assignments.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-10-15T20:21:08Zfall 2021

    They say YMMV and that may be true for everybody.

    This class is no joke nor walk in the park. You really need to know python coding and dominate numpy, pandas, and matplotlib modules since they seem to be needed (At least thus far) for coding projects.

    For experienced ML people this class might be easy, but for someone wanting to get into the topic it can get difficult. BEWARE, it is not an easy/hand holding class that you would expect at the beginning of the program.

    This class on the overall (at least this far) seems like a Finance/Investments class, with some ML "sprinkled" in since that is what some Stock Broker's may have/use at their shops.

    Overall, it is a good class, but be prepared to put in the hours and the work!

    About to take the midterm, will update my comment when I am done with the class.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-09-27T05:11:28Zfall 2020

    It got very complicated after the first two projects. It was my first class in ML and I did not do well. I more so like the idea of the class.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2021-09-08T15:13:29Zspring 2021

    This is a relatively easy course compared to other Machine Learning electives. It provides a good introduction to Machine Learning in general, as well as introduction to stock markets. For CS background students, the finance part is more valuable.

    There are assignments about every two weeks (some easy assignments have one week due from the last one). Assignments are not hard if you get all the requirements sorted out, but the description itself may be ambiguous. I would recommend starting at least 1 week before due to having enough time asking questions. It’d be the best to complete 1 week before due at the beginning to have more time to work on later assignments. The last 3 assignments (6-8) are more difficult than previous ones (but still relatively easy compared to other courses), especially the last one (Project 8). Also note they are not equally weighted.

    Exams are not straightforward to learn. They are taking questions from all course materials, including the movie (I was surprised by the number of questions from the movie). Try to pay attention to every detail, especially those that are not covered in assignments. Personally I feel it’s much easier to remember if you practice in assignments already, and there were definitely questions I wasn’t expecting to be asked. To summarize, it’s a fun course with useful contents. It’s not hard to get an A if you can consume all the contents from the course.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-08-25T20:10:46Zsummer 2021

    Took this class with Dr. Joyner along with his HCI class during the summer. This class took up most of my time during the weeknights to read through the lecture notes, coding and debugging. Saturdays and Sundays were spent writing the report. It was tough managing the two courses, but it was very rewarding learning Python through practical projects and implementation. Brushed up a lot on Python fundamentals and learned OOP.

    Environment setup with the virtual machine took a bit to get started, but TA Steven Bryant was fantastic in posting tutorials and answering all questions about the projects. The class is consisted of 8 projects with varying weighted grade % along with two exams. Some projects are built on top of each other and the class is back-loaded with the final 3 projects the most challenging. Exams are straight-forward if you study the lecture notes. TAs and Professor Joyner are amazing in participating in discussions on online forum. Ed is used instead of Piazza and it is great!

    Some projects require reports which are very time-demanding. I highly recommend read through the problem statement, requirements, and needed data to support your solutions. With a course of over 200 students, Gradescope is used to autograde your code and a structured template is implemented for the report for consistency. As a result, you may find it confusing and frustrating to write the reports and get points deducted if you missed anything. SO READ EVERYTHING ON THE REPORT SUBMISSION PAGE VERY CAREFULLY.

    Highly recommend this course for a coding class for OMSA CDA track. It took a lot of efforts, but it was very rewarding as I learned a lot about trading strategies and indicators. Ended up with over 95% course grade and got A for HCI. It is doable to pair the both classes together.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-08-23T19:26:50Zsummer 2021

    I would recommend this course for anyone who doesn't have much experience with python, numpy, pandas you will definitely feel more comfortable using them after completing the course. My only gripe is the project instructions are pretty confusing. Requirements all over a sometimes 20 page wiki so you really need to pay attention to each line or otherwise huge point deductions will occur.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-08-11T02:22:46Zfall 2021

    Don't take this class in the Summer. I took this class because it was the summer and a lot of reviews mention that is an easy class(this was the lowest of my grades because the reports and I didn't have time to study for the tests). I lost the interest in the first units because the videos are terrible and kind of boring. This is the kind of class where you need to finish the report at least two days before the deadline because you find you need to update the report. I finished some reports on the weekends and was the worst.

    The projects and report rubrics are a mess and they add some difficulty. I was really busy this semester and was impossible to have a good score because I have a lot of deductions in the reports. I took DL and ML before and my score was better and I learned more in these classes.

    The coding projects are easy, but are hard to understand because they don't give you enough code to start. Some times you only need less than 10 lines of code but you spend the time trying to understand what they need.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-08-09T14:25:19Zsummer 2021

    The lecture content of the course is very informational and well laid out. It explores some of the fundamental of trading and expands on some technical aspects of trading by incorporating Machine Learning. If you are familiar with trading in general, this would definitely add to your knowledge.

    I took this course in summer so there were weekly projects and some of them also had reports to fill out. The project portion (coding) wasn't hard at all given you watch all the lectures and the office hours recording from Dr. Balch where he walks through the project and basically tells you how to go about doing your project (for some of them). You do explore ML techniques and build on top of it. Make sure you code each project as if you will use it in future projects because that is exactly what this course does. You build on top of your existing work. Previous ML/Pandas knowledge will be super helpful but not necessary as they go over it in detail in the beginning of the class.

    For the reports, pay very close attention to the project requirements and answer exactly what they are asking, or else you will lose points.

    The exams are multiple-choice but you definitely want to prep for them . Study guide for the first exams was much helpful compared to second one.

    Overall, this a great class for you if you are interested in learning about trading along with using ML to analyze trading data to provide buy/sell markers.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-08-09T13:51:59Zsummer 2021

    The content of this course is interesting, the lectures are good, but it is a lot of busy work and spending time making nice graphics for reports.

    The project and report readme's are fairly disorganized and have specific requirements you can be deducted massively for missing. This adds a lot of stress just to make sure you are following directions.

    Just follow the rubric to a T and you'll do okay. People struggled with project 3 (assess learners) so get a head start on that if you haven't already had exposure (I had already taken AI and found it pretty straightforward)

    Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-08-08T02:31:35Zsummer 2021

    This course was a good introduction to this topic. The lectures were easy to understand and the pace was fair. The homework difficulty can range from very easy to somewhat difficult, but nothing very difficult. Overall, I learned a lot of useful things from this course. Knowing Numpy before taking this course could help drastically save time.
    Yes, this is not a master's level course, but that can be an advantage too. I found that easy yet focused courses tend to stick to long-term memory. If a student is interested in diving deeper into this subject, this course provides some foundations for that. This was my fifth course in the program, and my second favorite. It's one of those courses that can change your life.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2021-08-07T17:27:10Zsummer 2021

    Overall the course is very disappointing since it does not go into detail on machine learning or trading and instead most of the course is geared around an introduction to Python and Finance which is in no way masters level material. I would say most high school seniors / college freshman could complete the first half of this course with ease.

    The worst part of this class is the project descriptions. They are an absolute mess and probably the most difficult part of the class is trying to make sure you didn't miss one of the hundreds of requirements scattered throughout 20 pages of jumbled instructions that could have been either handled by an auto grader or condensed into a couple pages.

    The last couple projects are interesting and worth while, so I would say that the class is a good summer class or class to double up as it is an easy class but still somewhat interesting.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2021-08-07T15:04:51Zsummer 2021

    This was my sixth course in the OMSCS program. I took it during the Summer 2021 term. The ideas of machine learning and finance were very interesting to me. The class has 8 projects, 2 exams, and an extra credit opportunity. The teaching staff is very involved with the course in Ed. I took this course as many labeled it as an easy course, but for me, the machine learning knowledge was very useful and conveyed in a straight-forward manner. There are some challenging aspects, but overall, it is a worthwhile course.


    • Project 1 (3%): This was a nice intro project for the course. It simulated a roulette betting generator utilizing numpy and matplotlib libraries. The main deliverable was a report.
    • Project 2 (3%): This project focused on optimizing the allocations for some stocks. It also included calculating some common metrics used in the finance world.
    • Project 3 (15%): This project focused on creating and assessing various learners. These included learners for Decision and Random Trees, Linear Regression, Insane Learners, and Bootstrap Aggregation Learners. It also required writing code to test these learners. This project required significant work.
    • Project 4 (5%): This project teaches how to design datasets to defeat Linear Regression and Decision Tree Learners. Understanding both learners makes completing this assignment fairly easy and quick.
    • Project 5 (10%): This project focuses on simulating the market. It involves taking buy and sell orders, applying them to prices, and keeping track of the cash flow over a given date range.
    • Project 6 (7%): This project focuses on picking and implementing 5 technical indicators which can be interpreted as actionable buy/sell signals. Whatever indicators are selected for this project are required to be used on Project 8. Some code from Project 5 is used as part of this project, but it required some significant work and a report with a maximum of 10 pages.
    • Project 7 (10%): This project involved implementing a Q-Learning robot. The test cases simulated a robot moving from one point to another in the most efficient was possibly. The Q-Learner would use different techniques to test various paths in order to propose the most efficient route.
    • Project 8 (20%): This project took a lot of time and analyzing. It incorporates all concepts and projects covered through the course. It involved using manual and strategy learners to pick trades which would yield the largest profit. The indicators selected in Project 6 must be used in Project 8. It is required to create a manual strategy based on the interpreting the indicators to manually pick a set of trades. It also requires creating a Strategy Learner which uses a learner from Project 3. This learner changes the criteria of the indicators to help determine the best trades to make. The project also requires creating 2 files to run some experiments as well a testproject file to run all the code necessary to generate data and charts for the report, which is up to 10 pages long. In the end, I spent over 45 hours on this project, and I felt like my solution was still incomplete.
    • Midterm Exam (12.5%): This exam has 30 multiple choice questions. You have 35 minutes to take the exam. The exam covers the first half of the class, is closed everything, and is proctored by HonorLock.
    • Final Exam (12.5%): The exam has 30 multiple choice questions. You have 35 minutes to take the exam. The exam covers material since the midterm, is closed everything, and is proctored by HonorLock.


    • Miscellaneous Stuff: Instead of using Piazza for the discussion forum and Canvas for the lectures, the ed platform was used. In my opinion, it was horrible. Searching for items was a nightmare, to the extent of it was easier (and faster) to post a question and it be marked as duplicate than to do a search and have to wade through irrelevant and unmatched results. The entire work for the class is posted at the start, so it is easy to get ahead on work. The summer course covers the same amount of material as the spring and fall, but the timeframe is much more condensed. Some projects in the fall and spring normally get two weeks until it is due; however, you are only allowed one week for every project. While the class is worthwhile and somewhat easy, taking it during the summer proved to be a lot more difficult than taking it during a different term.
    • Textbook: There is 1 required textbook and 2 optional textbooks. One of the optional textbooks (Machine Learning) is a good, affordable book if you are interested in machine learning (but also a required book for another machine learning course).
    • Movie: There is a movie you have to watch as one of weekly assignments. It is The Big Short. You may find it streaming for free, but you can also rent it from Amazon or buy a physical disc for cheap. A good number of questions on the final exam come from the movie.
    • Projects: The projects are interesting and relevant to the course. Most of the projects are Python. The biggest issue is the reports for the projects, which require you to stick to a very strict document format (to the extent of font, spacing, formatting, alignment, decimal tab alignment, and table and chart formats). Projects 3, 6, and 8 took quite a bit of time, so you should start on it early. You are required to setup a local environment (watch the video and set it up exactly like they describe).
    • Exams: There is a mid-term and final exam in this class. Both exams are 30 questions, all multiple-choice. The only thing making them tough is only having 35 minutes to take the exam. It is easy to take them and have time left, but it can be stressful if you like to read the questions slowly to understand or want to go back and double check your selections. Unlike other courses I have taken, they do not provide you with the exam or show you the questions you got incorrect. You have to submit posts to them to ask what you missed so you can contest it.
    • Professor and TAs: The entire teaching staff was great. They took an active role in Ed, which made getting help and questions answered easy. Unlike some other courses, the posts stayed on topic pretty well. Some TAs may be a little more harsh or crass, but given a class with almost 1000 students, a large TA staff, and students across the globe, this is somewhat to be expected.
    • Overall Grade: I feel like I put an acceptable amount of time in this course (over 242 hours to be exact). In the end, my grade was 91.2, which got me an A. The grade distribution is the standard A (90.0+), B (80.0 to 89.9), C (70.0 to 79.9), D (60.0 to 69.9), and F (less than 60).


    This class is somewhat easy and straight-forward. Having no experience in machine learning, I was still able to do well in this course. The coursework is all available once the class starts, so it is easy to know what is coming and to stay ahead. Some of the projects take some time, so start early. Taking the course during the summer kind of sucks because it covers the same amount of material as the spring and fall semesters, but the material is compressed (spring and fall semesters have 2 weeks for several projects compared to only 1 in the summer). The Ed platform is horrible. Having more than 35 minutes would be nice when taking the 30 question exams. Not a whole lot of reading. The lectures are very informative and well delivered. All-in-all, it is a great class for the summer or for people just starting the OMSCS program, but I feel it would definitely be easier and less stressful taking it during the fall or spring terms.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-08-07T00:05:22Zsummer 2021

    I thought this would be an easy course. I was wrong. In summer, the course pace was quite fast and we had weekly assignments. I could finish some of the first few assignments quickly, so I tried to front load everything, which apparently was a good idea. Some of the time consuming reports were still due within a week.

    The lectures are a bit old, so I think they should really update the material. I didn't do the coding exercises in the lecture videos because they may not be relevant with Python 3.

    The best part of this class was the forum discussion. The new discussion platform was lovely and the TAs were incredibly helpful and responsive.

    I was using Windows with WSL2 and PyCharm.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-08-02T16:45:09Zsummer 2021

    This is probably the first course in the OMSCS program I mostly regret taking. The reasoning for this is that this is my sixth course in the program, and there was very little new in the course to learn despite how much work it could be. In short, if you've taken a few ML courses already, you'll be bored and mildly frustrated.

    The only real difficulty in this course came from having to complete a project a week. Which wasn't terrible, but still a lot of writing/coding to do in a short time span. Just start them all early and on time and you'll be fine. The greatest difficulty in the reports are making sure you read every single line in the assignment as things like what color your lines are matter on your graphs.

    I used a Windows computer with Anaconda/PyCharm and that was fine, I couldn't run the testing file given, but submitting to Gradescope worked decently. Would be nice if that didn't matter.

    I did take away Technical Indicators which are interesting and having to watch The Big Short makes one a bit angry at the world.

    Anyway, this is a good first ML course, but beyond that not much more.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-07-31T00:43:57Zsummer 2021

    The material is not difficult at all. However, writing report is a pain. There are way too many detailed requirement (e.g. "You need to plot these two lines in red and blue"). A typical assignment has around 12 pages of instructions. Unless you are (1) very detailed oriented and pay very close attention to the color of each line on the plot, and (2) has never coded in Python before, I wouldn't recommend this course.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 4 hours / week

  • Georgia Tech Student2021-07-30T05:28:56Zsummer 2021


    • This is my second course in OMSCS, having taken HCI.
    • I work with Python/Pandas/Numpy on a daily basis at my job as a data analyst, so the focus of my learning was on the course content itself, particularly around ML, and less on the technical aspect of the language/libraries. I'd recommend knowing Python prior to entering the course. You could probably learn pandas on the fly, but even just a bit of prior exposure to DataFrames and vectorization would be beneficial.
    • Didn't major in CS in undergrad, but I did take several CS classes. I majored in Economics and while I was very familiar with financial markets prior to entering the course, I still learned a lot about some theorems like the Efficient Market Hypothesis, Sharpe Ratio, Optimal Portfolio Allocation, and Technical Analysis that I hadn't come across before. I don't think you need any financial knowledge to succeed in the class.

    Things I liked

    • I thoroughly enjoyed the course and felt it was a concise but well-rounded introduction to ML. I greatly enjoyed learning about random forests, decision trees, and reinforcement learning. Professor Balch is phenomenal in his lectures -- funny but thorough. If any reviews say the course is "easy", I'm confident it's because he does such a good job with communicating the course content.
    • The TAs were great in my experience. I particularly appreciated Steven Bryant, who was just on top of every question on Ed. Phenomenal person who shared many of Professor Balch's best qualities in explaining complex things in a simple and easy-to-grasp manner. Steven was an important part of my success in this course because of how thorough his Ed responses were.
    • The course is a good one for the summer in my opinion, but the weeks are very uneven. Each week is one of 8 projects. Projects 3, 6, and 8 in my opinion were the toughest. These weeks were anywhere between 20-30 hours. The other ones were relatively easier, probably averaging closer to 10-12 hours. Hence I spent about 17 hours on average, but just note that this distribution is skewed.
    • The midterm exam was fair and straightforward. I won't talk about the final as we are in the "quiet" period.

    Feedback and Tips

    • I almost dropped this course because setting up the environment seemed so complex. Part of this may be that it's my first time doing it, since my prior course was HCI. My recommendation is to do VirtualBox running Ubuntu. I would recommend JupyterLab as your IDE, which should greatly speed up your testing and development time if you figure out how to use it. SSH into your environment with VisualStudioCode. You can then run JupyterLab from within your environment, but develop on it within a browser on your local machine. Getting this setup right and comfortable for quick development was a foundational reason I could succeed in the class.
    • A lot of reviews talk about how the project descriptions need to be reworked. My experience was certainly not as bad as some of the reviews here make it out to be, but I still tend to agree. I think this could mostly be fixed with some simple formatting improvements and structure -- don't put things in the Rubric that aren't also mentioned in the main project body for example. Make the project description flow more chronologically, so that I'm not jumping around the page trying to ensure I have all the pieces necessary.
    • The projects build upon each other, so don't skimp on Project 3 because you'll be using the same pieces to successfully complete Project 8.
    • Going from the first day to submitting Project 1 is the toughest stretch in my opinion, since you're getting your environment setup and spending extra time getting accustomed to how to submit files and such. Project 3 is the toughest in my opinion. Project 6 takes more planning and research, but is not as challenging to implement. Project 8 was long due to having to write a 10-page report (where I feel like the content might've necessitated 12-15 pages), but the actual coding for it wasn't too bad. The other projects felt like rest weeks interspersed between the hard ones.
    • I'd rewatch the requisite lectures for the exams. Having that quick refresher can help you from second-guessing yourself.
    • Don't underestimate this course's difficulty. I personally think it's a "Medium" compared to HCI which I had as an "Easy". It can be discouraging if your expectations aren't aligned with the course's demands.
    • I didn't do any of the required reading, although I skimmed it. It mostly just reviews what the lectures cover. Prof. Balch's book is well written though if you'd like to have it for reference, but I think you can succeed without doing the reading.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 17 hours / week

  • Georgia Tech Student2021-07-26T23:32:05Zsummer 2021

    This course is a great introduction to pandas/numpy for those who never touched it before. If you have a background in pandas/numpy, this course will likely be a breeze which is likely what is bringing down the workload number for a lot of people, though it will serve as a fun introduction to trading and finance. The lectures were great, though there was a whole section of lectures (there are 3 sections) that was strictly related to an introduction to finance and trading, which is important for tests but generally useless for the projects.

    If you don't have a background in pandas/numpy, note this course has non-trival difficulty since its like learning how to program all over again to not be able to use for loops and try and vectorize as much of your code as humanly possible to work within the runtime limitations. The coding in this course was (MUCH) harder than AI4R which felt like a joke in terms of coding difficulty, most of the difficulty in that class was understanding the concepts well enough to code them. Compared to another "easy" class, KBAI, the programming difficulty is far greater. ML4T is not necessarily a difficult course in terms of programming difficulty, but you should know your way around code.

    Make sure to set up your environment early, which is probably one of the biggest downsides of this course. The provided testers will only work in linux (unless you want to submit it to Gradescope testing, instead of testing performance locally), and it uses an older version of Python.

    The projects are generally well explained as they have accompanying lectures, and the TA's were very helpful on edstem (1 in particular so you may not be so lucky). Some projects take much longer than others (if you don't care about optimizing your performance so that it passes every single seed, 1 project literally takes 1 hour max if you have a decent handle of np/pd by the time you get to it and understand the concepts). In fact, if you are looking for an easy A you can probably make Project 6 and the final Project much easier on yourself by choosing easy methods to implement them so you can spend more time on your report, but I would question why you would be taking this class in the first place if this was case.

    An addendum to the projects, however, is that the grading structure is sort of poorly explained, and you need to look at Edstem for clarification, which isn't the biggest deal. One thing that will give you a heart attack is that you can test your code in Gradescope, but when submitting, you won't know how your code performed in the ACTUAL grading tests (which may be done with different seeds) until about a week later, which brings me to one of the negatives of this course, the grading. You won't receive your grade for a PROGRAMMING assignment until about a week later, and for a written report you won't see it until 2 weeks later at the least, which is tough because having feedback on Project 6 would have helped for the final project.

    The exam was somewhat fair, you had access to previous exams and the actual exam has a similar structure/topics. I hated how there is required reading which covers the SAME topics as in the lectures so you gloss over it, but find that there is 1 small detail you missed from the readings that is covered in the exam.

    If you have an interest in financial machine learning, this is a good INTRODUCTORY course, and nearing the end, I actually wish it was far more intensive and allowed you to use modern libraries (such as sklearn) to solve problems and create experiments.

    Note: the time/difficulty may be inflated because I took this over the summer

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-07-23T19:03:54Zsummer 2021

    After several weeks in this course, I feel really compelled to write a review. I don't like this course. Obviously made an error, somewhat, taking this in the summer, but still I don't think or agree that students should be subjected to this much trouble taking any course.

    Firstly, I should clarify that this is not coming from a point of zero effort. Presently, I have had perfect scores on all projects so far, except for the midterm where I got a 28/30. So, I do expect to get an A. However, that doesn't hold me back from saying that the course design is very, very poor. The content appears good and I do like it, but the design is horrible.

    The projects are a mess. Nearly every project is a jumble of instructions, caveats, methods, etc., with most of these saying nothing and all things at the same time. I have a feeling this is clearly a case of "too many cooks spoil the broth", as someone below me pointed out. Certainly there are many instructors or professors tinkering with the project instructions every single term. Strangely, many of these details are absolutely unnecessary for the completion of the assignments. I feel a better design (if they wanted that much detail) would have been to let Gradescope decide what's good and what's not, and end it there. So, that all the nuances about colors, size, labels, legends, etc. would be left to the computer to decide (if they really cared). Apparently though, your codes passing on Gradescope looks to be insufficient. At least, that's what other students have pointed out. You could still lose marks in reports, I guess, or if your plot were green instead of red.

    The platform, edstem, is also not very good, in my opinion. It's not easy to navigate through this platform or to easily find resources. I had a hard time simply locating where the schedule for the office hours was. It is also not very easy making out the responses to specific questions in the chain of replies. Besides, for a student population coming from using Piazza in other courses, diving into this new platform can be immediately jarring, at least in the first few weeks. I don't understand why they can't just stick with Piazza.

    The TA's are okay, but I don't see them offering that many quality feedbacks on some of the projects. For the Extra Credit project, for example, it was a candid "Sorry, we don't have any more information than you do". I'm not even sure if anyone in the class was able to do the Extra Credit project. I certainly didn't attempt it. It simply wasn't worth it diving into more information than I was willing to process. This makes me wonder why it is included. The objective doesn't appear to be wanting to help students augment their marks, I'd guess.

    I'd say the difficulty of this course is about medium. If you are coming from a ML background, having worked as a quant or something, you may find this to be easy difficulty. If you have little to no programming experience, it will definitely be hard difficulty. If you are average in programming and can google Stackoverflow, this will be about medium for you, as long as you start the projects early and can quickly churn out the reports. For someone like me taking two additional courses this Summer (yea, I wish i wasn't, lol!), I'm able to effectively manage this course because I write a lot and have decent programming experience. Having taken DVA also helped since the information overload is about the same (or much less, really). In fact, at least one project in both courses is a little similar (e.g. Decision Learner).

    Overall, I'm just not having the information overload this course presents. I guess that's my major grouse. Pages and pages of irrelevant detail that don't matter for the actual coding or learning. Good luck taking this course, if you want to. Better luck taking it in Summer.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-07-04T01:37:56Zsummer 2021


    • Pretty solid introduction to machine learning, NumPy/Pandas and stonks.
    • Course definitely has room for improvement and workload can be a little intense at times but I would definitely recommend taking it.
    • I took this course with having a decent background in Python, statistics and the stock market. I feel like people with an ML background breeze through this course and then bring down the average workload with their reviews


    • The majority of the lectures are well done and informative
    • You learn a lot from the course
    • Material is fun and engaging and the projects you do are really cool
    • TAs are very helpful
    • Instructors seem very eager for feedback and like they want to improve the course
    • Course is fairly well organized (with one caveat concerning project requirements)
    • Difffculty and workload are overall reasonable


    • Some of the lectures are pretty bad (basically all the ones on YouTube are 20 minutes of useful material stretched out to hour long, low quality live streams of somewhat outdated lectures)
    • Projects need more polishing:
      • Requirements are confusing as hell (e.g.: Project 3 has a 5500 word document describing it and you need to comb through a bunch of Ed posts for further clarification)
      • It's very easy to make a little slip-up in your project and deductions for it are huge (e.g.: losing 50% of your report grade if you graph data from 2008-2011 instead of 2008-2009)
      • Requirements don't make it clear how thorough you need to be with your answers to questions asked for the report. Questions asked can be answered 1 paragraph or 1 page depending on how much detail you give and you have no way of knowing what TAs want
      • Projects build on each other and no solutions are given so if you mess up 1 project, it can cascade and cause you to mess up on the next project
      • Projects feel very all-or-nothing. Either you've completed it and tests pass in which case you get >90% or you're missing something (can be 1 tiny detail) and tests fail and you get <30%
    • Feedback is super slow, we were about half-way through the course before getting any grades for the course
    • Setting up your dev environment is a headache
    • Exam 1 (and probably Exam 2) aren't very good
      • 2 practice exams are provided, 1 is extremely useful and 1 is basically trash (hint: the trash one is >500 questions long where some questions are incomplete / not in English)
      • Exam prep pages have lots of out-dated info on them
      • The exam itself is way too easy and doesn't allow you to use a pen and paper. Basically it's just quizzing you on rote memorization
      • I've only written Exam 1 but I expect Exam 2 to follow the same format, I'll amend my review if this isn't the case


    • The course starts off slow and project details are finalized 3 weeks before they are due. Spend a lot of time the first couple weeks getting ahead of the course material since you'll likely need that extra time when you reach the larger projects

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-07-03T17:55:23Zsummer 2021

    This course should be renamed as Finance 101 + Python 101. The course content is quite straight forward and some what interesting. Understanding all the materials is really easy. However, as mentioned by previous posts, what makes ML4T ugly is its assignment design and grading policies. I have never seen such long and useless project requirements in my past 20 years' study. The TAs that designed those rubrics should definitely receive more trainings in writing. Besides, all those awkward requirements is really meaningless. As a person that works as a quant and is familiar with the whole course content, I see no point in designing the assignments in this way. After figuring out that I could not learn anything from either the course content or those assignments, I quit this course to save the rest of my summer.

    Rating: 2 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-06-17T13:30:10Zsummer 2021

    Regarding the reviewer below who posted:

    "People who drop and hate this course tend to complain and post negative reviews before the course is over."

    If, based on how poorly requirements and communication were done and on the "micro managing", people hated the course enough to drop it before the semester is over, then this bias is justified. Does the reviewer who made this comment think that those who hated the course enough to drop it will change their minds with more weeks of poor requirements and communication and micro managing? These things cannot be attributed solely to the course being held in the summer. The micro managing and confusing requirements happen because the course and its content have not been thought out well, and nobody seems to care enough to do anything about it, especially because as I understand, this material is recycled from one semester to another, and is the reason why an official solution to the assignments is never released. In any case, the Fall 2020 set of reviews contains 6 reviews that are either disliked or strongly disliked and 9 reviews that are either liked or strongly liked, which seems to vindicate the negative reviews for the summer 2021 semester.

    I recommend taking a different course, even if you plan on taking it in a full-length semester.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-06-16T14:57:11Zsummer 2021

    I highly recommend taking a different course

    What I liked

    The course seemed to be of reasonable difficulty for the summer semester. The lectures were concise and informative, and the material was mostly review (through project 3).

    What I didn't like

    Office hours and additional lecture material were hard to find. Several students had to request help in locating the OH material because it was buried in the forum.

    There is a custom reporting format that is the definition of micro managing, except it is missing some of the most critical aspects for academic reporting, such as citations.

    Books were pushed hard, but forum posts by the staff indicated that they are not used in the exams, nor are they part of the curriculum. $200+ dollars for texts that will go unused is a waste.

    The class requires a local linux (Ubuntu) environment, but none of the instructors could put together a how-to for students who were struggling.

    If you take this class, just use the WSL2 feature, install Ubuntu, and then add anaconda. It's super easy and much more convenient than creating a VM.

    As of project 3, the local environment was neither used nor required.

    The grading rubric stated that you will lose 10 points on every homework regardless of whether your answer was correct.

    Clarification was slow and took multiple rounds of interaction before clear instructions were provided. Often the responses were received after the project deadline.


    I'm not sure if this is a gripe or a change, so I'll note this as a frustration. Instead of using Piazza and other resources that the rest of the courses utilized, this course used a different forum and grading system that caused a lot of consternation among the students. If Piazza is going away, then this is a change, and no worries, but the school should stick with one platform.

    Appeal for Change

    This class really showcases the need for improvements in the online courses at GT. I love this school, and it pains me to see this kind of poor performance.

    There is no doubt in the instructors', TA's, and students' abilities, however, the execution and communication issues that plague this program are severe and difficult to work around.

    Please address these ridiculous communications issues and clean up the admin side of the program.

    Full Disclosure

    I dropped this course at project 3 due to moving and starting a new job. I expected a good grade in this class and even with the frustrations, it is paced appropriately for the summer.

    While I don't recommend it as a class, if you do need an "easier" summer class, this fits the bill. Just expect to spend some extra time working through issues.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-06-12T15:20:59Zsummer 2021

    The Good

    • Professor Balch's lectures are informative and entertaining
    • Even having taken multiple courses in machine learning, I came away with new awareness
    • One does not need to actually enroll in this course to have access to the lecture material since Professor Balch makes it available for free on udacity

    The Bad

    • As is usual for many MOOCs, this course suffers from problems in communication
    • Far more time is spent on bureaucratic nonsense than should be required, in proportion to value-added time such as coding and understanding the algorithms
    • As good as Professor Balch's video lectures are, they aren't actually helpful to completing the assignments, aside from a very high-level view of how certain algorithms work
    • Sorry, but who is Joyner? The only "interaction" the class has with him is the weekly notification of new course material. This could be (or possibly is) done by a bot.

    The Ugly

    • Ironically, despite demands for meticulous accuracy and precision in how assignments are to be submitted, the teaching staff does not hold itself to these same standards
    • The course appears to be designed by committee and has all the markings of "too many cooks ..." (seriously, who designed this course and its delivery? Balch, Joyner, Bryant, anyone else?)
    • Typically, the assignment has a rubric to be followed, which when printed off on 8.5 x 11 consumes 1/2 dozen pages
    • The rubric is only a starting point - in addition, you need to refer to a description of an API, lecture videos, other assorted youtube videos, downloads of documentation on which methods you are expected to use (heaven forbid you use some other method even if that method doesn't call a fobidden scipy library function)
    • Inevitably, with so much content on the rubric (and the corresponding detailed requirements on submission), questions are sure to arise
    • The clarifications to such questions are often as confusing as the original source of doubt in the rubric
    • Worse, the rubric is not updated - instead you have to follow the discussion board for updates and clarifications
    • In at least one case that I am familiar with, after 3 "clarifications", the requirements still weren't clear, and quite honestly, could have been solved by simply stating how the autograder will call your function(s). For example:
      • Requirements stated:
        • Does the code generate the appropriate chart written to a .png file? (-10 points)
        • Does the code create charts that are displayed on the screen or in a window when the code is run? (-10 points)
      • Hilariously, it seems to imply that if you "generate the appropriate charts" you will be punished by losing 10 points, just as if your code was popping up charts in the runtime (legitimately "bad behavior" that should result in losing points)
      • After several attempts at explaining, including misleading comments about how the default value for creating charts is used, what would have answered the doubts immediately (or had this been stated in the requirements, obviated any need for clarifications), would have been to state:
        • The autograder will always call your function with a False value for the optional parameter gen_plot, which can accept either True or False


    For course creators

    • Have a single person, and not a committee, design the course content
    • Thoroughly read over the content from the point of view of the student, who may or may not be familiar with trading terminology, strategy, etc. and phrase the rubric in English
    • If you can't state your requirements clearly, you surrender all claim to demand precisely-named output files, or precisely-formatted reports, or other precise instructions

    For future students

    • Avoid taking this course until the shortcomings mentioned above are addressed (unless you love to wallow in frustration, poorly-communicated requirements, and endless bureaucracy)

    Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-06-07T04:38:02Zsummer 2021

    See "Difficulty" and "Workload".

    Rating: 1 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-05-16T15:49:48Zspring 2021

    The class is structured in a way that makes learning fun and interesting. The projects range from easy to very difficult. All in all, this was one of my favorite classes and gave me the strongest foundation for coding.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 16 hours / week

  • Georgia Tech Student2021-05-14T14:43:35Zspring 2021

    This course was a good, simple introduction to Machine Learning. If you have interest in stock trading, at least the subject matter is interesting. You won't build a project that will make you rich, but you will gain good knowledge of how the market works and the concept of a way to make buy/sell decisions based on a learning.

    The projects weren't too difficult, but a few did require a little digging. The projects do build on each other, so you need to keep up. The exams are in my opinion very fair. They provided a study guide of example questions. If you spend a couple nights going through the questions you should be ok on the tests, so long as you understood the material.

    If you're familiar with Joyner courses, you already know there is some writing required, and you must pay close attention to the rubric for credit on these papers, but grading seemed to be fair if you answered every question.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2021-05-12T02:28:05Zspring 2021

    Very well run course. Lots to do, all of it easy-to-medium (I work in ML and have taken ML/DL/GA already, so keep that in mind as you're reading this). I didn't feel like my previous courses detracted from what I learned here. It was really cool to apply reinforcement learning to stocks and to build up pieces of various learners throughout the course with it culminating in the final assignment. I got an A.

    Also, huge shout out to the teaching staff, they were on point, and one TA specifically is the best I've ever seen.

    Highly recommended for people who want to dip their toes into ML but are a bit frightened of the other courses, or for those like me who wanted to see what the class was all about.

    Preparation tips are to study Python, NumPy, and Pandas if possible. Definitely know how to code or else you'll have a rough time (I still find it weird having to say this for a computer science masters, but whatever).

    Rating: 5 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2021-05-12T01:26:18Zspring 2021

    This was my first CS course ever and really liked it. I had some programming experience, but was self-taught and whilst I did not find it difficult at all on the programming side, I did have to learn how to vectorize in order to pass the tests.

    Although it does take some time and thought, the course is quite doable and I managed to only miss 3 questions in total for the midterm and final exam, but I did miss some points for not following the instructions correctly in the projects (just be careful about that).

    Finished with an A and with some thoughts about changing from OMSA to OMSCS... (I mean, you have Networks science and also can take HDDA)

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-05-11T17:06:37Zfall 2020


    My background is CS major working as an software engineer at a FAANG.

    This was my first class in the OMSCS program after being out of school for ~5 years. I took it alone while working full time.

    Overall, It was a very good class to get back into school thinking.


    The projects were laid out very nicely with very detailed requirements.


    It was very clear what was expected for the coding half. I write Python everyday at work and am very familiar with Numpy and Pandas, so I didn't learn too much here.

    The algorithms we wrote were interesting, but about half them I had implemented before in school or work.

    A lot of the code you write will be reused. Taking a DRY approach I was able to copy/paste a lot of code and have huge sections working by the first hour. My biggest advice is to write these base classes very cleanly and generic as the input shape tends to change a bit.


    Most of the projects had a report which had to be very detailed, and this was where most of my time went into this class. I am not a very strong writer, so I would say I spent about 3x times writing the reports compared to writing code.

    All of my assignments I scored 98+, but on one I scored an 80 because I had a technically incorrect explanation of my results. (results were valid)

    Tip: I took the time to create my own LaTeX template based off the requirements for this course. It took me about 1 hour to complete and is worth the time if you are not familiar with LaTex. I highly recommend using a system like Overleaf to store and write your assignments.


    The exams were pretty easy, as long as you keep notes during the lectures you should have everything you need to get a good score.

    Application to ML

    This course gives a very high level overview of ML strategies and investigates a few interesting topics. It left me wanting to know more, which was a plus. If you are on the fence about ML, I feel this is a great course to gauge your interest.


    All things being said I felt this was a nice, easy course to get me back in the school mindset. The projects are interesting, and if you are even remotely interesting in stocks and trading, I feel you will enjoy this class.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-05-08T23:44:09Zspring 2021

    The is the first review I write here. My background, 20+ years of experience in Management Consulting. Industrial Engineer. Confortable with programming. Have a full time executive job. This is my fourth masters.

    For my point of view, this class was excellent. Very well articulated, with great content and projects. It was a great introduction to ML and I feel it was a great experience overall.

    However, I my opinion, and perhaps due to my background, I do not consider this class easy or very easy by any means. It is HARD, and VERY demanding in time, requires very high attention to detail, and it can be very tricky in terms of implementing your projects and reports.

    If you watch the videos, take notes, review the homework assignments you will spend way more than 5h/week as some of the other reviews. I agree that the time required for each project varies greatly but disagree with others that in their assessment of difficulty.

    (1) Please be sure you are very comfortable with Python, Pandas, Numpy. (2) Start your projects as early as possible as even when it works, you will discover multiple technical issues you did not expect (i.e. when submitting that there are max execution time requirements that can render your grade to zero if not met). (3) Enjoy the class, spend quality time understanding the concepts as I find they are very useful for this class and future ones.

    If you are a python, or ML expert you might need only <6 hrs/ week. For the rest of us without that background, be prepared to spend easily 15-20 hrs/week.

    Overall, great class. Highly recommended. Just be aware that for many, it not as easy as other reviews make it look like. So please, do not underestimate it.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-06T21:10:06Zspring 2021

    As previous reviews suggested, if you have no python experiences, prepare to spend some extra time on the projects. My tip is to start project 6 and 8 early: Project 6 isn't hard, but it's due 1 week from exam 1; Project 8 is very time consuming but you learn the most from it. Also, don't be scared by the amount of questions in the question pool, the exams are easy.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-05-05T21:50:03Zfall 2020

    I know programming, but i am not a pro, which is needed for this course. A good programmer can breeze through this course, but all non CS students beware that this course is really really hard. Master numpy, pandas if you want to take this course as well as get good hold on programming. Exams are easy, if you prepare from the old questions . Excellent TAs and projects were interesting and you will learn a lot. I did not need the text book . Though this course was really hard, i ended up with an A , I will highly recommend this course for the content and learning.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-04T12:55:08Zspring 2021

    I was looking for a class to double up with, and this one was perfect for it. All the projects are available on the website so I could work as far ahead as I needed to keep pace in both classes. The content was an easy overview of the stock market and basic machine learning algorithms. Prof Balch's enthusiasm for the topic shows in the lectures and I really enjoyed watching them. Very little outside research was needed. The lectures and project descriptions gave me all the tools I needed to solve all the problems. The extra research I did was for python, numpy, and pandas. I entered this class with no experience with any of them.

    All the projects are very accessible. Not something that I would like to cram on the night before, though. Often I would run into a problem and come back the next day with a solution, or note something in the project description that I missed before. The hardest projects with the biggest reports took about three weeks, and the shortest projects with no reports took under a day. I put in one to two hours a day in this class - either watching lectures or working on a project. I recorded the date I finished each project, report and all. So you have some idea of my pace:

    Project 1 : Martingale Completed 1/19 (report)

    Project 2 : Optimize Something Completed 1/23

    Project 3 : Assess Learners Completed 2/9 (report)

    Project 4 : Defeat Learners Completed 2/9

    Project 5 : Marketsim Completed 2/17

    Project 6 : Indicator Evaluation Completed 3/7 (report)

    Project 7 : QLearner Completed 3/18

    Project 8 : Strategy Evaluation Completed 4/5 (report)

    The most frustrating part is the way the project descriptions are written. The entire document is important and little necessary pieces are embedded in each section. Something that's vital to the report may be one sentence in a method description. You really have to read them carefully in order to meet all the requirements.

    The exams have a time limit of 30 minutes. While I stressed a bit about the time, the actual exams took maybe only half that, but I'm a fast MCQ test taker. You may want to factor this into your decision to take the class.

    That aside, it's just a really well done class that's definitely worth your time. I thoroughly enjoyed it.

    Down side: The Big Short (2015) is part of the content and on the final exam.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 7 hours / week

  • Georgia Tech Student2021-05-02T05:31:19Zspring 2021

    Ooof, this one was rough. I went in looking for an moderate class based on the reviews. I struggled, even though I work in ML at $DAYJOB and have an amateur understanding of finance. Part of my problem was stacking this with another class (AI Ethics), which often had similar due dates. One great thing about this class is that you can work ahead, which can help in some cases.

    The pace seemed pretty uneven, some projects took 10+ hours, then the project for the next week would only take ~ 2 hours. It was really hard to get a feel for the time commitment. The test code environment seemed very brittle, however it got better as the class progressed. Just make sure to do good on P3, P6 and P8 and you should be good. The directions for each project are VERY dense and contain alot of little details that are easy to miss and can hurt your grade. I lost a lot of points by missing directions that were buried in a non-obvious part of the project notes. Also some of the projects require reports, which for me took longer than writing the code, so beware. The exams are fairly average, some of the wording is tricky. Just use the anki flashcards to study, most of the lectures are a chore to get through.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-04-22T14:27:32Zspring 2021

    Know that you’re not gonna start your own quant hedge fund after completing CS7646. Have realistic expectations; CS7646 is more of an introduction.

    Things I really appreciate:

    1. Specifications & files for all projects are given upfront, giving students full flexibility in their schedules. This is not the case for other modules I’ve taken, where content is released on a strict weekly basis.
    2. Ex-Prof. has real life experience & incorporates it into lecture material, e.g. “10 ways backtests lie”.
    3. Course does a very good job of bridging theory & practice – many projects actually require students to implement trading strategies on stock data. It’s not just a theoretical exercise.
    4. Course does a very good job of bringing the entire syllabus together in final project. You’re not just learning stuff in silos.
    5. TA Steven Bryant must have replied a million questions on the forum. Massive respect for his patience & dedication.

    That said, there are some areas for improvement:

    1. Project descriptions require so much reading I should also receive a liberal arts degree. Project 8’s description in CS7646’s beloved JDF Word format is TWENTY. PAGES. LONG. Important criteria & information are usually stated explicitly, but scattered throughout different sections, necessitating multiple forum threads just to figure out what exactly is being asked.
    2. Pacing of workload across the semester is very uneven. And because later projects draw on earlier projects’ output, you can’t just fail & forget. As far as I know, there is no model answer/example code given for any project. I’d really prefer if we could just use libraries for Project 8, rather than retrofitting our old, libraryless code to a new API. This would put the focus on the trading part.
    3. Content couldn’t fill the semester up. This is a pity because firstly, CS7646 material is very interesting but very surface. Secondly, a few ML models are already covered in core modules, so it’d be nice to have the course go into greater depth.
    4. Python 3.6 is kinda old-fashioned by now.

    NEUTRAL observations:

    1. CS7646 has a greater-than-usual susceptibility to randomness compared to other modules. E.g. if you rely on random forests repeatedly, you might spend most of your time debugging edge cases long after the model was coded. Also, if you chose indicators in Project 6 that just happen to fit poorly to Project 8 (there’s no way you’d know unless you do this for a living), you’ll be spending hours & days tuning hyperparameters.

    If you don’t have a CS background (like me), some things may appear alien even if you’re familiar with data analytics:

    1. Installing a virtual machine, specific Linux distributions & Python environments was truly painful. TA’s demo was on a low-res video plus the demo-ed software was different from what was recommended. (Nonetheless, after I finally succeeded, it sure felt good.)
    2. Ton of command line usage. I still prefer double-clicking on applications or “Shift-Entering” in Jupyter. Sometimes I can have all the ML code out in 5min, but figuring out how to implement it according to the specified API, or even how to pull in the data in the first place, takes several times longer. In fact, to this day I still don’t understand the bonus project’s instructions.
    3. Some programming concepts leaning slightly more towards CS than Analytics will be name-dropped very casually & you are expected to make them work, e.g. recursion & classes.

    But I see merit in the point of view that data science is programming-first, hence I don’t treat these as criticisms; it’s just how it is & everyone’s just gotta deal with it.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-04-19T15:34:07Zspring 2021

    If you already have a background in finance, this class probably isn't for you.

    I was excited to take this course since I have a pretty extensive history dealing with the stock and derivatives markets (CS and Econ undergrad, worked at a bank after college, trading on my own, etc.) However, the class is incredibly focuses on the finance side rather than the machine learning side, and didn't really teach anything particularly useful in the ML regard. For instance, nobody in the real world will actually code up their own ML learner rather than using scikit-learn or anything else.

    This class would have been much more useful to me if they had updated the videos from six years ago and reworked the class to get an actual model running somewhere.

    Frankly, I found myself bored and frustrated since I don't think I gained that much from the class besides learning some more holes in my knowledge for algorithmic trading (so it wasn't all bad in that respect.)

    The lectures and code examples use pretty outdated Python and Pandas code, so you should be comfortable enough in Python to interpret the intention behind the code and rewrite it as necessary.

    The TAs seem to enjoy going on power trips and docking insane numbers of points on seemingly minor things, but there is a pretty efficient process to dispute awarded grades that I've had to use a few times (thankfully successfully.)

    Rating: 2 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2021-04-02T03:27:43Zspring 2021

    If you have any experience with python, numpy, and pandas, you'll find this course very easy. If you also have experience with finance, you can probably sleep your way through. That being said, for someone who doesn't have that knowledge, the lecture videos are well put together, the assignments have very well written requirements and guides, and the TAs are fairly responsive to questions, although things do sometimes get lost in the course's enormous mega threads.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • Georgia Tech Student2021-04-02T02:59:22Zspring 2021

    This is a great combination and introduction to both Machine Learning and Finance. It contains multiple mini projects, and most of them are closely related to course materials. It also gave a detailed introduction to trading, and lots of insights about quant/hedge funds.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-04-02T02:23:22Zfall 2020

    Kids, if you are a 20 something, this class could influence the course of your life (seriously).

    Pay attention both to the lessons regarding machine learning and especially the financial analysis lessons.

    There is much to be learned here.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-01-22T05:42:44Zfall 2020

    I personally found the course material to be very interesting but ultimately came away very disappointed with the class. Many of the issues have been discussed in previous reviews but i’ll mention them again here.

    1. I found the TAs to be very condescending (mostly one TA tbh) and generally unhelpful. Honestly, most of this came from the way they had us posting on Piazza which was disastrous. They wanted master threads for each project which, with a huge class (1000+ students), just turned into threads that were hundreds of posts long and extremely tedious to read through to hopefully find an answer to your question. Many suggestions were made how to improve organization on Piazza and the responses from TAs generally amounted to “this is the system we made, it works for us, and us saying this is how it’s gonna be should be a good enough answer for you.” Personally, I think a handful of TAs should be willing to adapt to better serve the needs of around 1000 students but I digress.

    2. Project PDFs were generally worded poorly with requirements scattered all over the document and sometimes contradictions abound. Took far too much time deciphering what was needed.

    3. The report format was very stringent and could honestly take more time and effort than actually figuring out the code. I get that creating reports and communicating results is important but it seemed to go too far.

    4. Grading standards were pretty tough. Minor mistakes could often lead to major point deductions.

    5. HW solutions are never released. I get that they re-use assignments every semester and want to prevent cheating but for students that honestly want to learn from their mistakes, this was particularly frustrating.

    If you have strong Python skills and can get past the above issues, you’ll probably enjoy this class. You do hit the ground running though and the class can feel like a grind as there’s an assignment due pretty much every week, especially in the first few weeks. My advice would be to start everything early and try to be particularly aware of which assignments are going to take more time. Overall, could be a good class but came away pretty disappointed.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-23T22:14:46Zfall 2020

    The course itself is very good and well-designed. But the teaching staff ruined the course. The TAs are not as supportive as the ones in other courses. Piazza tells everything. Some policies in the course are really peremptory. A lot of time on assignments could be spend on some places where we can learn something more useful.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-12-19T23:32:05Zfall 2020

    Time-wise, the course is pretty “lumpy”. Some weeks took 15+ hours while others took 0 to 5 hours. So be prepared for that. I think if you don’t have a lot of experience with the python data analysis stack and/or finance/stock trading, then the class will be pretty useful and interesting. For the first 75% of the course, I held a more negative view on it overall than some of the stellar reviews on OMSCentral. I went into the course with a lot of python (Pandas/Numpy) exposure and decent knowledge with respect to finance/stock trading, so the negatives of the course got a lot of my attention initially (those being outdated material, convoluted environment setup instructions, messy Piazza, snarky TAs, overly convoluted project instructions, nitpicky report requirements, and odd grading rubrics). That being said, the last project of the course did somewhat redeem the course. The project pulls together most of what we had been working on in the first few months of the course and it was pretty satisfying to work on it. So overall I think I’d recommend it, but I would say temper your expectations a bit maybe.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-12-10T14:32:02Zfall 2020

    DISCLAIMER: I had initially earmarked this course as an easy option if I needed a light workload for whatever reason, and I never intended to take up the course (because I had more specific courses to pursue for my limit of 10 courses). When COVID hit, I opted for this course since it did appeal to me for the ML component.

    This was my 7th course in the OMSCS programme, and I thoroughly enjoyed the lecture content - the teaching staff were all very polite and supportive (albeit quite particular about how we should post in Piazza). I didn't like being told to use a master thread for each project, but it is what they wanted, so I just let it be and avoided Piazza (it was too unwieldy to navigate 300+ posts in a single thread for me).

    I asked the TA's if it was okay to set up a separate Slack workspace, and they said it was fine, so I set up a personal one and invited the class - about 80 signed up, and we had about 30 active participants - with at least two teaching staff signing in regularly to check in on us, which I thought was really cool.

    D Joyner was "there" but not too "present" in the course, but it was fine, since Josh and Steven and the rest did a fine job of running stuff.

    The assignments were fun, but the PDF briefs were incredibly convoluted and complicated. I ended up using a highlighter to mark off each line of the document to make sure I didn't miss anything finnicky.

    The course PDF really needs a little refinement (especially on things like why we should use an Ubuntu VM ... so we know what to watch out for if we don't, since it was presented as an option to use an Ubuntu VM, but highly recommended. Maybe let us know why that is, so we can make an informed decision?).

    In summary:

    • great lectures, fun lecturer
    • good assignments, bad assignment PDFs
    • good teaching staff
    • weird exam questions focusing on a movie (e.g. one answer is "so and so character opened up to his wife about his dead brother")
    • good content if you want to learn about ML and financial markets

    Overall, I am glad that I did this course - and it is the perfect workload for COVID times. You learn good content, and don't have to worry about dying of stress in the process.

    DEFINITELY in my top 10 courses in my OMSCS degree!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-12-09T04:34:35Zfall 2020

    I didn't even like this class enough to hate it... but I think that's largely because I just don't care about Wall Street. Not enough Machine Learning for anyone but a novice, and too much Trading for anyone only marginally interested in the subject. In other words, I would really only recommend this class if you want a very gentle introduction to ML/python/numpy/pandas, or if you're super into finance/stock markets. Of the five classes I've taken so far, this is the first one that I wish, in retrospect, I hadn't, which is kind of a depressing realization to come to; just left with a "meh" feeling overall (I very comfortably got an A, fwiw.)

    Things to watch out for:

    • Absentee Professor; hardass head TA who will just mark your question as resolved if he doesn't feel like answering it; poorly-specified, purposefully-obfuscated project descriptions riddled with errata carried over from semesters past (but these are fairly common features across OMSCS.) I'm convinced this last feature is the reason the difficulty ratings for this class are all over the place; the things we're being asked to understand/replicate are pretty straightforward, the question is your ability to see the simplicity through the blizzard of nonsense.

    A lot of condescending, control-freakish things, eg:

    • Project template docs contain patterns in the whitespace which we're not allowed to remove and the reason for which "won't be explained, so don't bother asking us about it".
    • The document explaining the format your reports need to come in is several pages longer than some of the reports you'll write.
    • Some of the projects have rubrics that are dozens of (very detailed) items long, and instead of starting you off at 0 and telling you how many points you'll get for each item, you're started off at 100 and told how many points you'll lose for each missing item, which amounts to the same score, of course, but the latter is much more demoralizing, imo.
    • The midterm and (non-cumulative) final are both 30 multiple choice questions in 35 minutes, so they're more about how quickly you can rule out wrong answers than any deep demonstration of content mastery. Worse yet, you have to submit a special form if you want to know the questions you got wrong on the midterm, but won't receive a response to your submitted form till the eve of the final, and there is no similar option to learn which questions you got wrong on the final! I can't for the life of me imagine what the rationale behind this last one is, but my question regarding such on Piazza was, naturally, marked as resolved without answer.

    On the plus side, some of the coding exercises in some of the projects were kinda fun, I guess. And we were provided with pretty robust testing harnesses.

    Finally, just to counterbalance some of the slander below: in my experience, Steven B. Bryant is by far the kindest, most helpful TA I have yet encountered in this program.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-12-08T19:44:17Zfall 2020

    This course is awesome. In my opinion it's the perfect balance of interesting material, workload, and overall difficulty. It's enough work that you learn a LOT but not too much that you're constantly worried about whether or not you'll pass the course. Also really nice that you can work ahead which helps for people with busy lives.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-12-08T06:29:03Zfall 2020

    This has been my favorite course so far, and I'm 8 courses in. Maybe I'm very biased as I have been deep into the stock market for over a year now and I already had experience making my own indicators and doing some trades with python. I know it's not a deep dive into machine learning, but I used this course as an excuse to really put in the time to learn more about data science, machine learning and stock trading; this is one of the few courses I really wouldn't mind taking again although I'll end up with a good grade. But don't think it will prepare you for the machine learning course; it's a very light introduction. You have to read the entire book(they only ask you to read 4 chapters), and you have to spend serious time outside this course to get a better idea of what machine learning is really about.

    ML4T really is a well run course; but the magic sauce was the TA office hours. Everyday, there were two times a day(everyday at different hours to match everyone's schedule), where you could ask questions about that week's assignment. Only general questions were allowed, but the best part of actually talking and hearing others, compared to just reading text on piazza, is that it has been the only experience in OMSCS, other than working in teams, to actually feeling connected to other people. At times I felt stuck and needed help, other times I joined just to help others as I knew areas that would confuse other students as I had problems earlier.

    Every OMSCS course should have these TA office hours available to students, after taking ML4T I have hope that an online degree can be an enjoyable as well as more productive experience.

    Is it as easy as many reviewers say it is? No, that's just typical CS students trying to show off. It's only that easy if you have years of python experience using vectorized numpy and pandas or have extensive machine learning experience. The stock market info you can pickup while you go; but if you are just starting out with python or do not understand how to vectorize code, you'll drop as you won't get the project working. People saying it's 'super easy, barely and inconvenience' should state what their previous experience was in the first place. This course takes a lot of work, to say it's so easy is a disservice but I get it, people like to brag. It's medium difficulty :)

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-12-05T03:23:57Zfall 2020

    Super easy course. This is my first course in OMSCS.

    80% of students would get "A" eventually.

    TA aren't responsive in Piazza. But course video are well-designed.

    I don't have python experience and knowledge, but it looks like "no problem" with the course learning.

    There are 8 assignments in total. A3, A6, and A8 are time consuming. Overall workload: ~5 hrs / week.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 6 hours / week

  • Georgia Tech Student2020-11-26T16:34:02Zsummer 2020

    I found this course to be easy and informative.

    If you are familiar with ML techniques through AI or related courses, the content of this class is really easy. I was able to finish most assignments in a few hours and the final project took a weekend. The grading is generous and the tests seemed straightforward (although the final had 3 questions out of 30 about The Big Short, so don't just skim the wiki like I did...).

    People like to rip on the TA staff here, but I thought they were fine. For the most part, the website/assignments do a fine job of detailing the requirements. I don't think I've ever seen forums full of such awful questions as I did during this course. Literally hundreds of questions directly answerable via the syllabus or assignment page. I can see why the TA staff was getting frustrated with students. Hell, I was getting frustrated with my fellow students.

    The other great thing about this course is you can front-load all the work. The assignments are all enumerated ahead of time so you can download the entire repo and work many weeks ahead. This is such an awesome feature of a class.

    The lectures for this class aren't very good. The professor has an extraordinarily slow southern drawl - I think i listened to all the lectures on 2x speed. One thing to note is that there are additional videos from the professor where he literally spells out how to do most of the assignments. These videos are linked in the syllabus but are non-obvious otherwise. He'll literally go through and tell you how to set up your pandas dataframes, what operations to do...A lot of hand holding in this class for sure.

    Overall, easiest OMSCS class so far, easy assignments, easy tests, light workload.

    Rating: 3 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-11-18T19:26:23Zsummer 2020

    I found the course relatively easy but have a strong python background.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-11-07T19:34:08Zspring 2020

    This is a very well managed course, TAs are very strong in their knowledge and are helpful. The head TA is a bit snarky, but I can live with that. I took this course in Spring 2020 and Dr. Joyner gave us all an option to request incomplete as we were all dealing with Covid 19 situation.

    The pace of assignments is a bit brutal, you are expected to submit a pretty tough assignment in a week. With all the madness and uncertainty I would have gotten a zero if there was no option for an incomplete.

    Lectures are brilliant, Dr. Balch is really patient and explains each project very well in his OH recorded videos. The first unit actually is all about introduction to Python, numpy and pandas. Financial jargons might be complex for people with no exposure, but the lessons don't rush them through.

    Exams were easy-peasy, we were given a big set of question bank to go through and all the questions (midterm and finals) came from that. There weren't much trick questions, most of the concepts were tested superficially. I also loved watching Big Short, I was pretty awed at how financial crisis of 2008 was explained.

    This is one course where the content creators actually are interested in having the students get the know how of the subject matter. However, I was a bit disappointed when Dr. Balch admitted that the ML techniques we learnt weren't enough to make money on the stock market. It seems that we need to have a truck load of money to play with and develop an ML algorithm that will generate good returns.

    I ended up getting an A in the course, I would say that getting an A or a B is doable, if you are thorough enough.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-11-05T22:11:24Zsummer 2020

    I would say this course was a bit hard to take during the Summer since the schedule would have 1 month and 1 week less than the Spring/Fall semesters. However, I can't say enough of how much I enjoyed taking this class. Context: I am software engineer by profession but I have always been very interested in finance and stocks. My assumption was that retail investors can never make money employing trading techniques. Man, this class proved my wrong every step of the way. Probably this explains why I enjoyed the class thoroughly.

    If you want to learn about the wonderful techniques which can be applied in the real world, make no mistake and take this class. You will be thanking me at the end!

    I was hesitant to write a review before I actually applied the concepts I learned and employed my hard earned money to test them out. Now, I can confidently say that I am on the path to make my first MILLION using the python app I wrote to trade for me.

    Good luck!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-10-25T02:51:51Zfall 2020

    I am still in this class but overall I am not as excited to finish the semester as I thought I would be. The videos are good but the assignments leave a lot to be desired. Workload isn't evenly distributed, either. One project is 5% of your grade and can take as few as 30 minutes over 2 weeks while another is 7% of your grade and can take upwards of 15 hours to do research on indicators, develop an optimal trading strategy and write a ~8 page report. This 7% project is also due one week after another ~15 hour project and the midterm. I would suggest either increasing the amount of time available for this assignment to better reflect the workload. I felt like I had to take shortcuts to complete this on time and would have liked to more research on the indicators section.

    Since it came up earlier, I've personally had no issues with the TAs and the only time I've seen them be anything less than professional is when someone is asking either a question that is already answered (understandably, Piazza is terrible) or if they are asking a very dumb question (someone asked if they could open PyCharm to help answer questions on the midterm).

    I started the class excited to dip my toes into ML concepts and as I went from week to week, I simply got less excited to see the class through. I'll likely finish in low-A/high-B territory and most of that is due to subjective grader feedback on reports where I did not hit specific keywords they were looking for.

    Tests are completely fair and while they are closed-book, the questions are not "gotcha" questions or outlandishly difficult. Some memorization of (easy) equations needed.

    Overall, the class is fine and I personally disagree that it's an "easy" class (easier than many, yes - but I as of this writing this class is only a few "difficulty points" above SDP which is basically programming 101). I'd say it's on the lower end of medium difficulty. There are worse classes to take.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-10-22T01:48:32Zfall 2020

    I am writing this at the ~95% mark for the semester. Only thing remaining is the final test.

    Overall, this is an easier course in the program but can be a grind due to the shear number of projects. Overall I liked it, here was my take:


    • Lectures are simple and clear
    • Introduction to fundamental python data libraries (pandas, numpy, scipy) for those that haven't used them before or want to dust off the cobwebs
    • Piazza is well managed and Instruction team is responsive
    • The course content: Finance basics, Machine Learning Basics, and Technical Trading, are all interesting.
    • The course provides the content needed to succeed on the projects.
    • Underlying concepts the projects teach are very interesting. Final project was the most interesting, I would have preferred to drop 1 or 2 of the earlier assignments that are essentially Pandas 101, and devoted those extra weeks to a more intense ML-project.
    • Responsive instruction team.


    • High Project Over-head: Large number of projects with large readmes hosting a variety of requirements, and requiring reports in a very rigid format, translated to a lot of time being spent doing the mundane work that comes with getting spun up on a project, like copying the code into the right file names and project directories, making charts in the standardized pretty colors desired, etc... I would say at least 50 - 60% of all time I spent on the projects was these extra tasks outside of actually learning the concepts, like trying to figure out how to make pretty charts and get them into the very rigid report format.
    • Professor Involvement: I would personally enjoy an Office Hours or some other professor or Head TA involvement where we dive into certain topics a little further.

    The class size is massive (started at ~800 people). It is possible a lot of complaints towards this class stem from that. The TAs were pretty responsive, and seem to try their best to provide meaningful responses without giving away solutions. There are times where they are very direct, but i can only assume that is to be efficient and probably because they've seen the same question many times.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-10-12T16:42:22Zfall 2019

    Best course I ever had in OMSCS program.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-10-12T04:31:47Zfall 2020

    Isn't this supposed to be a course review board? Whether you agree with a comment or not, can we try to provide valuable feedback about this course instead of just telling others to "get over it". If others are feeling there are things this course can improve on, respect that. People have different opinions, if you don't agree with them, may I suggest you get over it.

    No actually, if you don't agree with those comments, respectfully present your own point of view. If you're selecting "Strongly Liked", tell us why so, what made you Strongly Like this course, just like how those complaining are at least backing their complaints with actual substance.

    Let's try to be more constructive to this community.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-10-11T03:19:29Zfall 2020

    I think the TA's for this class need to be held accountable for their behavior.
    I've just read the 3 most previous posts on this class, but I've also skimmed back over the last year or 1.5 years worth of reviews.

    There is definitely a trend towards the TA's being reviewed negatively -- i.e. just to use a few of the words from previous reviews:

    • "condescending"
    • "unnecessarily rude on Piazza"
    • "snarky"
    • "prickly"
    • "disrespectful"
    • "arrogant"
    • "pretended they were knowledgeable about the course materials and assignments"
    • "give half-answers to questions"
    • "marking things are resolved on Piazza when they aren't"
    • "in general just not answering questions at all"
    • "I think they should review the TAs in this course; as it stands they're no better than robots"
    • "some of the TAs were really unhelpful to the point of antagonism"

    The list of accusations is long enough that GaTech, the OMSCS program and Dr. Joyner should re-evaluate what is going on with the teaching staff for this class.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-10-07T23:56:06Zfall 2020

    I don’t want to call out specific TAs, but the TAs in this class in general are not the most helpful ones. That said, it’s a large class, and I would like to imagine that if there were more TAs to help out, they would have been able to respond in much more constructive ways. To be clear and fair, they’re also not the worst by any means though... probably just your average OMSCS experience.

    I’d rather spend more time reviewing the course itself though - I might have had too high an expectation coming into this. You do learn some stuff, and the projects are quite easy if you have experience with python. The reports are just stupid though... personally whenever there is a report involved in a project, I spend 3 times the time on the report than on the actual coding, and you really don’t learn much if anything from writing those reports. The project descriptions could use some overhaul - I think it’s actually worth putting in that effort on the TA/instructors side to do this. A lot of confusions are caused by the poorly structured project descriptions. Requirements are specified and scattered around in various sections, like its actively trying to confuse you. If they could get these fixed, I imagine there will be a lot fewer questions on Piazza and save a lot of time for the TAs.

    In the end, it’s a fairly easy course, but for me, I don’t think the amount of time I spend trying not to make stupid mistakes / miss or misread a line from the project description is justified. I’d rather spend more time on a course where every minute I spend I’m actually learning something, even if that course requires a whole lot more effort. In that regard, I do really want to recommend how the AI course is run - everything was so clear and automated I didn’t have to bother the TAs even once.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2020-10-03T16:59:37Zfall 2020

    I'm halfway through the semester currently, but I've never been rubbed the wrong way by TA posts in Piazza the way I have been in ML4T. Steven B. Bryant, a TA for this class, is a narcissistic ***hole. His tone of voice in replies on Piazza is belittling to students and his comments are sometimes the opposite of helpful, because not only did he not answer the question presented, but he had a comment that was rude. He probably doesn't see himself like that, which is why I called him narcissistic, but his sense of importance over other students makes me want to vomit. He forgets that he's a student just like us and we're all here to learn.

    EDIT: In response to the post above: "I agree with you, we are here to learn. That being said, this is not a kindergarten so stop being naïve to yourself. In this harsh world, and more so in the world of financial trading, no one cares about your feelings. So treat this as a harsh lesson learnt and Deal with it."

    Response: I do work for the military, so I understand there's no feelings in the world. I'm not having my emotions upset, I'm irritated by the undertone of absolute disrespect. Disrespect has no place in the military. It takes the TA's more words to write out a response that is laced with a disrespectful undertone, than it would to just paste "@XXXX".

    I've seen Piazza more efficiently used in the majority of my other classes. Piazza in this class is disorganized at best and I have a hard time finding the answer because the answer was given once in some obscure location in the thread,.. and then if the question happened to be asked again -- instead of the TA providing "@XXXX" like you'll find in other classes, you get some disrespectful and rude comment saying "It's already been answered... you are wasting our time" -- Thank you for that response, it was much appreciated. I would have rather looked up the answer previously given if it was easily searchable (which it isn't because Piazza is an absolute cluster in this class). TA's have to think from our perspective too -- We want answers quickly and if I could have found it through searching or ctrl+f, I would have -- but instead I posted my question and waited 12 hours for a snarky reply.

    Students work fulltime jobs too. I don't have times to read 100 pages of threads. If a question isn't searchable by multiple different tries on keywords, then I'm going to post the question and I expect a helpful reply from a TA because I'm here to learn and I'm paying for this degree out of my own pocket. I don't expect to be coddled, but I DO expect an answer that is semi-respectful in tone.

    Further EDIT: I just saw that one of the co-instructors was in the U.S. Army himself -- which is shocking because he's the leader of the pack and should have a solid understanding of what it means to be respectful. Shame on him. He didn't go to West Point, so I'm not quite sure where he learned that behavior from.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 11 hours / week

  • Georgia Tech Student2020-08-19T21:26:26Zfall 2019

    I don't like some of the TAs in this course. They were arrogant and pretended they were knowledgeable about the course materials and assignments. But this was indeed an easy course and easy A.

    Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-08-14T21:33:16Zsummer 2020

    A joke, but it's true for ML4T: If only life is as easy as ML4T...

    Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2020-08-13T21:51:15Zsummer 2020

    Too easy for a "ML for Trading" course. Overall didn't learn that much about using ML models for trading. The over simplicity of the course isn't helpful when you get into the trading world. Note: don't finish the course thinking you will be well qualified to trade! You will lose all your money if you rely solely on knowledge from this course!

    Rating: 3 / 5Difficulty: 1 / 5Workload: 2 hours / week

  • Georgia Tech Student2020-08-11T22:46:22Zsummer 2020

    Overall easy, great intro for ML (building your own random forest decision tree, etc). Projects were really easy to get working / passing the auto grader. Mostly a python intro class.

    My biggest gripe with this class was the absence of Bonnie - submitting all project files to Canvas and knowing you got the right ones got quite a few students in trouble. Simple errors (importing the wrong package, etc) could tank your grade. Multiple grading issues during the semester. TA grading accuracy was quite poor relative to other classes I've taken in OMSCS.

    Did not like the lead TA - was super condescending to students and was short with everyone on Piazza.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-08-05T02:36:07Zsummer 2020

    This is the 3rd course I've taken and the easiest so far. I've taken AI and RL before, avg workload for those courses each week was like 15-20 hours per week for me. But this ML4T was like around 3-5 hours per week and I got a final grade over 98%. I also had some previous experience in the financial market so that helps a bit as well.

    Don't like readings that much, but the projects are interesting. One thing I want to point out that I really don't like is that on the final exam quite a few questions asked about tedious details in the movie "The Big Short" which is unrelated to the actual course content. I almost got 100% on every single project/assignment but I lost points in the final exam on a question asking what game Jared Vennett plays when first introducing the CDS to Mark Baum??? I think those movie scene related questions are unappropriated since it doesn't reflect how well you study machine learning and trading related content.

    Overall super easy class, recommend taking ML4T with some other course in the same semester.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2020-08-02T17:48:37Zfall 2019

    Good intro to some machine learning terminology and concepts.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 11 hours / week

  • Georgia Tech Student2020-08-01T12:55:31Zsummer 2020

    This was my 3rd course in OMSCS after AI4R and ML and I really enjoyed it. This was an easy course compared to ML and on par with AI4R. Overall this is a well run course and the teaching staff (especially the head TA) put a lot of effort to answer questions on piazza and release assignment grades on time.

    Tips to succeed:

    • Learn python basics if you are not already familiar with it.
    • Learn a little bit about stocks, technical indicators etc (the very basics, this is optional).
    • Start the last couple of projects early. Those were significantly more time consuming than the first 4 or 5 projects.
    • Do read the assignment grading rubrics carefully. You can miss a point and end up losing a considerable amount of points due to the way rubric is designed.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-07-30T00:25:40Zsummer 2020

    It's very easy. Most projects seem around the freshman/sophomore level.

    If you know much about the stock market, you might already know enough to pass the exams or enough to learn quickly. If you have used Python/Pandas/Numpy, you will probably find the assignments trivially easy at times. There is hardly any machine learning.

    This is the easiest class I have take so far (of AI4R, AI, GIOS, CV, AIOS).

    I wouldn't recommend this class as a prep for another, because you might get the wrong impression about how difficult other classes might be.

    If you want an easy class, this could be it. If you want a challenge, this is not it unless you are going way above and beyond outside the course material. The stock market is definitely a thing that can be a challenge!

    Rating: 4 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-07-29T09:03:25Zsummer 2020

    Good lightweight course.

    Pros: {1} Could be paired. {2} Ideal descriptions and rubrics for projects. {3} Clear expectations. {4} Predictable workload. {5} "Weekend"-type course. {6} Extra credit open-ended research-like opportunity. {7} Video-lectures are enough for everything.

    Cons: {1} Low material density. {2} Hand-holding fill-the-gap projects. {3} No real trading insights acquired. {4} Readings are non-academic. {5} Exams are too easy.

    Tips: Recommended before ML and AI.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-07-27T21:46:38Zsummer 2020

    It's a good, fun course with a few rough edges.

    If you come in already knowing how to use numpy and pandas + know a thing or two about stock trading already it will serve you well on the assignments.

    My main problems are the ambiguity of the assignment instructions and the built-upon nature of some of the assignments punishes you for making certain decisions early on in the course. Also certain TAs are unnecessarily rude on Piazza, but I mean who can blame them when the instructions are bad enough to make hordes of students feel the need to go to Piazza looking for answers.

    The written portions of the assignments are time-consuming (generating charts especially) and hard to get perfectly right. I think shifting more of the effort to scoring the assignments quantitatively via a better autograder (and being transparent about it) would help the TAs not have to grade huge walls of charts every week.

    Start the assignments early, especially project 3, 6, and 8 as they can take a lot of time. Read ahead so that you don't get trapped by your decisions in project 6.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-07-27T01:52:52Zsummer 2020

    This was my 3rd course in the program. I did not realize summer courses would be condensed. I spent about 15 hrs/week for the 11 weeks, which means I would be close to the average reviewer on here spending 10 hrs/week for 16 week spring and fall semesters.

    Lectures - better content than other classes I have taken. Lectures took a surprising amount of time, because there are both canvas videos and also videos of Professor Balch in classroom, which I always fast-forwarded because he was slow at talking. Each week was 2-3 hours of lecture videos before the assignments.

    Exams - Exam 1 they provide questions for you, although they include things that aren't on the exam, and grill you on annoying python syntax. Exam 2 they don't provide much.

    Projects - were EXTREMELY inconsistent. We had weekly assignments in the summer class, and it totally caught me off guard about how difficult week 3 was (Decision trees) as compared with projects 1 & 2. For context...our assignments were due every Sunday. On some assignments, I could complete it post work between Monday - Thursday, with lectures. For half the weeks, I didn't finish until Sunday night.

    Hw 1 - 6.5 hours, Easy

    Hw 2 - 8.5 hours, Easy-Medium

    Hw 3 - 26 hours. Hard. Decision Trees, Random Forests, Bag Learners, Insane Learners. This one was just hard because it shocked me with the level of work in a week.

    Hw 4 - 3 hours, Easy

    Hw 5 - 6.25 hours, Easy

    Hw 6 - 22.25 hours , Medium. Technical Indicators analysis. This required the most finance research, and this locks you in for your Hw8 final strategy. I lost time on this by misunderstanding the lecture video, which did not like up for Hw6, and basically starting the hw8 trading strategy

    Hw 7 - 20 hours, Hard. Q Learning, Dynamic Q learning. Reinforcement learning was a lot to wrap my mind around.

    Hw 8 - 24 hours , Medium. Build a strategy with either Decision tree or Q Learner, combine with technical indicators

    Some of these assignments required a report, which took a shocking amount of time to get right. I felt about an average student in the class. I got full 100% marks on my code and would still get only an 85-90 on my report because they nitpick.

    Homework guidelines - are extremely hard to navigate. They give you so much information, and you have to look all over the project website, plus 1-5 piazza pages with hundreds of messages.

    TA's - Can be pretty condescending, so can other students in the class.

    Overall, a pretty good class, that was often fine, but had a really inconsistent level of work. I tried to work ahead, but TAs would only start to answer questions in the week of the assignment.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-07-24T16:51:08Zsummer 2020

    Lecture content was some of the highest quality I have had so far, all explanations were very clear.

    Test were easy, especially given that they gave you questions from previous exams that were more challenging that the actual test.

    Biggest issue was vague project requirements when rubric was very strict. Frequent poor wording resulted in a lot of confusion for students as to what they were supposed to do which created alot of noise on piazza.

    In some of the later projects they build off of each-other, but some technical specification change for seemingly only fit the existing auto-grader.

    Also gradescope would have been an excellent auto-grader, and would have removed alot of headaches for students over using buffet to upload code and do limited testing their.

    Rating: 3 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-07-24T04:44:06Zsummer 2020

    A great into to ML class, however, the grading is weird. They tell you some stuff, but don't go into details on how they'll grade others. You could pass the grading script, but then get a -40% for something small that could've easily been handled with a true autograder like gradescope.

    Lectures were meh. Skipped through half of them which was essentially python 101. The later finance stuff was interesting. I wish they had more finance oriented projects like incorporating options.

    Overall, I liked the class. The projects taught me a lot and the exams were fair despite the elementary lectures.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2020-06-28T16:32:39Zspring 2020

    This is one of the best courses in OMSCS. Prerequisites are skills in using pandas and numpy in Python. You will learn Decision tree, random forest, bag learner, Q learner and so on. You will apply them on analysis stock market data. You will also learn some financial knowledge from this course. There are mid-term and Final exams. Sample exams and questions are provided. If you learn these material pretty well, A is guaranteed. Instructor of this course is highly responsible. He cares about students feeling and suggestions, tries to improve learning experience. The grading speed is the fastest I've ever seen among all OMSCS courses I've taken so far. The instructor leads a team of highly efficient TAs. Very interesting project leads to real life application - some students even tried to applied it on year 2020 stock market. The extra credit project provided too little points but requires lots of time.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-05-06T01:05:43Zspring 2020

    Solid course that doesn't overwhelm you with content but you still get a good understanding of basic finance (stocks), the pydata stack (pandas, numpy, scipy), and some ML techniques (tress, RL).

    The course mainly demands attention when a project is due. Carefully look at the piazza FAQ posts and the grading templates of the projects.

    For exams, study the practice Qs for each exam and you should be fine.

    This course can be paired with another or taken during summer.

    Tip: If you are on windows- try and install WSL, pycharm, and anaconda so you have less environment issues and can run pytest. Their pytest setup doesn't seem to work on windows. I didn't do it and it's not too much trouble to work around it but it would have saved me some time. You still should test on their servers at the end before submitting any work.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-05-05T22:33:59Zspring 2020

    For a course where the original professor (Dr. Balch) is unavailable and has been taken over by another professor (Dr. Joyner), ML4T does a great job of running itself with the pre-recorded lectures and mostly pre-defined projects. I came to this course having already taken AI and ML and didn't care much about stock trading, but was interested in further developing my data science skills. As soon as I started, however, I realized that this material is very engaging and relevant to someone with even a passing interest in finances and ML. Actually, I should have taken this course before AI and ML because the lectures start you off with the basics in handling data in Python with numpy and pandas, which are heavily used in the other courses.

    The projects are very enjoyable and could be useful in the long-term were you to apply what you learned to finding a job at a hedge fund or in FinTech. I actually used these skills to write a simple program to help allocate funds in my retirement portfolio. I really liked how the lectures broke concepts down into simple and easily digestible pieces, and though they sometimes lacked depth you could always continue by taking the courses mentioned above or diving in where your interests lie. The most demanding part of the course is the schedule - 8 projects due every two weeks (in a Fall/Spring semester), which all build on each other. While you can work ahead to some extent, I never did so myself, and keep in mind that details can change up until two weeks before each project start date. There is also a midterm and a final, which are multiple choice and can be somewhat tricky. It's totally doable to take this with another course of similar difficulty while working full-time, but I wouldn't necessarily recommend it if you anticipate another global pandemic or family issues.

    It could be helpful to read More Money Than God before or during the semester to get a background biography on hedge funds and notable investors, but you don't need to. The TAs can come off as a little rude at times, just make sure you've read the project directions thoroughly and watched the material before asking questions. Overall I enjoyed the course.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-05-04T15:21:51Zspring 2020

    I will keep this review short and sweet.

    This is a great class. TAs are great. Grades are fast. Piazza FAQs are life. This class is extremely well run and the lecture videos for this class are actually useful unlike most other classes.

    Downside: The writeups. They RAIL you. Well, not really. This is admittedly my fault. The instructions are clear. I HIGHLY SUGGEST you review the "Deductions" section of every write up. It contains a lot of information that you need to include that is not specified in the main instructions.

    Overall, I enjoyed the class. I hate python but learned some cool stuff from it.

    Also, the movie "The Big Short" that you have to watch (because there is questions about it on the final) is awesome.

    Josh the Head TA: Total badass. You ask him a question, he'll tell you to read the directions (which you should). I love it.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-04-29T14:59:14Zspring 2020

    I don't have much to add that others haven't said already. This is an amazingly well run class. The topic is quite interesting as it applies to something in the real world. The lectures are fantastic and engaging. The book readings are aligned well with lectures.

    Projects are all awesome and a lot of fun to do. They have autograder for most of it, so you know what you'll be getting before you turn in the assignment. You can see previous semester projects on the web page before class starts, and the ones for current semester are mostly the same. You can really get ahead of assignments in this class if you want or need that flexibility.

    Exams are straight forward if you've listened to lectures and reading the book just reinforces the concepts.

    I would recommend this as a must take for any major if you have any interest in ML or trading.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 7 hours / week

  • Georgia Tech Student2020-04-27T00:01:46Zspring 2020

    I highly recommend pairing this class with another easy-ish class. (Or if you want to have a more relaxed semester, you can totally take this alone.)

    This is a very high level introduction to Machine Learning concepts and trading stocks. For a ML noob like me, this was a great place to start. However, if you're already familiar with ML concepts, I don't know how helpful of a class this will be for you since it really just goes over basic learners, NumPy, Pandas, and Python.

    The projects are all overall conceptually pretty easy to grasp. Professor Balch has an hour long tutorial that goes over how to implement the project, so just watch that and follow along and you can probably get the coding portions done for projects in <10 hours. Some of the projects are also paired with reports, and I found that those took significantly longer because you really have to give thoughtful responses.

    Overall, a very fun, light course. The lectures are pretty straightforward.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 6 hours / week

  • Georgia Tech Student2020-04-22T18:01:33Zspring 2020

    ML4T was my 4th class in the program, after taking KBAI, IIS, and HCI, and surprisingly I found it to rank among the best. I don't have a particular interest in trading, but I heard that ML4T is a good warm-up for ML, so I decided to give it a shot.

    My favorite thing about the course is how un-stressful it is compared to other courses. You have the projects pretty far in advance, and the due dates are very generous. One project took about 2 hours to complete, and it was allotted two weeks in the schedule. The lecture videos are given by Dr. Balch, not Dr. Joyner as I expected, but for the most part they are straightforward, comprehensible, and concise. It is very easy to keep up-to-date with lectures. There are no quiz grades, participation peer feedback, homework grades, or other things that demand your attention; just focus on completing the projects and taking the 2 exams when they occur, and it's smooth sailing.

    The projects themselves are nothing too stressful, either. The most difficult thing to me was getting my setup such that I could use the Buffet servers for testing, which was a bit of a headache that took a few days. But once that was done, the projects were pretty focused python exercises that illustrated concepts from the lectures. A few of them required reports, a few were just autograded, but none took an exorbitant amount of time. The last two projects are very cool, as you make a QLearner and use it to simulate trading in the market. You should be aware, however, that the 8 projects make up almost all of your final grade, so there's little room for error. Luckily, I found the grading to be very generous. Exams are closed-notes and only 30 questions, but they're broad conceptual questions that I think reasonably assess your learning; they're not the extremely picky questions that deal with semantics from KBAI.

    Overall, this was a great course that allows you to learn some cool stuff about ML and trading without pulling your hair out or dealing with tight deadlines. Probably suitable for a first course or a summer course. Also TAs were especially good this semester, which helped.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-04-04T18:11:24Zspring 2020


    • Many of the projects are available ahead of time, so you can work ahead.
    • TA's do a decent job of responding to questions on Piazza and Slack while not giving the solution to you.
    • Professor recorded class lectures and help sessions for projects, often walking through many steps.
    • You build skills with numpy and pandas.
    • Lots of test review materials are shared, and tests (at least test 1) was fair and not excessively difficult.
    • Most projects come with test scripts and grading scripts to check your work.
    • If you have been considering taking more than one class in a semester, but working full time and have hesitations, this may be the class to pair with.


    • Not as challenging as it could be.
    • A few projects require reports. Some of the requirements in reports is quite tedious and time consuming.
    • I was not clear on what I could / should do to answer questions on the first project. It's not weighted heavily, but in hindsight I could have worked a lot less and gotten a much better grade.

    Overall, I liked the class. It was easy, mainly because you can work ahead and the videos help you with many of the projects. However, there is lots of space to learn and grow. If you put in the hours of researching, studying, and improving your code, you can do some things you're proud of. If you want to skate by and do the minimum at the last minute (sadly some people like this like to brag as if that were an honor, which it isn't), you can still do well enough and get your easy preferred grade. If you're new to python (like the folks not in OMS), it is surely not an easy class.

    A couple of the take away's are learning about and how to make a Decision Tree and Random "Forest" classifier. You also learn about Q learners. The last few projects all tie together into the final project. This is a lot of work, but it's pretty nice (if) when it comes together.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-03-31T05:41:03Zspring 2020

    Short answer: it is a wonderful course filled with many beautiful parts. I would strongly recommend anyone who wants to have a good personal financial life to take this course, but your mileage may vary.

    From Reddit and all, people have had many misunderstandings about this course. They think this course is:

    1. Easier version of Machine Learning
    2. Advanced ML application on Trading

    This course tries to do a lot, and hence the above misunderstandings. In result, the course attracts:

    1. people who wants simple course
    2. people who wants to learn machine learning, but don't want to put work towards the Machine Learning course
    3. people who knows machine learning already and wants to do trading

    Which are not the ideal students of the designed course.

    The course is split into 3 parts, called mini-course: MC1) Gentle Introduction to Pandas MC2) Gentle Introduction to Finance MC3) Gentle Introduction to applying ML to Trading

    In 2020, this makes ML4T feels like a wannabe course that tries to do everything but did nothing good. People criticize it is too easy, people criticize it has too many finance, and learned nothing to start earning money by applying ML to trading.

    To understand the reasoning behind the structure, we will have to first go back to 2013, when the OMSCS started. In those days, a lot of courses are split into 3 parts, which is what you are seeing at, the mini-courses structure. Machine learning isn't mainstream yet, and Python is loved by many, but still skeptically avoided by professors worldwide. Let alone Numpy and Pandas.

    MC1 was a revolution, that tried to push Python and its powerful data science libraries, Pandas and Numpy to mainstream, as opposed to Matlab and R or other languages. ML4T tried to justify that Python is the tool for trading and AI, it worked. It also introduced the essential graph plotting techniques and etc required to finish the later projects.

    But of course in 2020, instead of people never touching Python, nowadays a lot of students knew Python already, and hence making MC1 felt like a worthless addition to the course. Personally, I feel the same way, and thought MC1 is quite outdated, and there is a need to revamp MC1. But again, would you like a course that ask you to plot graphs and never telling you how, or at least spend 2 weeks hand holding you the basics?

    For MC2, since we are OMSCS students, a lot of us would prefer to do computer science instead of finance, and those that don't like finance will never like it. If you don't like finance, ask why did you chose this course in the beginning? So my advice is to disregards those reviews that say finance part is too heavy, the problem lies within the students themselves.

    In MC2, you will go through the concepts of a book written by Prof. Balch. It is a short book that covers the essentials of trading in general, mixed in with interesting hedge fund stories. It has been a great reading experience.

    But of course, the finance part are mostly optional, because you can probably finish the project without knowing any finance, but again, why do you choose this course from the beginning? If you do not at all read the book and the papers and just cheat your way out of the projects, why are you in OMSCS? They say what you get out of OMSCS is what you gave into it, it's very true in the case of ML4T.

    It is said that money is never enough for professionals, so we see news like couples bringing half a million a year and still feeling that it is not enough. This occurs because of the lack of personal finance knowledge, which most of us never learned. MC2 won't cover personal finance, but learning how to stock market works, has filled a big hole in my personal finance learning journey.

    MC3 teaches you Ensembles and Q-Learning. I mean, come on, AlphaGo was 2016 and before that Reinforcement Learning was widely looked down upon. Ensembles was the way to go to win Kaggle competitions. And this course brought all of them, all in 2013. ML4T is amazing.

    In 2020, the course feels like a good gap and introduction to OMSCS, with a little Python, and a little finance, and a little Machine Learning. You can treat it however you want, but for me it has been an amazing ride through the course.

    For Professor Balch and Joyner, I think there is a need to revamp the course, particularly the lectures, to update it to 2020.

    1. Python is now mainstream, so ML4T should include the latest stable Pandas and Numpy APIs, particularly the tricks that data scientists use everyday. It is possible to completely remove MC1 from this course and expand MC2 and MC3, which probably would make this a course that is generally taken before ML to become a ML application course that could be generally taken after ML. I personally think that the no-MC1 structure would be better for 2020 and so on.
    2. MC2 covers the book 75%, it would be better if the book is covered back-to-back, and updated with new insights Professor Balch learned while building the AI team at JPMorgan.
    3. Ensembles and Q-Learning are now well understood. There have been quite a lot of advancements since then, so it would be cool to include new types of Ensembles, as well as new improvements to Q-Learning like modern experience replay, and if possible, Deep Q-Learning.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2020-02-12T16:47:23Zfall 2019

    Fun course, and a gentle introduction to python and machine learning. I wouldn't actually recommend this course to anyone unless you are specifically looking for something easy.

    The decision tree/random forest and Q-learner were cool, but the actual application to trading was a little simple. I think this course would benefit from speeding up the material and making the projects a little more challenging. I did learn a decent amount about trading, so that was cool.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-02-12T09:52:13Zspring 2017

    This course was the reason I dropped out of the OMSCS program. So incredibly disorganized. The instructor hadn't changed the homework assignments from the prior term, and would assign them and then change them days before the due date. While they weren't particularly difficult, everyone was running their code on the autograder on the weekend it was due, severely bogging down the server so you'd often wait 1-2 hours before getting results. While the instructor said that the assignments would only have small changes, when you work full time you have to dedicate time to do the assignments and going back to edit them means finding more time. Eventually I gave up in disgust and quite trying, and never bothered to enroll in any more courses. You really do get what you pay for, and the low price is strongly correlated to the quality of education.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-02-12T04:45:29Zspring 2020

    To be honest, even the first year python class I took during undergrad is more difficult than this course. I think this course should be renamed to something like "python in finance 101".

    This course is ridiculously easy, a high school student can learn the material in matter of days. I spent minimum effort and got an A with no trouble.

    I found the course material extremely boring (too easy). I came into the course wanting to learn advanced algorithms for trading and perhaps topics on financial math and engineering, nope, ended up learned nothing. As a graduate course in ML for trading, this course is a huge disappointment.

    Rating: 1 / 5Difficulty: 1 / 5Workload: 3 hours / week

  • Georgia Tech Student2020-01-12T05:00:14Zsummer 2019

    Dr. Balch apparently took on a job at JP Morgan. They must pay him a lot more I guess... I wish I had taken this class when he was still around. Dr. Joyner is the "instructor" now. But the only thing Dr. Joyner does for this class is posting a weekly announcement on Piazza. Other than this, you absolutely never hear from him. The TAs are the ones who actually ran the class. They did a great job. They answer questions very quickly and provided valuable information. This class piqued my interest in algorithm trading. This is definitely a class that's worth taking. Overall this is a very easy class. I'd recommend taking it in the summer or take it with another class in fall/spring. The projects are mostly very interesting and straight forward. Do make sure you read the instruction very carefully. I hated the exams. Not because they are hard, but I just feel they are a waste of time.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-01-07T18:38:50Zfall 2019

    The initial material for the course and the premise sounded extremely interesting but ultimately, this seemed more like an undergraduate introduction course rather than anything with too much depth. The assignments are a bit picky on formatting that one might expect for a graduate course but perhaps that is the only way possible to grade so many reports. Overall, the assignments are very straight forward. Walked in with only a cursory knowledge of finance, pandas, and machine learning and felt like I completed all the assignments without gaining much more.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2020-01-02T12:33:01Zfall 2019

    This course is not recommended for the people who are new to OMSCS or programming. Some coding skills are required to perform well in the course. Need to be consistent throughout to score an A, not punishing exactly but more than one mistake and settle only to B. One day from every weekend is enough (except for 1 project) for completing the course fairly apart from lecture reading.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-12-30T09:58:19Zfall 2017

    This was my fifth course in the program, and it was one of my favorites. I really enjoyed how direct and to the point the lectures were without overcomplicating the material. I also liked the fact that the professor provided supplementary videos that guided the students on how to tackle projects. A big portion of this course is getting familiar with numpy and pandas. Another big portion of the course is getting insight on hedge funds, and other types of funds, and how they try to use mathematical equations and fundamental and technical analysis to find ways to beat the market. A final portion of the class is learning about basic ML algorithms such as Q-learners and Random forests, and gaining insight on how they can be used to make trading decisions. For many of the projects you have to write reports that are worth a significant portion of the project grade, and you can even get 1 or 2 extra credit points on a report if you put in the time to thoroughly analyze your results. I enjoyed how the online students were lumped together with the on campus students. My biggest complaint is there are a lot of details in the instructions that are easy to miss but can impact your grade on a project quite a bit, so always read the directions carefully. For example, you could lose 10-20 points for forgetting to put your name. Staying active on slack is very helpful, because people will often point out important points in the directions that you might miss.

    Unfortunately, you will most likely not learn enough from this class alone to apply machine learning strategies in real life situations, but the class will give you a strong foundation if you are interested in exploring that field.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-12-30T09:58:19Zfall 2017

    I liked the course overall but definitely think it has more potential than what's actually being done. I rated it medium because really most of the projects took me around 6 hours to complete. Which I really don't think is bad. There were really only two projects that took around 8-10 hours to complete so in the end I rated it medium because most of the projects were. On average with assignments and lectures (plus the occasional reading), I would say it took me around 12 hours a week. That's on the high side again given that homework is due usually every other week. That being said here's the review. The course is really split into two sections. The front half is a lot of stock and market information with hands on Python assignments to supplement the learning. The latter half of the course is more machine learning in conjunction with Python and stock and finances. You don't need to be an experience python user to take this course. Though I did have experience using the Python libraries and Python is a language I program in every day so it will certainly help. Also, you don't have to be a stock expert. The lectures are straightforward an well laid out in nice manageable chunks. In fact most were 1 hour lectures I could easily do during my lunch if I wanted. The profession is very knowledgeable, funny, and a good presenter; you'll enjoy watching the lectures. This class really glances over a few machine learning algorithms and you'll program a few but I wouldn't say it's a full deep dive into Machine Learning. In fact it's really about using algorithms to trade stocks and manage portfolios. This of course makes it solid intro class. There were of course some drawbacks. Communications throughout the semester was terrible. Reddit was used instead of Piazza for this semester which I think threw a lot of non-reddit users through a loop. I happen to use it often but it made the threads really noisy and messy with people asking numerous redundant questions and not putting comments in the right threads. Additionally, communication from the professor was far and few between. Assignment "updates" or comments about questions in the reddit threads (which could easily grow in the few thousands) were fair game for requirements on assignments (even if not listed on the rubric). Assignments were hardly finalized until a 3-5 days before their due date and portals to submit were often times opened days before they were actually due. My TA was impossible to get ahold of throughout the semester. The assignments tended to have subtle but time consuming changes that needed to happen each week (one week give the output in this dataframe and the next is needs to be a series or another datatype). This wouldn't be bad overall if two things happened. 1. There was a blip or sample of what the output should look like. 2. Each week you weren't forced to retool your other classes and functions to accommodate the returns to be some new data type for the input of a new function. Overall, the factors above speak for themselves. I found the course engaging and entertaining enough to give it a Liked, I didn't spend forever on it each week, and it was fairly average difficulty wise.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-12-30T09:58:19Zfall 2017

    As others have said, the course seems to have been revamped some to make it more difficult now than it was in the past. It's not horrible but don't go in thinking it's one of the easiest courses in the program, it's not. There's a lot of good in the course but it currently suffers from poor execution and a lack of communication making the course way more stressful than it needs to be.

    The lecture material is good, the assignments themselves are relevant and have the right level of challenge. Unfortunately most of the assignments were not released when they were expected to be. Assignments would be released in "beta" form a few days or even a week after we were expected to start them. and then sometimes not "finalized" until a few days before the assignment was due. This is troublesome because some of these assignments do need the full allotted time to work on them, and if you waited until an assignment was "finalized" you would pretty much guarantee that you don't have enough time to finish the assignment. This wouldn't be as bad if it were minor tweaks being made, but the "beta" version was typically just the previous semesters assignment and there was no clear communication on what changed with each iteration of the assignment so you are left analyzing every line of the assignment over and over to make sure you don't miss some gotcha that could cause you to lose substantial points.

    This is my 9th OMSCS course and this course in its current form isn't very friendly to OMSCS students who typically have full-time jobs and other responsibilities outside of school. In addition to the above issues, assignments also were not open for submission until a day or two before the due date in many cases. So even if you had worked ahead, you still would need to plan around having an internet connection and submitting your assignment the day it was due. There were also random participation checks on the forums, punishing students who didn't check every day. In general it is structured in a way that prevented students planning around their life, and instead they must plan their life around the course. Most OMSCS courses I've taken have been more flexible in this regard. Students who suggested changes to the course to improve it were met with snarky comments from the professor on the forums.

    In general I can't recommend the course in its current form unless your willing to deal with the above headaches. There plenty of much better run OMSCS courses.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-20T20:18:10Zspring 2019

    I took this with Networking, and it was a good pairing of two pretty simple courses. This is a great introduction to ML and finance. the projects were fun, but do take care of your env. I was using a different version of python, and that caused a bug that ended up in me getting 0 for a project. Still came out with a B, but 1% off of A. that stung.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 13 hours / week

  • Georgia Tech Student2019-12-19T19:41:11Zfall 2019

    There are already many reviews of this course so I'm not going to make it long.

    First of all, I think this class would be better called "Trading with a little bit of Machine Learning" (or similar), so if you don't like finances, you are going to feel miserable for more than 1/3 of the subject, and quite demotivated along the entire course.

    Regarding logistics:

    • The class is crowded and mixing on-campus and online students in Piazza, although it could seem a good idea, doesn't provide any advantage, it just adds noise to an already noisy class.
    • Regarding the TA, some of them were quite rude and cocky, these and the noisy environment didn't invite to participation.
    • There were instructor-endorsed answers everywhere (even to questions!). There were also TAs without the "Piazza Instructor" badge, so it was confusing to see who was what.

    On the bright side, it an easy A and the workload except for Project 3 is pretty manageable (start early on that one!). It also ignited me some kind of interest in Machine Learning.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-12-18T20:16:01Zfall 2019

    I have mixed feelings for this class. I've heard people saying this class is very easy, and looking at the reviews most OMSCS students rated it as easy or very easy. But like the other OMSA students who wrote reviews here, I did not feel it was easy at all. I would have rated it as hard if there were not so much information online that we could reference to.

    The first obstacle was to log in Buffet and run the scripts from there. I had no knowledge in SSH and I guess the teachers thought everyone had CS background and did not provide any step by step instructions. Luckily a student drafted an instruction and posted on Piazza which saved me from struggling.

    The second obstacle for me was writing the code from scratch in an IDE. I've taken CSE 6040 earlier this year and I did very well in it and got familiar with python and Jupyter Notebook. That class was designed to help us learn python step by step. Even though, I still found it hard to code from scratch. And the assignment descriptions are long and confusing.

    However, the exams are easy, thanks to the question pools. I did pretty well in the exams even though I didn't really understand some of the concepts.

    I do agree that with this class you can get an easier A than some other classes. But for OMSA students who are not so experienced with python, I think this is not an easy class if you want to learn a lot and you need to keep that in mind when deciding which classes to pair with.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-12-14T18:54:42Zfall 2019

    Background: my first course that required coding in the program (previous course HCI) - and non-CS undergrad - so limited ability to compare directly with other courses in terms of difficulty. I had plenty of familiarity with pandas and some numpy before the course, and this course definitely rounded out my knowledge of and experience with numpy. This course was administered by Prof. Joyner as Prof. Balch was on leave during this iteration of the course.

    Expectations and requirements are clearly defined at the start. I really enjoyed the subject matter, and had some domain knowledge about finance coming in. The projects are the majority of the grade and are very appropriate to motivate the subject matter and allow for a well-rounded understanding of the material. Projects had a great balance of starter template code provided and required solution formats vs room for creativity.

    For me, the mean time spent on this course per week is not very representative of the range of time per week - around projects 3, 6, and 8 I spent significant time - sometimes 20-30 hrs/wk, and in some weeks only 3-8 hrs/wk.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 16 hours / week

  • Georgia Tech Student2019-12-12T13:57:29Zfall 2019

    My background coming in: knew Pandas already for my job, didn't know anything at all about finance or machine learning

    Alright on to the actual review...

    Projects: Course had 8 projects, very widely ranging in difficulty. One literally took 1 hour, and one took me 25 hours and caused severe eye strain lol (hello assess_learners-- start that one early!). The last project (strategy_learner) wasn't as bad at all, maybe I was expecting a repeat of what was me trying to figure out assess_learners (was pretty terrible at getting the concepts for that one). Also I may or may not have skipped the dyna part on qlearning_robot just because spending 5 hours for 5% of that grade vs. the 1 hour I'd already spent for 95% of the grade wasn't worth it, I'm a really lazy student sadly). Not sure I'd recommend this as a summer course as that'd be one project a week and doing assess_learners in a week would've been terrible.

    Exams: Midterm is legit a repeat of the practice exam, and final was tougher but I still didn't study much and got a pretty good grade (and I'm terrible at test taking, trust me). Taking notes on the lectures helped me digest the content.

    Lectures: Make sure you watch the lectures (especially the recorded Youtube ones where Professor Balch is speaking to a classroom) as they walk you through the assignments.

    Extra Credit: If you're feeling adventurous and for some reason have 20+ hours of freetime despite being in grad school part-time and likely working a full-time job (lol) go for it. Personally for me and a lot of others it wasn't worth the hassle for the limited amount of credit.

    Overall the course was fair, but you need to be absolutely detail-oriented when submitting projects (some of them are literally worth a letter grade and a half!!). Run the code on buffet, double check your file submissions, and put effort into the corresponding report (if applicable) and you'll be fine.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-12-12T04:29:23Zfall 2019

    This was the easiest class so far in the program for me (I had taken 7637-KBAI and 7638-Robotics) before.

    • Total Projects - 8(2 or 3 had reports to be done) and no group projects with another extra credit project
    • Exams - Midterm and Final

    The class had 3 high level parts to it.

    1. Numpy/Pandas

    2. Trading Basics

    3. Machine Learning fundamentals focused on trade analysis

    The projects tried to cover all the three of them.

    Overall if one is familiar with Python/Numpy stuff, they wouldn't have to worry too much about getting through this course. However, the lectures lacked depth and sometimes felt like an undergrad course.

    Rating: 3 / 5Difficulty: 1 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-12-10T16:01:44Zfall 2019

    This is absolutely the best class I have taken in OMSCS. To prepare for the class, practice numpy slicing and vectorization (including somewhat advanced ones like unstack, groupby etc). Professor Balch's lectures are excellent. The reason why some people may give this class an "easy" rating is because projects have a lot of helpful resources and follow the lectures closely which allows folks to pick it up quickly without a lot of research (unlike many other classes here).

    Rating: 5 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2019-12-06T22:53:32Zfall 2019

    A lot of the other reviews paint the picture that this class is a complete cinch. It might be for people in OMSCS, but for those of us in Analytics it might not be quite as easy...keeping in mind many of us don't have the computing background to pursue a master's in comp sci! I felt it was reasonably difficult, but not impossible.

    There are eight homeworks, which comprise about 3/4 of your grade. Many of the homeworks build on each other, like you're to reference old projects and reuse old code. They're exclusively in Python - if you did well in CSE 6040 (for my fellow OMSA students) you'll probably be good enough in Python to do well in this course. If you didn't, I'd advise against taking it. The homeworks all require you to pass grading scripts that they openly share with you - to run the grading scripts you need to connect into a remote server and write some code using Unix. You don't technically have to do this - your assignments are turned in through Canvas - but neglecting to do so would be a terrible idea, as you won't know if your code passed or not. So I'd advise going in, knowing a decent chunk of Unix code on top of Python. A few of us struggled to get off the ground with Unix, at first. Each homework has Python code to turn in, some of the more involved assignments also have reports of your findings as well. The homeworks are extremely inconsistent with how much work they are, and they're weighted differently for that reason. Anywhere from 3-15% of your total grade.

    The exams are multiple choice and center mainly around the lectures, which go about teaching us financial terms and what different types of ML models are. The exams are also only 25% of the grade, total. If you've already taken ISYE 6501 all of the models should be review, though the ins and outs of programming said models in Python, as well as the finance behind it, will likely be new for you.

    All in all I'd say it was one of the better classes I've taken.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 14 hours / week

  • Georgia Tech Student2019-12-06T14:24:15Zfall 2019

    This class was not too hard but there were a lot of ways you could meet your own downfall, as mentioned in the course slack (not submitting a file, leaving in, etc). So mostly, be sure to read the 'what to turn in' section and the rubric heavily. You might also need to read some of the project descriptions multiple times because they don't really make sense and you just have to get through them. Also, be sure to test your autograders with different seeds (when applicable) because you might be surprised to see your code scores if you don't.

    All that aside, my biggest qualm with this course is the general laziness in how it's run. Dr. Joyner is great (10/10 would recommend other courses with him) but this class isn't really his priority so it's mostly left to the TAs/self-maintained. The TAs can be really snarky, give half-answers to questions, marking things are resolved on Piazza when they aren't, or in general just not answering questions at all. The most frustrating way this materialized was that for the exams, they gave you these 'Study Guides' and most of them are outdated (i.e. do not align with the syllabus) so they included information that we either never learned or that were on the other exam. It seems like they just do a copy paste from semester to semester of the course page and call it good, which is highly disappointing. They did provide question banks but they are truly the worst resource that I have ever had in a course. The questions were submitted by previous students and are full of typos, questions without answers, duplicates, and questions that aren't even fully there and cut off halfway or one of them even finishes off in Chinese. I find all of this extremely lazy on the part of the teaching staff. Yes, they are not required to give us a question bank but if they're going to, why not make it somewhat useful...There is a quizlet for the final that is helpful (and narrows down the 700+ questions to 241).

    Overall, this class isn't hard and not too time consuming but I think it could be heavily improved. Personally, I'm disappointed that I spent one of my ten courses on ML4T, especially when compared to the four other awesome courses I have taken.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-12-05T01:56:27Zfall 2019

    This is probably the best course that I have taken in OMSCS so far. The quality of the lectures and the projects were extremely good. Tucker Balch has a very logical way of explaining the theories and ideas behind many of the concepts that you will learn. Then, he actually goes and explains how to implement it in code. Soon after these lectures, a project will be assigned where the lectures apply directly to the course material. This is the best part of the class, as it feels like you are always learning and applying your skills. (unlike many other courses, cough Knowledge Based AI cough)

    The projects themselves have an autograder (for the most part) and can give you a nice fuzzy feeling that you will get a decent grade. There are two or three projects that are somewhat difficult and time consuming, and you will need to spend a fair amount of time translating the lecture material into raw code. These assignments are the ones you learn the most from and are well worth the effort. (Decision Tree Learner, Manual Strategy, StrategyLearner)

    There are also a midterm and a final which will be no problem, and study guides of questionable quality (well. the final one anyways).

    There are a few improvements that could be made: -For one, there are some lectures by Tucker Balch that were recorded as live classroom sessions. These contain a lot of wasted time getting screens to work, saying hello to the class, and repeated material. Play these sessions at 2x to save yourself some time. -The TA's this semester were very quick to respond, but 90% of the time just pointed right back to the syllabus and could be a bit snarky. If someone is asking for clarification on something, it usually helps to rephrase the answer rather than repeat the same thing you just said. Kind of an obvious part of communication, but it was a problem. -Final exam study guide is an ugly mess of unanswered questions and one question was in Chinese!

    Overall though, this was an excellent class and I found myself pleasantly surprised by not only the machine learning material but also the trading.

    PS: Watch the movie the Big Short that is required for the class: it's actually pretty interesting and will make you angry at Wall Street.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-12-02T20:02:06Zfall 2019

    I enjoyed this class. I found that this course helped me understand machine learning concepts from a practical manner (actually coding up the algorithms). It's a good stepping stone into ML in general. The projects built on top of one another, so that by the last project, you'll need to apply everything you've learned. The only issue I had with one of the project (P3) was it's weight of 15%. I felt like I spent way more time on the latter projects, yet P3 was weighted more than the latter projects.

    I thought the lecturers were well organized and gave enough detail and examples to progress through the projects and exams.

    Regarding the tests, reviewing the previous practice exams helped prepare me for them a lot, and so you should definitely make time to look over the sample questions.

    Lastly there wasn't much activity from the TAs on Piazza. I often found questions unanswered, and quite frustrating when trying to get an answer. I focused my communication via Slack.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-11-25T14:02:41Zfall 2019

    I thought this course was excellent. This was the first semester that it was available to OMSA students and I hope we didn't disappoint compared to OMSCS! The course is heavy on Python and I got some practice in Git by committing changes to my Georgia Tech github repo and pulling into the buffet servers from there (people who take the class will know what I mean)

    Finance: Interesting accessible content on trading and the cryptic things traders to that most people don't understand

    Coding: Applicable to anyone who wants to make millions in the stock market by writing their own machine learning algorithms

    Instruction: Lectures are interesting and don't take too long to go through


    1. Easy
    2. Medium - Medium
    3. Hard: this one caused some drops (but then it gets easier again)
    4. Easy
    5. Easy - Medium
    6. Medium - Hard
    7. Medium - Hard (if you don't know reinforcement learning)
    8. Still in progress but almost through the baseline code so I feel qualified in saying also medium-hard

    One gripe: The TAs could be a little bit prickly at times. I get that people need to read assignments more thoroughly but I think being patient with students should come with the job. I noticed a similar issue in Databases last semester

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-11-11T01:22:25Zsummer 2019

    Pretty good for summer...I actually paired with IOS during Summer but in the end I drop IOS because of lacking in C knowledge....Ml4T on the other hand is smooth and friendly.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-11-07T07:59:45Zsummer 2019

    An easy and gentle introduction to the world of machine learning. This course was fun and somewhat hectic for me particularly, because

    1: I did it in Summer which has an assignment deadline every week

    2: I did 99% of the project work (excluding watching lectures) on weekends.

    So if point 2 is not valid for you, this course is a cakewalk. Professor Balch's lectures were good and easy to understand (though he is not involved with students at all). Prof. Joyner is the teaching head, but he doesn't do much besides posting weekly updates.

    The lectures were very fun for me as someone who had no idea about the financial world and how to code in Python (my background being purely Java). This course got me interested in the stock market and had me researching outside the course well after it was over, so I'll give it an easy recommendation.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 14 hours / week

  • Georgia Tech Student2019-11-06T13:23:09Zfall 2017

    Good first course, have a good catch up on various setup like ProctorTrack, Virtual Machine and etc

    In a nutshell, ML4T = Introduction to Python + Introduction to Finance + Introduction to ML.

    8 individual assignment + 2 exam. Python

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-10-30T22:38:43Zfall 2019

    This course is extremely easy, I wouldn't really recommend it, you can find the lectures on Udacity ( I have yet to watch a single lecture), the assignments and grading scripts online.

    One could probably work through all the assignments without having to do the reports, read 'More Money than God' which has all the interesting parts from the Balch book and more, read and watch the Big Short and read Flash Boys, and voila you've gotten all the interesting parts of the class and don't have to recite details from a book and a movie on tests ostensibly about ML.

    Felt comparable in difficulty to an undergrad economics elective class (for a person who already knows how to code in Python).

    Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-10-04T21:59:23Zspring 2019

    Overall I think this was a good course. The projects were rated in terms of difficulties by the professor so you could plan accordingly as to how much time you should allocate for that project. The tests weren't that hard as long as you studied. I also found it incredibly helpful to go over the sample test questions. I definitely found some of the projects hard and it was a grind some weeks, but I'm glad I took the course.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-09-19T17:07:08Zfall 2019

    Horrible, horrible course.

    Professor Balch clearly doesn't want his students to learn. Describes everything in Excel, then says "Go do it in Python, and oh, by the way, you can't use any tools to do so. No help documentation and you better not use the Python packages out there"

    The TAs are also the worst, most condescending group of TAs I've ever encountered.

    This course doesn't care if you learn or if you fail. All they want is their money and the ability to laugh at you.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-09-06T00:53:10Zsummer 2019

    I thought this was a super easy class. I did know python to some extent. I was not real familiar with the list comprehensions python is capable of, or how python can index arrays. That made things a little more complicated, but still easy to figure out with google. At times i worked ahead 3 weeks so i could go on vacation without a computer, and everything went fine. You do learn a lot about the financial market. You get to watch a movie. Fun class. Cool professor. Would recommend to a friend.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2019-08-19T16:15:15Zsummer 2018

    Loved this class! You can if you want to algorithmically trade for real your strategy if you think you're up for it! In the summer it was way too short (1 project per week) but doable while having a life and other stuff going on.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-08-15T18:20:53Zsummer 2019

    easy program to get some useful exercise of numpy and financial aspect of ML. It covers interesting topics. The exams are not that hard (at all) and fully covered by lectures and mostly on the question bank which is available for everyone from the beginning of the course. The projects can be worked ahead. I've spent more time on writing reports then writing codes. Some of them are no brainer and following the project lecture video is sufficient to get good scores. There is no bonnie auto-grader but provided test scripts are sufficient to get some feeling about the final grades. There are lots of very detailed rubrics though which should be checked carefully not to miss any points.

    I took this in Summer and it was very condensed and therefore moved very fast - projects due in almost every week. if I had took this in Spring/Fall, it might be very relaxing one or good to be taken with other class.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-08-14T13:23:47Zspring 2019

    The course is an intro course to machine learning and also to the trading world. Just keep up with the lectures/ projects as something is due every week. An easy course to score an A.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-08-13T12:38:42Zsummer 2019

    This would be a great course to learn python and get an introduction to machine learning. If you have already taken classes like AI or Big Data for Health, this will not be a very challenging course. My hope was to explore new ML libraries in python and leverage those for trading strategies. Instead the majority of the course is around familiarizing yourself with python, numpy and pandas as well as finance basics. Only one ML based machine learning strategy is implemented in this course.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-08-12T20:04:32Zsummer 2019

    Great course and has a lot of learning. I didn't know Python so learned that as well. Only problem is they have a rubric for each project and you must follow it exactly or else you would love a lot of points. Also they have grading scripts and a lot of test cases are hidden. For summer, it's a lot of work but I loved the learning and would highly recommend it to anyone.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-08-09T16:11:20Zsummer 2019

    The material in this course is a lot of fun. The lectures are very interactive and they present the material in very enjoyable way, almost to fault. The projects do a good job of reinforcing the lecture topics but sometimes it was a little tricky to find everything you needed to specifically do for each project. Piazza is strictly used in this course and I felt it could have been better with the use of Slack so, while the TAs are pretty good about responding, don't expect the same quick help you could get on Slack from other students.

    If you just keep up with the lectures / reading with the schedule you will likely get an A. It's very doable to get ahead on the work as well if you need to plan around personal commitments. Great introduction to Python as well if you have never coded in it before.

    Overall a great class and would recommend!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-08-08T18:41:15Zsummer 2019

    This class was helpful for someone who knows little about Trading. Some projects take literally under 1h but watch out for Project 2 and 6. It's a good introductory course but isn't deep enough to be practical (ie in getting a job), if anything it bolstered my understanding of trees.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-08-07T23:56:59Zsummer 2019

    This is a very good first class to machine learning. The concepts are easy to understand, except decision tree algo which requires recursion. The lecture videos and youtube videos are well paced and outline essential points you need for assignments. The professor tried to make things easy to understand and as simple as possible which is what I like the most. In the summer term the project and exam are due weekly which requires strong time management skills. TA are helpful. It will help you get familiar with Python, numpy, pandas and etc., and can develop your interest in trading. I love this class.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-08-06T20:23:16Zsummer 2017

    A very good course for summer or as the first course. Not too deep but gives some introduction to ML as well as finance trading, which is also pretty interesting.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-08-06T11:41:07Zsummer 2019

    well run course. lectures are informative, well-paced. Its an easy course but weekly assignments/tests are every week. Overall really good - something you'd expect from David Joyner

    Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-08-02T02:57:15Zsummer 2019

    This served as a Python refresher for me and an intro to Pandas. I learned a lot about quant finance, even though I was familiar with the basics. Dr. Balch doesn't immediately give off a very professorial vibe (no offense), but after I got used to his style, I realized that he is a very good teacher. Programming a decision tree and a Q-learner by hand was pretty cool and I am excited to learn more about ML in future courses. Taking it during the summer was a bit difficult on the time management side. Some homeworks were pretty easy and only took a few hours. Others involved reports and took 4-5+ times as long. I think in the spring and fall some assignments are 2 weeks long, while in the summer they are all 1 week long. It would have helped me a lot to know ahead of time which assignments are 2 weeks long in the spring or fall so I could get a head start on them in the summer. I definitely had some time management issues on some of the longer HWs, not because I didn't realize they'd be more work, but because I didn't realize how much more work they would be.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 11 hours / week

  • Georgia Tech Student2019-07-31T22:17:33Zspring 2019

    It was a nice course, and also fun. The first that had an assignment to actually watch a movie. I learned a lot, and the projects were fun.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 14 hours / week

  • Georgia Tech Student2019-07-29T18:41:23Zsummer 2019

    Second course I have taken. I really liked the material and speed. It was fairly easy to get an A but still required some time and planning, particularly for the later projects.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-07-29T01:01:59Zsummer 2019

    This course was very easy IMO. I had no trouble keeping up, and actually staying a week or more ahead of schedule. I had no significant prior experience with Python, and none at all with numpy or pandas, but found them fairly easy to pick up on the fly. The 8 projects focused either on finance/trading or ML concepts until the final project, which combined machine learning with trading.

    My personal opinion is that this course is actually too easy. The projects are very straightforward (with the great resources from the lectures and additional videos) and are helpful, but I think the lectures could be a bit more substantial and present more ML and financial theory, considering the light pace of this class (even during the summer).

    Rating: 3 / 5Difficulty: 1 / 5Workload: 3 hours / week

  • Georgia Tech Student2019-07-28T14:27:05Zspring 2019

    This is a great introduction course for machine learning. It is also a great mix of computer science and finance (e.g. "fintech"). Long story short, on the finance side of things, you learn that the stock market is a complicated beast.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-07-21T22:23:37Zspring 2019

    I LOVED this class. The projects were really excellent and I learned a ton. I and weird and like finance and stocks. The workload was pretty heavy at times, but totally doable with a full time job, kids and commitments. I hope they don't change a single thing about this class. Dr. Joyner was running this class the semester I took this because the regular prof is off doing big things in ML. I wish I liked all my classes half as much as this one!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 13 hours / week

  • Georgia Tech Student2019-06-28T07:26:33Zspring 2019

    More like a financial course than a technical course IMO, not much ML. But on the other side, it's good as a first course.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-06-23T18:44:13Zfall 2017

    One of the easier OMSCS classes and a good warm up to ML and Python. I think they did a good job covering introductory Q-Learning, and some light background on financial markets. This is a good first class or a good class to pair with another harder class.

    Well run and projects aren't that time consuming with the exception of the last few (Q-Trader and MarketSim for me). If you know nothing about financial markets, this will give you some familiarity with basic ML finance concepts of which you can go deeper on your own time (e.g. backtesting and evaluation metrics are important to understand).

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-05-17T19:58:15Zsummer 2017

    Not as interesting as I'd hoped, this is mostly a Programming in Numpy class. I withdrew.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-05-12T18:00:05Zspring 2019

    This course was on the easy side so it would be a good first course. The course went over the basics in machine learning and common uses of pandas in data analysis.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-05-08T15:23:45Zspring 2019

    2 proctortrack exams, very reasonable, I studied for 3-5 hours for each of them and got 85+.

    I loved the course material. I had no previous exposure to finance, and enjoyed the application domain. The work was at times difficult, but overall very reasonable. Dr. Joyner was an excellent professor for the class. The lectures were engaging and educational. I learned a lot about Python, Numpy, Scipy, and assorted libraries, that I feel will better prepare me for future OMSCS courses (like ML), as well as my professional life.

    Hours / week tracked using Toggl mean: 7.2 std: 4.7 min: 2.6 max: 20.1

    Rating: 5 / 5Difficulty: 3 / 5Workload: 7.2 hours / week

  • Georgia Tech Student2019-05-08T02:25:20Zfall 2018

    This is a great class to get comfortable with Python and some introductory ML concepts. The concepts relating to trading/finance were simple enough that you don't need to have any background to do well.

    Assignments: almost identical to previous semesters, so it was easy to work ahead. Most of the assignments had an auto-grader that allowed you to see how well your code performed, so you could be assured of a good grade. For written reports, the rubrics were very clear so it was easy to do well.

    Exams: Midterm/final were short with multiple-choice questions, and were easy to prepare for.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-05-07T21:41:59Zspring 2019

    This was my third class within the OMSCS program, which I took concurrently with ML during the Spring 2019 semester. There were 8 homework assignments that you could work ahead on and 2 exams that were 30 multiple choice questions (the TA's provided a 70-something page PDF of all possible questions that could be asked as study material). Overall, ML4T is a pretty easy class and a really great introduction to Python (+ Numpy / Pandas) and Machine Learning topics. It also contained some pretty interesting content on financial analysis of the market and stock trading as well. Also as a side note, Prof. Balch no longer teaches the course - instead Prof Joyner taught for the Spring 2019 semester (though Balch's video lessons were still used), so I'm not sure who will continue to teach the class in the future and if / when its content and materials will be refreshed. That being said, the TA's were really the most helpful for answering student's questions.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-05-07T15:29:42Zspring 2019

    This course was interesting. I liked video lessons. Assignments were very easy just some of them were time consuming. The material was poor. I think it could be added more lessons to the program. I finished all course at the beginning and didt even know what was going on in the class. Which is not motivating. TA was very responsive. I liked this course. I would advise to take it at the period when you cant spend much time on studies.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2019-05-06T17:59:31Zspring 2019

    This course is easy if you know some python/pandas or good at coding already. The TA responds fast but may not that accurate. Classmates are always helpful. Using previous exams materials to prepare the exams, but do not take too much time on them. It's going to be waste of the time. Projects are fun and useful.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-05-05T03:29:52Zspring 2019

    This was a fantastic course. The lectures, projects, TAs, and extras (e.g., wiki, sample tests) were great. I highly recommend it.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15.6 hours / week

  • Georgia Tech Student2019-05-04T22:36:02Zspring 2018

    This was my first ML track course and I definitely recommend it as one of the first courses to take for the track if you can.

    Going to contradict what most say here but I found the class to be particularly difficult but that might mainly be from my lack of experience using python - and by extension numpy - and knowing no ML concepts going in.

    From someone who asked if theres a curve in the class in piazza: "We do not expect to curve the grades"

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-02T23:36:28Zspring 2019

    Great introductory course for the ML track. Its very gentle and teaches you python as well as several useful libraries such as matplotlib, numpy, and pandas. I paired this course with KBAI for my first semester and managed relatively comfortably. Make sure you watch the associated video for each project. They will save you a lot of time!

    Rating: 4 / 5Difficulty: 1 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-05-02T19:08:35Zspring 2019

    This is a great class for those who have not yet been able to put theory into practice. This class was well-designed in that you could easily transfer the skills picked up here into the real world. It's also one of the few courses that I really wanted to do a depth of learning when I get time.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 6 hours / week

  • Georgia Tech Student2019-05-02T13:17:58Zspring 2019

    I really really disliked this course. I rated as neutral instead of strongly disliked because the class was reasonably well run and my dislike was mostly due to lack of interest in the subject. I took this class as prep for ML because I have very little machine learning experience, but the class didn't really go any deeper into ML concepts and more of the lectures are related to finance. I think you should only take this class if you're really interested in trading. (I probably had no business taking this class because turns out I find it so painfully boring.)

    Overall the course was the easiest I've taken so far. There were assignments due roughly every other week. Some assignments took a few hours and some I spent about 45 minutes on. (I had some experience with python, but I'm pretty new to pandas.) The hardest/most annoying part of the course was having to solve algebraic equations in your head because pencil and paper aren't allowed during the exams.

    Rating: 3 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-05-01T04:51:39Zspring 2019

    Good refresher to python and ML. Final exam is very focussed on financial terms and not very helpful from ML perspective. Follow the instructions and A grade is easy to get.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-04-30T10:13:50Zspring 2019

    A very good course which gives a step by step perspective to ML. And you do not need to take ML as a pre-requisite. The projects are open to at the start of the term and you can breeze through them quickly. However do make sure to go through each of the asks for each project. A few misses and you get dinged hard with penalties. There are 2 exams 35 minutes long, there is a question bank and you'd get a lot of inputs from the forums. I would recommend taking notes during the videos and go through them prior to the exams. Overall a great class, TAs are great and do respond quickly. Specifically Tala who was the all star TA for Spring 2019.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-04-30T09:17:19Zspring 2019

    Great course. Well organized and TAs are pretty quick at grading. Projects and Exams are well in sync with the material provided and so getting an A is pretty straight forward if you are thorough with the projects because projects have minor details which if you miss will be a problem. Though nothing out of the ordinary because everything is well documented in the class. Professor Joyner took over the class this semester so overall the class was expected to be well run anyway. Some of the technical stuff in the class needs some polishing like grading scripts that would be a good idea if they were setup on a server instead of giving it out to students because that adds more human error to things like submissions. But it will probably be fixed anyway given the demand and scale at which it is run and will be run in the future. This is one class that needs to be on every students list doing OMSCS.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-04-30T08:23:27Zspring 2019

    Very interesting course with a good pace. It starts with a nice probability refresher, and builds up the knowledge towards experimenting and building some of your own data structures than, then, can be used to achieve real-world results.

    It doesn't delve too much in theory, but that's a good thing, actually. You can always take ML or RL after that to go in more depth.

    An overall excellent introduction, with the added spice of the trading projects, which let people take a look at a very interesting part of modern finance.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-04-30T07:43:59Zspring 2019

    This is my 10th and final course in OMSCS, and in this case I saved the best for last! ML4T is my first exposure to machine learning (Computing Systems specialization) and it has piqued my interest to continue learning in this area.

    If you took this course first or early in your OMSCS career, you have been spoiled! Fastest I have seen grading done, and excellent grading scripts to check your work (most classes don't have grading scripts). Most courses also don't provide past exams or quizlets as study guides. The TAs in this course are the most present, efficient and attentive I have seen.

    And Prof Balch's lectures are in a class by themselves--he made every aspect of the course approachable for the novice. Most other courses don't give you all the math you need along the way with minimal assumptions.

    If you haven't taken a machine learning course before, start with this one.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-04-30T03:12:22Zspring 2018

    cool concepts, fun tech to use.

    Be aware that a lot of these projects have reports and they tend to nitpick on certain aspects of the reports. Be careful that you're addressing everything in the writeups.

    It's not very challenging, however it's well run and the TA's are great. Especially Tala. Tala is awesome here.

    You'll be happy you took it if you're looking for an opportunity to learn and setup some interesting python projects.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-04-29T16:22:09Zspring 2019

    I think that this class is very well-designed and the material taught is very interesting. My major complaint about the course is the course administration. When I took the course there were a lot of students enrolled so naturally, the TAs try to leverage automatic grading scripts on the assignments. If you follow the instructions perfectly then you'll be fine but from my experience, the TAs are not well-equipped to deal with a submission that slightly veers from the instructions. The original instructor is no longer teaching the course, so all grade conflicts had to be dealt with by the TAs. I will relay an unforutnate personal experience that led me to need to drop the course even though I just got a 94 on the midterm and felt like I had a strong grasp on all of the assignments I had done. THey want you to use a helper file called to standardize how everyone reads in the data. The only benefit this file serves is to standardize the grading; I could have written the functions myself but they want us to use their code. Anyways, I misread a line in the five page project description saying not to change and when I ran into a bug, I changed the code in to fix the bug. (I could have easily changed my code instead of but did not read that I wasn't allowd to change so I didn't think it made a difference). Because of this, when I submitted the assignment none of the tests passed on their system because they used their version of instead of the changed one I have. All of the tests passed on my system and I put hours into the assignment. My automatic grade for the assignment which is %12 of my grade was a 0 because none of the tests passed due to this syntax error which occurred at the beginning of the script because of that change I made in When I received my grade of a 0 I was shocked because I thought I would get a 100. I investigated and realized that the issue stemmed from my changing one line in my local version of I informed the TAs and asked for a re-grade with either my version of or to let me update my code with their version of I found it completely unreasonable to not grade any of my work due to a silly syntax error which could be fixed in a few minutes. The TAs were unreasonable and maintained that I would still get a grade of 0; the same grade you get for not doing any work. They didn't read any of my code to give partial credit or give me an opportunity to resubmit my code for a late penalization. I couldn't speak to an instructor because he no longer teaches the course. Because I received this grade right before the withdrawal deadline, I had to drop because I couldn't risk having this 0 stand and then get less than a B in the course. I program in python professionally for my job and I have never withdrawn from a course before in my entire academic career. This whole experience was very unfortunate, and it is putting me one semester behind in completing the program. This situation would have never happened in an in-person class. I think it is indicative that the TAs don't provide personal attention to grades and rely to heavily on automated scripts. If OMSCS can't provide personal attention to its students for large classes then this is a flaw in the program. If you follow the instructions exactly then you won't run into this issue, but if you don't follow the exact instructions then it doesn't seem like they are equipped to properly manage such a large class. It is unfortunate that I had such a bad experience with the TAs because everything else about the course is great. I think they should review the TAs in this course; as it stands they're no better than robots. They follow the grading script to the T and literally give you a 0 for a syntax error that could be fixed with a single line of code. I would expect graduate level TAs to have enough common sense and empathy to be able to look past an automatic grading script when there is a flaw with it.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-04-28T15:36:48Zspring 2019

    I LOVED this course. It's a great introduction to machine learning, and I felt like I learned a lot. The lessons were extremely engaging and very well done. They were a great length too, with most of them under 30 minutes, so it was easy to keep your interest.

    The projects supported the lessons extremely well, and also built upon each other extremely well. I felt like I came out of each project really understanding the material that had been taught previously. And the final project put it all together.

    The TAs were extremely on top of things and grades came back quickly. If you pay attention, take notes, and use the study guides, the exams are also quite easy.

    I would highly recommend this course to everyone. Definitely my favorite so far!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-04-26T16:26:23Zfall 2018

    This was by far my favorite class in the program to date. If you have any interest in stocks and how ML could play a role this is the class for you. It's also a really great intro into a broad spectrum of ML algorithms. Enjoy

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-04-22T18:09:16Zspring 2019

    I took both ML and RL before this class which made this class quite easy. Was still interesting and was glad that I got a refresher on some things, but I did not like it as much as the other courses. I don't have much to say that others haven't said already. Good fun class but IMHO others are better. I did like the opportunity to check with an autograder and work ahead if you wanted. This made it easy to do it on your own timeframe.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-04-22T17:04:26Zspring 2019

    Machine Learning for Trading consists of eight coding assignments and two 30 minute exams. The assignments are provided with templates and grading scripts; the pseudocode is covered in lectures. Take this course if you want an introduction to machine learning, python and finance concepts.

    Project 1, Martingale: Analyze the “Martingale” roulette betting approach for unlimited vs. limited loss.

    Project 2, Optimize Something: Use optimization equation to find the allocations for an optimal portfolio.

    Project 3, Assess Learners: Implement decision tree learner, random tree learner and bag learner.

    Project 4, Defeat Learners: Create data sets suited for Linear Regression vs. Decision Trees.

    Project 5, Marketsim: Implement pseudocode from lecture to take data frame of trades and return portfolio values given a start value, commission and impact.

    Project 6, Manual Strategy: Create a simple manual strategy through trial and error with higher returns than benchmark to be compared directly with a machine learner in final assignment.

    Project 7, Q Learning Robot: Implement a Q Learner with Dyna Q framed by a simple robot navigation problem.

    Project 8, Strategy Learner: Frame the trading problem using a learning approach from one of the prior assignments (Random Tree, Q-Learner or Optimization).

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-04-09T19:40:21Zspring 2018

    It is a good introductory course for students who are not familiar with python. The only problem is that it is almost impossible to register on this course in phase II

    Rating: 4 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-03-24T07:18:49Zsummer 2018

    This is a great introductory course for ML. I suggest this should be the go-to course if you want to get your feet wet in ML/Python (especially numpy).

    If you've good exposure to numpy and python, in general, it would be easier. Professor Balch was active on Piazza and so were the TAs. Apart from the official lectures on Udacity, there were several youtube recordings where Prof. Balch explains about most the projects. These videos were really helpful.

    There were two proctored tests. One for the mid-term and the other for the final. There was sufficient material provided (collected by old students and TAs) for the mid-term. No material was provided exclusively for the final. However, if you've done the projects with all sincerity and watched the lectures, the finals is not a big deal.

    I would suggest not to lose steam since it's a relatively easier course. If you lose a few credits in a couple of assignments you might not end up with an A.

    I lost a couple of points in one of the project reports and not so perfect scores in the exams and I risked myself of not getting an A. I ended up with a low A.

    This class was a rewarding experience. Overall, a well-managed class.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-03-22T16:42:47Zfall 2018

    I really liked the class overall. The instructor was entertaining, the material interesting, and nothing was overly difficult. I felt that not only was the instructor a fun person, he also did an incredible job teaching concepts in a way I could understand. For example, I took AI and they covered decision trees and it kind of made sense but I struggled with it. This class also went over decision trees and I feel like it made complete sense after one lecture. Maybe I benefited from having already been introduced, but in the AI class I watched those lectures multiple times to no avail, and I got it first try in this class. So kudos to the teacher on that. Only thing I would recommend be different is that there be a little more focus on the machine learning and a little less on the trading, but the class is machine learning for training and there is a separate machine learning class, so I guess its not a big deal. I felt like I ended up learning only a tiny bit about machine learning and how it applied to trading, but I learned a lot about trading. So if you were more interested in trading anyway, this is the class for you!

    Rating: 4 / 5Difficulty: 2 / 5Workload: 4 hours / week

  • Georgia Tech Student2019-03-19T08:31:35Zspring 2019

    While the material was interesting, I was surprised how poorly administered the class is. The projects are interesting. The midterm exam had mostly minor permutations of the sample exams. The learning experience is significantly degraded because the TA guidance is severely lacking, confusing, and self-contradictory. While they respond quickly to most questions, often the response is unsatisfactory and unclear. An example, after our midterms were graded, we were provided only a score. Only after a student posted to request to see our exam to know what we got wrong did a TA reply with "ask your grader TA" response. It shouldn't take additional action on our part to see our exam. Furthermore, even after recycling so many past midterm questions, the midterm still had out-of-scope questions and questions with incorrect answers. It is also implied that these questions will remain if a student doesn't contact the TA about their midterm. This is incredibly sloppy, and just one example of many blunders with how this class is now conducted. There are too many other excellent classes in this program than to waste your time, money, and effort on this one.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2019-01-09T15:44:27Zfall 2018

    This is an excellent course and should be your first if you are doing the ML track. You will code a lot, but the fun part is you use all the code for the later projects, so you eventually build up an repo that serves as the codebase for your final project. There is a very nice balance between difficult and not-so difficult projects.

    Definitely you need python skills for this course, if you don't have any -- be ready to learn. The course does a good job teaching some basics at the start, but you will have to ramp up fast.

    Videos are all quite good, I thoroughly enjoyed it all. The only quibble I have is that the course takes awhile to "Finalize" the projects, so it's somewhat hard to work ahead. That being said, you can certainly work ahead, just be ready to make minor changes. All the projects are available from the start of the course with detailed instructions on the course site, it's just they get tweaked as the course progresses.

    Exams are fair -- make sure to study the provided materials -- they are highly relevant. Our final exam was drawn from a question bank of student written questions! My question ended up on the exam!! I could not remember the answer!!! True story.

    TA's are very active, we had one god-mode TA who was literally always online and very kind. Even if she wasn't around, I'm know there was enough coverage from the others. Professor was also active on piazza.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-01-04T19:43:39Zfall 2018

    I was not confident with Python so I spent a lot of time doing assignments. You cant really finish your assignments ahead of time because they finalize the assignments like 7 days before the deadline. Good thing is they provide assignments from previous semesters so you can still get an idea. They also provide grading scripts for the assignments which was helpful. TA's grading on reports were pretty generous.

    Like others said, the exams were super easy.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-01-02T19:58:47Zfall 2018

    Enjoyed the course. You can front load the data, but the projects can change up to a week or so before the due date. So you may need to redo some things, but changes should be minimal. TAs super helpful and proof of the professor's existence was obvious in this class compared to others.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-01-02T18:39:51Zfall 2018

    Reasonably difficult for someone with little Python experience, but definitely not too difficult to figure it out on the fly. Gives you a great introduction to Python really.

    Projects are fun and interesting. Grading is fair and clear. Some projects were all programming and some had report aspects to them. Programming portions of projects could be tested using their test cases, but there are some extra tests that they don't provide.

    I risked it all semester and never used their test server due to stubbornness of figuring it out. But I would recommend figuring that out early on and testing all projects before submitting. Even though something works perfectly for you, they may have an older version of a python package installed that may not have a function you used.

    ...and don't wait until the last night to complete the last project....

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2019-01-02T00:30:22Zsummer 2017

    Probably too easy - Balch takes a lot of care to step students through things, which I think reduces learning (people learn best when they have to figure it out themselves).

    Exams are MCQ and easy to study for, so don't sweat them.

    What I really didn't like was the product placement for Balch's company and his book as a textbook for the class.

    Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2019-01-01T04:19:29Zfall 2018

    Projects are interesting and is a balance of finance and machine learning. It will strengthen your Python and Numpy skills. It is a wide range of difficulty but a ramp up. The Professor difficulty suggestion is subjective. I found that the two most difficult project was assess_learners(rated challenging) and manual_strategy(rated moderate). Assess_learners was challenging because of the assignment itself while manual strategy was difficult because the instructions were general and supporting material was limited. I would recommend to start on each project as early as possible as there is usually minor changes when the assignment is finalize.

    Exams were easy because one was similar to a prior exam and the second one was based on the top rated student question pools which you had access too.

    Overall, great course material of projects and lectures. Very clear expectations on most assignments, professor was active, and the Teaching Assistants were outstanding. Remember to check Piazza discussion and the Slack Channel as the staff was great.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-20T18:14:40Zfall 2018

    Overall, this course was very good and is a great first course. The material was well thought out and the assignments are great. Below are my thoughts on different areas of the course.


    The tests were honestly my least favorite part of this class. The first test was the midterm and we were given previous tests and their correct answers. Memorizing those was all you needed to do to get an A. For the final, we were asked to create a question on a specific subject in the course depending on our last name. After this, all of the questions that were student generated were sent out and we were required to grade 5 of them. Once this was over, the professor gave out all of the ratings. I studied the ones that had a score of 4+ and 3 or more ratings. This ended up being 250 questions. Doing this, I was able to get a 27/30 on the final. Overall, depending on your approach, the tests could have been more of a regurgitation of material rather than actual understanding of material. Not to say that memorizing these questions doesn't help with understanding of material. But, you get the point.

    TL;DR you can memorize material and do well


    The assignments were great & had awesome documentation / resources on how to complete them. There were 8 assignments total ranging from easy to very challenging in difficulty. The difficulties were given on the course wiki & I found them to be accurate. The first few assignments were great for getting me up to speed in python. The later ones were more difficult and reinforced material learned in the lectures. The assignments do start to build on themselves, so do not get behind. I started all of them very early & was able to finish them days before the due date. This was good because they did have reports that you needed to write after finishing the code.

    TL;DR start them early & check piazza -> you'll do well.


    Good once you sorted through the countless duplicate posts. I had very little patience / empathy for people who continuously posted duplicate questions. Other than that, it was very active with good posts. The TAs & professor answered quickly and with good responses. If something comes off as offensive, don't take it personally. There are participation checks for Piazza. So make sure you're posting & reading posts through the app or website. Also, make sure you use the correct email in the settings. Your actual GaTech email, not the alias. Visit the site daily so you know where questions / answers are. This will be helpful and beneficial for projects.

    TL;DR read posts, ask questions, make sure your email is correct -> you'll do well.


    • Watch lectures - Udacity
    • Start projects early
    • Post on piazza
    • Study for exams early


    • Start projects late. You have time. You always have time. Just. Do. It.
    • Forget to check piazza or wiki before asking a question
    • Ask questions that you could easily search on piazza
    • Say 'Sorry if this is a duplicate, but...' because you will get a response tagging another post with your question. The TA's don't have time for you inability to search. Seriously.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-12-19T23:04:48Zfall 2018

    Fun course. Great intro to data manipulation in python. Easy if you know how to program and have some knowledge of or at least interest in finance. The ML aspects can be mostly abstracted away (which is both a positive and a negative). The tests were a breeze, and I finished each in ~15 minutes.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-12-17T10:12:28Zspring 2018

    The most enjoyable course I've taken so far. TAs are great, so is Professor Balch. Don't miss this one - the pedagogy is fabulous.

    Creating data to fool algorithms, watching a movie and a documentary to understand the syllabus are new to me and very cool indeed.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-12-17T08:49:00Zsummer 2018

    Very easy class with interesting materials for trading and great for summer or pairing with another course. You can easily front load the lectures. The exams are among the easiest in OMSCS and even the projects are very manageable.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 5 hours / week

  • Georgia Tech Student2018-12-16T23:36:33Zfall 2018

    Best course so far that I took. I am only 3 courses in the program. The subject of finance and machine learning were both subjects that I have a strong interest, hence was making the class more smooth to take. I finished with a grade of 95% (A).

    However, even if I found the course interesting, it is far from being perfect.

    First of all, you won't be able to work in advance too much. Most of the time, the "final version" of the assignment are signed off 4-7 days before the date you need to submit. My schedule is challenging and I was able to rush at the middle of the semester but I had to come back to my assignments to do adjustment constantly.

    Second, the class is okay but some lectures video quality are from many years ago, with a very bad recording (blurry) whiteboard. They could have re-recorded it, they did not. Hence, it looks cheap. There is plenty of Youtube video with better quality. Georgia Tech must stay in touch with reality and offer better materials.

    Third, the teacher will give you a single example of most concepts. Only one. You will have to find more online. It annoys me that they deliberately provide as little as possible instead of having the goal to provide the best way to teach. For example, the notions around DYNA is wrong. If you implement the algorithm described, you end up with timeout for the assignment. No explanation in the lesson about it, it was through Piazza that a student gave the reason.

    The final exam was questions from students, a lot were bad qualities. Even if students had to vote on the best questions, it was still not okay. It also makes the whole class feel cheap. The teacher recycles content from many years ago and was not even there to write the final exam. Again, students pay for something that should be of better quality than what you can find online.

    I worked a lot on each assignment, way more than many people in the class. I was astonished to read student posting basic questions on the assignment with less than 24h before the submission while I already had worked 2-3 weeks on the assignment. I may not be as smart as these students, however, the level of the questions asked was basic, hence believe that some people are getting enough to pass the course without spending must time. I personally had to spend easily 20 hours per assignment. Most of the time was to understand the theory. Even if I watched all the lessons and read all the theory recommended, the implementation often puzzled me. Disclaimer: I have almost no experience in Python and Numpy/Pandas hence had to struggle a little for the first few assignments.

    Finally, instead of focusing on the machine learning part of trading, there were topics that were making no sense. For example, a lot of time spent on the crisis of 2008 with mortgages. Or, about option tradings. It does not belong in that class at all. These two parts must be taken off and have more examples, theory, applications in machine learning topics that were executed too fast.


    • Subject
    • Interesting assignment
    • Good class to tiptoes on machine learner and Python/Numpy/Pandas
    • Lectures were way better than my two first classes
    • No teamwork
    • A mix of code and report


    • Quality of lesson
    • Assignments are very slow to be sealed in requirement
    • Not enough fat around the bones
    • Too much offtopic subjects (like the movie, options trading)
    • Two 30 minutes exams

    I have spent too much time on that class. I am more than happy with my grade, but I spent way too much. I have invested easily 18 hours per week. the breakdown is about 3 hours on theory (lectures and books) and 15 hours on assignment.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2018-12-16T23:33:29Zfall 2018

    Best course so far that I took. I am only 3 courses in the program. The subject of finance and machine learning were both subjects that I have a strong interest, hence was making the class more smooth to take. I finished with a grade of 95% (A).

    However, even if I found the course interesting, it is far from being perfect.

    First of all, you won't be able to work in advance too much. Most of the time, the "final version" of the assignment are signed off 4-7 days before the date you need to submit. My schedule is challenging and I was able to rush at the middle of the semester but I had to come back to my assignments to do adjustment constantly.

    Second, the class is okay but some lectures video quality are from many years ago, with a very bad recording (blurry) whiteboard. They could have re-recorded it, they did not. Hence, it looks cheap. There is plenty of Youtube video with better quality. Georgia Tech must stay in touch with reality and offer better materials.

    Third, the teacher will give you a single example of most concepts. Only one. You will have to find more online. It annoys me that they deliberately provide as little as possible instead of having the goal to provide the best way to teach. For example, the notions around DYNA is wrong. If you implement the algorithm described, you end up with timeout for the assignment. No explanation in the lesson about it, it was through Piazza that a student gave the reason.

    The final exam was questions from students, a lot were bad qualities. Even if students had to vote on the best questions, it was still not okay. It also makes the whole class feel cheap. The teacher recycles content from many years ago and was not even there to write the final exam. Again, students pay for something that should be of better quality than what you can find online.

    I worked a lot on each assignment, way more than many people in the class. I was astonished to read student posting basic questions on the assignment with less than 24h before the submission while I already had worked 2-3 weeks on the assignment. I may not be as smart as these students, however, the level of the questions asked was basic, hence believe that some people are getting enough to pass the course without spending must time. I personally had to spend easily 20 hours per assignment. Most of the time was to understand the theory. Even if I watched all the lessons and read all the theory recommended, the implementation often puzzled me. Disclaimer: I have almost no experience in Python and Numpy/Pandas hence had to struggle a little for the first few assignments.

    Finally, instead of focusing on the machine learning part of trading, there were topics that were making no sense. For example, a lot of time spent on the crisis of 2008 with mortgages. Or, about option tradings. It does not belong in that class at all. These two parts must be taken off and have more examples, theory, applications in machine learning topics that were executed too fast.


    • Subject
    • Interesting assignment
    • Good class to tiptoes on machine learner and Python/Numpy/Pandas
    • Lectures were way better than my two first classes
    • No teamwork
    • A mix of code and report


    • Quality of lesson
    • Assignments are very slow to be sealed in requirement
    • Not enough fat around the bones
    • Too much offtopic subjects (like the movie, options trading)
    • Two 30 minutes exams

    I have spent too much time on that class. I am more than happy with my grade, but I spent way too much. I have invested easily 18 hours per week. the breakdown is about 3 hours on theory (lectures and books) and 15 hours on assignment.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2018-12-13T12:17:06Zfall 2018

    Overall, I enjoyed this course. This really feels like a combination MBA/CS course, so if you are looking for pure CS, this may not be for you. I have not taken any of the other ML courses yet, which did not seriously impact my ability to get things done, so for most people the same thing should apply. This course definitely got my excitement up for taking more ML courses!

    As for the projects - if you are not a strong programmer they can be extremely challenging. Do not come into this course expecting the opportunity to skill up from zero experience and be ready for later projects - you need a bit of familiarity with Python to get started, but the basic usage of NumPy and Pandas are covered in the lectures, but you're somewhat on your own figuring out how to make them work efficiently. Make sure you use an IDE (such as PyCharm) that can help you effectively write and debug code. In the Fall 2018 semester we were still using Python 2.7, and you must use specific packages for auto grading compatibility, but I believe Dr. Balch has stated they are working on getting to Python 3 and newer package versions soon. Almost all code is auto graded, with the majority of test cases provided to you, with a few hidden cases (hidden in that you haven't been given the auto grading case, but the assignment directions will definitely point to edge cases you may need to consider). In addition, some of the projects have both code and reports that must be written, so if writing is not your thing, be aware.

    The organization of this course was somewhat underdone, in that the course schedule wasn't finalized until about two weeks in, and most assignments were not finalized until about a week before their due date. There were usually only minor changes, if any, from what the assignment page on the course wiki originally had, although the final project had some moderate changes. This was the first time the course was on Canvas, so it may take a few semesters before things are running smoothly on Canvas. The lectures on Udacity are usually watched out of order, and there are additional lectures/recorded office hours on YouTube that are required, so not everything is in one place. In addition, you get to watch a movie for this class, "The Big Short", but have to procure it on your own - which is not a big deal, you can buy/rent it for streaming or a Blu-ray for less than most textbooks - but some were put off by the fact that they had to do this.

    The exams were entirely hosted on ProctorTrack (as in, none of the exam content was delivered using Canvas). That's a little annoying because I think Canvas provides a better test-taking experience for students. The exams themselves were multiple choice, with about a minute per question budget (30 questions ≈ 35 minutes). The content of the exams wasn't too difficult, and the second exam and crowdsourced from the students, which meant if you could memorize the questions, you could do very well on that exam.

    Finally, Piazza - this class had several sections combined into one Piazza section, and it was definitely messy. There were nearly 2500 posts over the semester, and many of them were duplicate questions or questions that were being covered on a pinned post. The course team did a pretty good job managing, and were very active in berating people who didn't look things up first. Some might find that harsh but I think it's almost required in order to get people to change their behavior.

    Overall - the pace of this course was a bit rapid, but it covered a lot and accomplished a lot. It may not have gone as deep for some, but again this is more of a survey and practical applications kind of course. It's definitely a good appetizer if you are just getting started with machine learning.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-12-12T18:01:15Zfall 2018

    This is a very good intro course for those that are new to programming in python and you can also learn a little bit of finance stuff. The most interesting project was the one where you build and simulate the market - buying stocks, selling stocks and backtesting strategy - it's very run and rewarding and maybe you can even extend it to building more serious trading systems (that capability is there IMHO). The TAs were very active and the results for the assignments were available almost immediately so you could clarify what you want as soon as possible. We have 2 exams - both are fully MCQ and are easy to ace if you have a good understanding of the subject.

    Overall would recommend all OMS students to take this course because it's a very light and interesting course where you learn a lot of useful stuff.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2018-12-04T03:04:32Zfall 2018

    I would highly recommend this course as a first course or a secondary course paired with a more difficult course. I completed this course along with ML. This course serves as an introduction to data manipulation with Python and Pandas and an introduction to a few basic machine learning concepts. If you have taken AI or CV before this one, then the projects will require no new learning with python at all except maybe how to graph data for some specific requirements. Similarly, you will not learn any meaningful depth if you have taken ML beforehand. Anyone gauging their interest into trading and financial software would benefit from this course. Anyone with experience with applying machine learning to trading will not learn anything new in this course.

    In terms of structure, the course starts with simple projects manipulating data in Python. These projects become modules in later learning agents before using everything at the end when applying machine learning to choose trades and make money. Therefore, this class is one of the easiest to complete work ahead of time with only minor changes once the project requirements are finalized. The midterm and final are easy multiple choice exams.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-11-21T12:13:11Zspring 2018

    Loved the content. Management could have been better. Will add a detailed review later.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-11-09T01:09:45Zfall 2017

    Excellent introduction to Machine Learning and OMSCS. I took this and AI4R my first semester. I'll probably never take two classes together again because these were two of the lighter classes and I had studied both in advance while deciding whether or not to join OMSCS. Don't be fooled though. While this might be an easier class, it's hardly easy. It's a really good intro class to Machine Learning and you should take it before trying the Machine Learning class to ease yourself into that one. I loved the Reinforcement Learning section of this class.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-11-06T03:49:06Zspring 2018

    Really enjoyed this class. As someone interested in the subject, I already had a good base on both the financial and computational side, so I didn't find this extremely challenging, but enjoyed the class none the less.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 5 hours / week

  • Georgia Tech Student2018-11-02T11:24:09Zspring 2016

    Very good class!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-10-28T19:08:57Zspring 2018

    I already knew most of the concepts from personal experience. ML in my day job and messing around with Quantopian for fun on my own. Decision trees, q-learning, fundamental and technical indicators. The tests were ok and the projects were interesting enough.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-10-27T12:30:01Zsummer 2018

    This was my second course on the OMSCS. I did have natural advantage in this course in that I have worked in the finance sector building trading systems for sell side brokers + I had taken AI as my first course (so my comments on ease of course may be a bit harsh)

    I took this course because

    (1) I wanted an easy summer after taking AI - which was brutal in comparison

    (2) I wanted to learn a bit about practical application of ML in the upstream systems that feed the trading systems I work on in my day job

    Even without a background like mine I would say the course is extremely easy. As others have commented some of the exam questions were farcical for a graduate level course and a number of the assignments involved little more than mechanically coding formulae or spoon fed descriptions of solutions given in lectures. That said the course did provide a rgood general overview of how buy side hedge funds operate and the two main assignments did provide a bit more challenge.

    If you have limited financial or ML knowledge this course will provide you with a gentle and enjoyable introduction to both and it will supply you with good high level understanding of how financial markets operate. However you are given a very simplified view of the markets and it will not prepare you for dealing with any of complexities you would encounter with if you were trading in the real world.

    Overall the course was fun and I did feel I learnt some useful things from the course (although a good bit less than I had hoped)

    I do feel that the difficultly was below that of a graduate level course.and in my opinion the content and difficultly should be seriously increased. More depth and challenging open ended projects would make this a very interesting and valuable course rather than an easy but enjoyable summer option that does not really live up to its potential

    Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2018-09-13T09:13:03Zsummer 2018

    Ah, to be able to take this course every semester!!!


    • Gentle introduction to AI materials and python. In retrospect, I wish I had taken this before AI, which is a brutal introduction to similar topics.
    • NO GROUP PROJECTS! All projects are individual.
    • Light course load. The assignments don't change much (usually at all) between semesters and are available.
    • The assignments are easy if you understand the material. This is not a given in other classes.
    • The assignment have local tests which are basically the whole grade. Looking at you, AI.
    • No dealing with Bonnie.


    • Multiple choice exams that are sometimes arbitrary. The final had at least 5 question about "The Big Short", some being "To what cities did characters travel?" - Seriously? This is a gradschool level course. There are only 30 questions too so watching this movie and remembering this stuff was imperative. It felt like they ran out of things to ask.
    • The final is based on the entire semester so you have to study the whole damn course beforehand.
    • Exam is closed book so prepare to memorize equations.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-08-24T03:10:56Zsummer 2018

    This was my second class in the program after AI in the first semester. AI was a really hard class and had really enjoyed it, but I wanted something lighter for the summer. It turned out to be a good decision. I would not call this class easy, as it needs fair amount of work in parameter tuning and developing reports / visualizations etc. But enjoyed building my own strategy to do some basic trading.

    Highlight of this class was the finance fundamentals combined with coding in Python. I did not have any prior finance background and this class taught me many valuable concepts. I could also get better at Python. Really liked the class overall. I'd recommend it for the first semester!

    P.S. One thing to add: for the last project, there were continuous changes to it till the last moment. That made us really confused regarding the details. There were updates regarding the number of charts allowed till the last 3-4 days before submission deadline. What added to frustration was there were a couple of changes even after the assignment was declared 'Finalized' and we had to redo the work a few times. I feel this caused unnecessary pressure and anxiety.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-08-21T18:27:32Zsummer 2018

    So, I really wanted to like this course more. It was a good intro to ML, but don't expect to be able to do any real trading after. The techniques taught are fairly basic and you would be destroyed if you actually tried to use them outside of the carefully controlled toy environment.

    The course was abbreviated over the summer (one of the projects was dropped, leaving 6). The lectures were pretty good, although both textbooks were totally unnecessary.

    I have two main complaints. The exams were trivial to the point of meaningless. There were questions on a movie that we were asked to watch (The Big Short) that you could have got the answers to by watching the trailer (they weren't financial questions either). The other questions were related to the material, but if you cram the relevant lectures in for a few hours before taking the exam, you're guaranteed to get a 90 or above (unless you just can't remember simple facts - little to no math required).

    Secondly, although this clearly wasn't the first time this course had been run throughout the summer, it may as well have been. Projects weren't finalized (or available on Canvas) until the last minute, and the final (hardest) project was still having fairly major tweaks right up until the weekend before it was due.

    Luckily, this didn't affect me because I'm lazy and had barely started it at that point, but others were not happy.

    In short, this is an easy course if you keep your wits about you. You'll likely have more difficulty keeping up with the changing requirements than you will with the actual material. So yeah - a fairly realistic preparation for real work in that sense.

    Overall, I recommend it, but you may not get as much out of it as you would hope.

    Additionally, some of the TAs were really unhelpful to the point of antagonism. I didn't personally run into this, luckily, but there were others that did.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-08-19T03:50:35Zspring 2017

    Loved the class.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-08-09T21:36:35Zsummer 2018

    Took DVA and AI before this one, also had some background in finance (CFA charter holder). There're 3 min courses: python/pandas, finance, ml. For my background, most of the things are like refreshers, and only thing I learned from this course is how to use ML to make trading decisions, any maybe some different way to implement decision trees, random forrests and q-learning. Still interesting though, to see how ML and AI can help with trading securities. and this course's work load is perfect for a relaxing summer. Except the final project+repot took me 3 whole days, others (first 5 projects, 2 exams) are pretty light. There's also a homework to watch movie "the big short", which is interesting.

    I wish there's a follow up course that gets deeper into how ML can do with trading, but this course is a great introduction to people with minimum exposure to finance, hedge fund, python, pandas, and machine learning. Especially for the point that Dr. Balch would give very detailed guidance for home assignment/projects, which could be very helpful for learning, but maybe not that interesting for more experienced students.

    I would highly recommend as one of the first courses to get you started in OMSCS program.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-08-08T15:18:15Zsummer 2017

    A good course for summer.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-08-07T15:39:17Zfall 2017

    Great first class overall. Loved the content and the projects! Applying concepts to interesting real world situations (that is if you consider stock trading interesting) made learning the basics of machine learning quite easy.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-08-07T12:10:06Zsummer 2018

    I thought the content of the course was interesting, and the professor (T.Balch) and the TAs were very engaged. This course had a decent amount of material (both financial and technical).

    I think the projects could have been more in depth, and some of the projects could have been portions of others. They did build on one another, which gave a flow and continuity, but I would like to have had more lectures on indicators, why some succeed vs fail, etc.

    Prof. Balch was the most engaged and interactive professor that I've had at GATech. He posted frequently on Piazza (whereas I had never seen that from a professor before, other than when complaining about students who are complaining), as did the TAs.

    The biggest area for improvement is 'finalizing projects', which sometimes had changes coming in until the last day or two. On the plus side, the legacy projects were available to start on, but one could not finish and submit until within 24-48 hours.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-08-07T05:12:38Zsummer 2018

    Here's my piazza thank you note (also serves as a review)

    Hello Everyone,

    I'd like to first thank the TAs and Prof.Tucker for this amazing summer trading adventure! This goes down as one of my favorite courses because of its high quality content on trading, and also because it helped us build 'applied' machine learning skills. I've taken ML courses at GT and CMU before, so I didn't come here to learn about ML as first-timer. I was planning on taking this course to do some applied machine learning and work with stuff like Pandas, numpy and I should say that I wasn't disappointed at all!

    This course also served as a great introduction to trading. In fact, I've been inspired to trade using Robinhood on the side. But that's a story for another day. Now, there were a few things that I disliked about the course and that doesn't have anything to do with the content:

    1. How it was run - I thought it was a mess. Frankly, TAs and the Prof. were kind of absent from Piazza. This might not be entirely a bad thing. But at some point I hoped that they intervened and confirmed a few things - such as grading questions, deadlines, rubric. I would like to thank my peers on piazza who helped people debug stuff, write test cases, and also posted strategies on tackling assignments. Yay crowdsourcing!

    2. The way assignments were released - Why weren't they finalized until the last moment ( like <5 days before the deadline) ? I do agree the most changes were really minor, but I'm highly uncomfortable doing old assignments with old information. This is a personal but I'd like to bring it up - I delayed doing all my assignments (yes even strategy learner!) until they were finalized, cause I couldn't mentally prepare myself working with old stuff that might change.

    3. Wiki issues - Why even have a "Summer 2018" page if it isn't updated. Seriously, why couldn't 1 TA spend half a day at the beginning of the semester and update all the wiki information? Here's what I find on the wiki page, even now, when the course has completed:

    "You are on the page for information specific to the summer 2018 session of this course. Go here (Machine_Learning_for_Trading_Course) for overall course policies. Please note: This page is still in revision we will announce by email when it is finalized."

    I feel that these issues have degraded the quality of the course quite a bit. But overall, I'm satisfied because of the great content and teaching (thanks Prof. Tucker!)

    Thanks everyone

    Rating: 4 / 5Difficulty: 3 / 5Workload: 7 hours / week

  • Georgia Tech Student2018-08-06T18:33:53Zsummer 2018

    I took this class because of the rave reviews I read here, and I liked it but I didn't love it. I wanted to love it.

    The coding assignments were on the easy side, but I did learn a lot from them. And they were fun. Tests were a breeze but please spend some time studying for them

    Professor Balch is a solid gem. He was more engaged in the class than I have seen from any other course Instructor. He is good natured and a great lecturer. The Udacity lectures are put together well.

    A handful of the TAs did an outstanding job, which, as far as I can tell from having taken 6 classes is what can make or break a course. And, although the TAs may vary from semester to semester, they don't change each semester. I've noticed that more involved Professors in a class are more involved with the TAs which means the TAs have more ability to be definitive and helpful in general.

    I knew NOTHING about finance or the stock market before taking this class, but I came away with a comfy familiarity. I'm not going to run out and bet the farm, but I am not so in the dark anymore about trading and its jargon.

    Note: I took AI before this class and would recommend going at it the other way: Take ML4T before AI for a more gentle intro to some basic concepts that will help you with AI homework.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-08-06T06:49:15Zsummer 2018

    This class is a mix of introductory regarding finance and machine learning. I liked ML part a lot, it is very good introduction for people who have no prior experience of ML. Personally I could not be so interested in finance part though. Assignments (projects) are all python programming assignments (and some reports) and they were simply fun. We need to watch a long lecture video which is not designated for Udacity format but the professor explains what to implement step by step. As long as you attend Piazza regularly and ask if you need some help, someone can assist you and you should be able to complete all assignments (while the last one is bit difficult I think). I've never checked eventually but people also used Slack and it sounded very active.

    Midterm exam was not so difficult, it has a lot of resource to prepare but the last exam was basically with no hint for questions in advance, so it's bit random and it also asks very non-essential questions like a location of some scene in the movie....

    I recommend try getting full marks in assignments and attend Piazza regularly then you can get A with even 70-80 exam scores. At least for this summer class, no curve and no extra credits. Also recommend reviewing Python before the class. Also, start a project as early as possible. I first expected that I can start work on assignments after they're finalized, but sometimes it was finalized just a several days before a deadline. The differences were minimal from last semester so you shouldn't be worried about it so much.

    Generally the professor and TAs are very helpful and approachable.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-08-05T17:56:00Zsummer 2018

    This course was a (very) gentle introduction to ML, numpy, and pandas, as others have noted. I'd strongly recommend taking this before 7641 (Machine Learning) as a concrete example of Machine Learning construction methods for several learners as well as an example of how to organize and think about specific data before applying ML techniques.

    I'll say Prof Balch was absolutely approachable, entertaining (in a dad-joke way :) ), and authentic in his presentation.

    The nits I must pick are that the material is disorganized, the Piazza participation grade leads to chaos and overload, and the late-finalization of assignments is a little frustrating. Grading was super-quick though.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-08-04T06:43:08Zsummer 2018

    This course teaches you 1) how modern trading is done under the hood 2) how different machine learning methods are applied to trading. It is both a horizon-broadening opportunity and a good introduction to machine learning. Projects are not not difficult if you have experience in Python. I took it in the shorter summer semester, but I did not feel the workload is heavy at all. Lectures are well made. Assignments are well defined and have a template to start with. I especially like the last two assignments in which I got exposure to reinforcement learning.

    In general, I like this course. It is not that time consuming, but I actually have learnt stuff.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-07-31T21:22:23Zsummer 2018

    This was definitely a fun class. The projects were all well thought out and build on each other effectively. The lectures were pretty engaging and not hard to get through. The exams, though proctored, are basically 30 questions multiple choice, and not hard to succeed at if you review the study materials well enough before hand, and do the required reading/watch the recommended videos.

    All of the projects use python with pandas and numpy. It'll help a lot if you are already familiar with these libraries and vectorization with numpy!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-07-31T14:53:30Zsummer 2018

    As my first real ML course, it was a decent introduction to ML concepts, though I wish it had gone more in-depth into actual trading strategies. The pacing of the course feels a little off at times. You'll cover almost all of the Udacity lectures prior to the midterm and will be watching YouTube videos of live classroom-recorded lectures afterwards, which tend to drag on due to technical problems and other in-class reasons.

    While all assignments are posted on the wiki up front, we were warned they they were all subject to change and that they would be finalized at least two weeks prior to their deadline. This never happened and each was finalized just a few days before being due. Most assignments remained relatively unchanged, but the "very challenging" final project was finalized 5 days before it was due, and then changed again after being finalized to add a new section worth 15% of the grade. Needless to say, the instructor communication in this course was very poor. The TAs were great and grades were returned fastest of any of the 6 OMSCS courses I've taken, but it was obvious they had extremely limited say in how things were run. Professor Balch was MIA for most of the course, leading to a lot of unnecessary confusion on Piazza. Combined with the new "Piazza participation" metric worth 5% of our grade, Piazza was difficult to meaningfully follow.

    The projects were fairly easy overall. Some have YouTube videos with the professor walking you through a solution, while another took literally a few minutes to complete. There were 2 fewer projects in the Summer semester, though a portion of one was built into the final project. Two of the projects required writing reports, though neither was very intimidating due to the rubric spelling out exactly what to include.

    There were 2 ProctorTrack exams of about equal, moderate-to-easy difficulty, though the final did include a few questions about The Big Short movie that were completely inappropriate/unrelated to this graduate-level course material.

    There were 3 books (1 required, 2 optional), but I didn't use any of them and had no problem getting As on every assignment and exam.

    Overall, an easy class even for summer, made mildly frustrating only due to the professor's lack of engagement in making simple clarifications and some students' lack of Piazza etiquette (exacerbated by the participation portion of our grade).

    Course material is publicly available at

    Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2018-07-30T21:27:32Zsummer 2018

    This was my second course in the program and I very much enjoyed the project work in this class. The course provides a great overview and introduction to machine learning concepts, reinforcement learning and finance without diving into the weeds. But if you already have a introductory machine learning background this course likely won't provide much value to you. This would be a good course to pair with another course since the time commitment is not as large per week as some other courses. However, communication between the professor and TAs regarding finalization of projects and content covered on exams was severely lacking. In many instances official communications did not finalize the projects until a few day before they were due. Project descriptions from previous semesters were made available to us at the beginning of the course and luckily in many cases the descriptions changed minimally once the project was finalized. There was a midterm exam and a final exam administered via ProctorTrack.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-07-30T19:49:42Zsummer 2018


    1. Good instructor and TA involvement.
    2. Project requirements are well communicated. Everything is also out in advance so you can easily work ahead.
    3. Course material is interesting.


    1. Class is too light on content. If you've been exposed to the ML concepts before, and/or have been introduced to NumPy/Pandas, then you won't find too much additional to learn. I had just taken AI so was fairly comfortable with the concepts and NumPy already. There really isn't enough here to fill a semester, even a compressed summer semester.
    2. Class uses lame "Piazza participation" metric, which counts for 5% of the grade and caused the forum to be mostly filled with "thanks" and "+1" messages. I didn't really need to visit Piazza for help during the semester but went there every day just to click through the messages and occasionally answer a question so I wouldn't get a zero on participation. This policy also seems to benefit greatly the students who are asking the really embarrassing questions (e.g. "how do I install the python? I have no programming").

    Overall though, I can't complain too greatly. It was somewhat interesting and not too stressful. Made for a relaxing summer.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2018-07-30T02:16:57Zspring 2017

    Easy course that can be used to gear up for Machine Learning course. Enjoyable, but don't expect to be able to use this class as a platform to working in finance--there's simply not enough content covered to make it useful for that.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week

  • Georgia Tech Student2018-07-20T01:48:07Zsummer 2018

    Overall a pretty solid (and very very gentle) intro to ML if you have had zero exposure. You will finish with a basic understanding of some of the rudimentary concepts in ML, and learn a few basic points about the markets. The assignments are pretty straightforward and fun.

    That being said, a few pain points:

    1. Assignment logistics aren't finalized until sometimes literally a few days before the due date. If you are someone who likes to not wait until the night before to complete an assignment, this can be difficult. Many students get flustered by this.

    2. Some of the material is arguably superfluous in an elementary fashion (re-watching movies to answer exam Q's, etc)

    3. The assignments are mostly rigid (scaffolded starter code, exact api specifications, etc) and don't allow for too much creativity, exploration, or struggle. This is the exact reason for the gap between academia and the real world. The projects need to be more open ended, involve dirtier data, etc; only then through a turbulent trial and error process involving practical roadblocks, will students truly learn ML4T techniques, and more importantly, learn how to solve problems with ML.

    Nevertheless, the course is quite enjoyable but could use an overhaul of content and coordination procedure.

    Rating: 4 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • Georgia Tech Student2018-07-06T11:20:23Zfall 2017

    It is easy and interesting course . Assignments are fun and they don't take lot of time to complete . Course content is shallow but it is a good start for ML and Trading . Assignments are mostly split up of bigger project in to chunks .

    Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2018-06-07T17:09:16Zfall 2017

    Great course! You learn the basics of python/numpy/pandas, finance, and supervised learning. The projects are interesting and gives you a feel for how ML can be applied to a variety of problems.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-06-01T22:54:54Zspring 2018

    I love this course. It's a cross between "applied machine learning", and "intro to technical analysis" with a greater emphasis on the former. I wish there were a "Machine Learning for Trading Part 2".

    The lectures were interesting, and the assignments were difficult enough to force you to understand the concepts without being overkill.

    I think this would be an ideal first-semester course for someone who's interested in machine learning. It introduces you to tools like pandas, numpy and SciPy which I think are used in other courses in the program, and if your python skills are rusty or non-existent, it gives you a good amount of practice.

    Dr. Balch is a great teacher.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2018-05-30T15:37:39Zspring 2018

    Took this with DVA

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-05-21T15:43:38Zspring 2018

    This course was one of the better ones I have taken. I would recommend it to anyone in the program regardless of specialization.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-05-14T16:47:03Zspring 2018

    Awesome course!!! Simply loved it..

    I have already done ML and RL. Also, I have had interest in stocks and was familiar with many technical indicators - I have cleared CFA level 1 few years back. So take my feedback and number of hours with a grain of salt.

    This class introduced a totally new perspective to Technical Trading. It was a breeze - its not too tough to get an A.

    At the same time, there is no scope for error - you miss one assignment - you are done.. Just stay focused and calm - you will do good.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2018-05-11T10:55:14Zspring 2018

    This course starts slow by introducing numpy and pandas. The first assignments are pretty light. In general there is a lot of hand-holding with the assignments. It can be challenging and time consuming to put together the projects but you can start as early as the first day of the course. It's really up to you. Material is interesting and the professors seems to be genuinely enthusiastic about both, trading and machine learning. If you have had no previous exposure to machine learning, it could be a more or less painless intro to it.

    I will say, however, this is a huge class and piazza is a mess most of the times.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-05-11T02:31:14Zspring 2018

    Took this course to complete the ML specialization requirements. After having taken DVA, RL and ML, it was a shock to see how easy this course is. If you know little about ML and/or python, this is probably a good first class to take in the program, but if you do you are likely to be bored by the programming aspects.

    The finance part was OK. I started out as a believer in the efficient market hypothesis (which basically says that you can't profit by doing ML for trading, and therefore that the material in this class should be essentially useless), and I like having been exposed to the perspective of a professor who obviously disagrees with it. I'm still not 100% convinced, but this was an interesting experience.

    One thing that disappointed me was that the midterm was almost exactly the same as one of the sample midterms that was made available to us for reviewing. In other words, we were given the answers to the midterm beforehand... As someone who wants to be challenged, I find this very disappointing.

    Rating: 3 / 5Difficulty: 1 / 5Workload: 3 hours / week

  • Georgia Tech Student2018-05-10T20:02:13Zspring 2018

    Machine Learning for trading is an excellent course. It's a great starter course, as it isn't too difficult, but beware that the difficulty does ramp up towards the end of the course (though it still doesn't get exceptionally difficult) so don't let the first half fool you into thinking the second half is just as easy. Lecture material is very interesting, essentially being split into half-financial and half-intro to machine learning.

    The projects all build upon one another in some way, so it's advisable to spend a sufficient amount of time making sure each one is done properly. You can work ahead, as all project descriptions and legacy code are available on the class website, BUT, the projects may change slightly closer to release so keep that in mind when you work ahead. DO NOT wait until projects are finalized before you start working on them, despite the chance some slight tweaks may be made to projects up to the week before it is due, start them as soon as you can. This is especially true with all of the projects starting from and including assess_learners.

    I would suggest making sure your marketsim project works perfectly when you get there. The most time consuming projects are assess_learners, manual_strategy and strategy_learner, with the latter two using your marketsim code, so make sure to allocate enough time to work on these when you get there. Also, for manual_strategy you will have to do some research into stock price indicators, and this project is used as a comparison for strategy_learner so it's good to choose these indicators wisely based on this research.

    There are two proctored exams, one mid-term and one non-cumulative final exam. Questions aren't difficult as long as you review all of the material, watch all of the required additional videos (e.g., The Big Short), and go over the practice questions/previous term exams where possible.

    All-in-all, the material is interesting, the projects are overall well-structured and utilize the material conveyed in lecture, and often even have instructional videos to help guide you through some of the more involved projects. TAs were responsive and easy to reach on PIazza, though Dr. Balch is often very helpful he can be a bit curt.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-05-08T05:57:55Zspring 2018

    This is an awesome course if you want to learn about Trading concepts. One-third of the course focuses on teaching the analysis in Python using numpy and pandas.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-05-08T03:04:15Zspring 2018


    Essentially, the course serves as an introduction to Machine Learning, Technical Analysis for Trading, and Python (including Pandas and Numpy). If you're new to ML, Technical Analysis, or Python, this is an excellent first course. While the material effectively covers material sufficient for an introduction, you are free to take your learning further. For example, when learning about Reinforcement Learning, you can simply watch the course videos, or you can supplement your learning by reading the relevant sections from Suttons' book: Reinforcement Learning: An Introduction and the videos from the OMSCS Reinforcement Learning and Machine Learning courses. The approach you take, combined with the skills you begin with, will determine how much time you spend on the course.


    The projects build upon one another, so if you get something wrong it is critical that you go back and fix it. Also, beginning projects early is extremely useful, because some projects require experimentations and papers. I was surprised at how a few students would appear on Piazza or Slack a few days before the project was due proclaiming that they had not started the assignment and was asking how long it would take to complete. Again, the approach you take will determine how much you get from the class.


    I found the unofficial Slack community the most active - 24/7, especially in the days leading up to a project's due date or an exam. In many cases, students would answer questions in minutes or hours. Piazza was also useful, where some TAs were very active. Although, unlike Slack, answers from TAs or the professor ranged from minutes to days. I found my TA quite good and he would pull in other TAs when he couldn't provide a definitive answer. The professor was active on Piazza for the first half of the course, but was sparsely present during the second. Fortunately, the course proceeded smoothly with the head TA (who has previously taught the course) and other TAs actively participating.


    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-05-07T23:08:30Zspring 2018

    Very good course, lecture materials supported the projects. Professor was engaged and the TAs were responsive. Overall a good starting course for ML, though the domain is Finance. Be careful about the projects. Start early because some of them can be tricky. The "Manual Strategy" and "Strategy Learner" projects are difficult and should be allocated proper time.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-05-07T20:43:28Zspring 2018

    Highly recommend this class, even if you are not planning on ML specialization this class can provide a good introduction to ML concepts. I found projects very interesting, they provide a good hands on application of ML. Difficulty depends on your background but don't think it will be too hard even if you don't meet the class prerequisites.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-05-06T12:31:18Zspring 2018

    It's a solid class with good projects. It's really three classes rolled into one:

    1. Working with data using Python, Numpy, and Pandas.
    2. Machine Learning
    3. Financial Markets

    I feel I learned quite a lot. I think it's a good class for beginners wanting to learn tools needed for other classes, such as Python/Numpy/Pandas and get introduced to machine learning.

    The TAs were very good and active on Piazza. On the other hand, the professor seemed to sometimes forget about the class for stretches of time, without giving the TAs the tools / permissions to manage it.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-05-02T13:57:51Zspring 2018


    Let me preface my review by saying that I went into this course really excited to learn about Machine Learning (with a mild interest in trading), having chosen to specialize in it through OMS CS. Unfortunately, this is a Finance class under the guise of a "Machine Learning" class. I put Machine Learning in quotes, because even Andrew Ng's outdated, free Coursera class provides a better introduction to ML compared to this one. By the way, there is zero mathematical background required for what is taught in this course, which is disappointing. If you compare the curriculum to Stanford/UC Berkeley/MIT, you will see that they are miles apart.

    What You'll Learn

    You will implement: Linear Regression, Decision Trees, Random Trees, Bagging/Boosting, and Q-learning. The rest of the course is about finance, with some Python syntax thrown into the mix. In addition, this course doesn't feel like a master's level class due to the amount of hand-holding it does (step by step instructions on what to do, you just need to convert it into Python syntax).


    The videos for this course are well-done, are interesting and are directly tied to the projects, unlike other classes. Also, because there's no curve, the classroom environment becomes very positive (not competitive) and people genuinely try to help everyone else.

    Rating: 1 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-05-01T00:40:21Zspring 2018

    I liked it. There are some organization issues associated with having a gigantic class, and a forced presence on Piazza (Piazza is chaos). The projects also aren't finalized until pretty late, but the changes were almost always nothing. But the class is interesting enough. Its a light introduction to machine learning, and a medium introduction to finance. You aren't going to leave this class and be Warren Buffet, or know everything you need to know to make a high frequency trader, but you'll have a decent grasp, and give you enough of a teaser to let you know if you want explore ML or finance further.

    Class itself was pretty easy. Projects could be easy, or hard depending on you. I spent a lot of time messing around, but if I had focused I probably could have finished things a lot faster and easier.

    Id recommend it to someone who wants a light introduction to machine learning.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-04-30T16:50:36Zspring 2018

    Loved the course

    This was my third course (after CP and SDP) and I have to say this was the most engaging class i have been in. There are 8 assignments that u can even start working on from the first day (of course not recommended). The videos are excellent - short, to the point and very close to the subject matter and the assignment.


    All the assignments are evenly spaced and equivalently weighted. I would recommend referring to all the information at to learn more about this course itself.

    Few over achievers might grumble :), but the first part of the course (mini course for pandas) was extremely important for the final part of the assignments


    The exams are intended to test if your understood the videos and the concepts and does not try to trick you out of your grades. For the midterm, there are crowd sourced question banks whose intentions are to make sure you actually understood the various parts of the course. If you have gone through them all and figured out the basics behind them, the midterm should be simple enough though it is closed book and proctored.

    The final does not have a question bank, but the same methodology of going through your videos and material should make it simple enough.

    Parting words

    The last three assignments as noted as indeed challenging and equivalently given two weeks to complete. You can even start them on the first day though there might be tiny edits to the grading script at a later point.

    But this is one of the best constructed courses and if you have some background in python, should be simple to pick up and any insights in finance would be an added booster.

    _Note: Though the course is constructed exceptionally well, it is not an easy A and you would still need to put in the hours required. Especially the two assignments marked as "Very challenging" easily took 20-25 hours over two weeks. _

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-04-30T12:14:06Zspring 2018

    Great course. I was expecting to apply my learning into the stock market but it may not be directly applicable. Course content is good, so is the pedagogy. The course's learning curve is a little steep towards the end. Make sure you start the final project implementation early.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-04-29T19:50:34Zspring 2018

    This is a well-organized course brings machine learning and finance together. The content on each individual topic is light but the combination makes the course very interesting. I enjoyed the opportunity to apply ML theories, which are usual dry, to solve real life problems. My only suggestion is to merge the midterm and final into one test given the redundant questions.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-04-29T19:11:18Zspring 2018

    Fairly easy class that teaches the very basics of finance and machine learning.

    Probably a good fit if you're interested in learning about finance or have no exposure to machine learning and are interested in a softer introduction. If you've already taken CS7641 Machine Learning and have taken a finance class in undergrad this class may not provide you with much new information. For me, it was a nice refresher on both topics.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 6 hours / week

  • Georgia Tech Student2018-04-24T23:54:52Zspring 2018

    Basic course for ML itself but a good introduction to Python/Numpy if you have no experience with them as it is barely any work except for 2 of the projects. I had zero experience with both Pandas and Numpy and still only spent 5-7 hours every week. I also enjoyed the finance theory aspect. It made me appreciate the finance side of things more than I thought I would have.

    The course itself will teach you not a lot new if you know even a bit about ML. The Q Learning RL project is interesting but is dealt with at a basic high level. I wish we spent more time on reinforcement learning.

    The trading part is basic for an ML course focused entirely on trading. Yes we build some technical indicators to trade on but don't expect to learn anything cutting edge for finance. No Deep Learning. No discussion on high speed algo trading strategies. I wish we were trading in a simulator in real time for our final project or at least had a Kaggle final project. That would have been cool.

    This is a good course if you're looking to get your feet wet in ML/Python but if you already took AI, RL and ML then it can be redundant. I recommend taking this course early on in your OMSCS career before you venture out to the other ML classes as it will be good prep for some of the harder courses.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2018-04-24T15:25:35Zspring 2018

    Love, love, love this class! A very gentle and applied introduction to ML. It also teaches you NumPy and pandas from scratch. There is a lot of info about this course publicly available at

    There are 8 projects in the class, and for the most part they increase in difficulty as you go along. The first two were almost nothing; they can barely be classified as projects. But it makes sense because they're supposed to serve as introductions. All of the projects were very interesting and fun to do. I have no previous ML experience (except for some basic boosting/bagging from CV but that was hardly a decent exposure, as much as I enjoyed CV) and that didn't hurt me in this class at all. It was so cool in the final project to program a trading system based on machine learning and look at the results. Code is tested on real stock data from real companies with some made up companies thrown in every now and then.

    All of the project info is available ahead of time (see the link above) with the caveat that everything is in "draft mode" at first and will be "finalized" later. For some reason this was a huge problem for some people in the course. They refused to start until the project was finalized, which is kind of stupid on their part. We were told repeatedly not to do that and that any changes made would be minimal. The biggest change that I remember is in the second project. We had to optimize something different from the previous semester's students. Aside from that I think one or two other projects had a minor change and all the others had literally no change. People blew this draft mode thing way, way out of proportion.

    There is a proctored midterm and a proctored final. Both are closed everything. The final is not cumulative. The midterm was extremely easy and was almost a regurgitation of previous midterms. It sounded like that won't always be the case.

    3 textbooks. One is required and is co-written by the professor. It's fairly cheap (especially for a textbook) and is a pretty good read. You'll definitely want it for the midterm at least. The other two books are Python for Finance by Hilpisch and the ML book by Mitchell. I can't remember if those two were actually required, but I didn't find them completely necessary. The lectures were enough.

    It's often said that a finance background is helpful for this course. I think what people mean is a trading background, not a finance one. I have almost no finance background but I do have a relatively extensive trading background, and that helped a lot. I think manual_strategy would be the most difficult for people with no trading background since it requires an understanding of technical analysis and indicators. This stuff isn't too difficult, but it is a lot to learn on top of everything else if you're new to it.

    That's kind of true of the course in general. It's not that this material is difficult, it's just that there is sometimes a lot of work in a short timespan. If you have a good background in Python or trading then it'll be less work, of course.

    This is a good first class if you can get in your first semester. Also, this course potentially pairs well with other courses, depending. I paired it with IIS and had no problems. If you have no Python background and no trading background then I don't recommend taking it over the summer. But, I do recommend this course in general overall.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-04-22T14:52:39Zspring 2018

    I really enjoyed this course and would definitely recommend it. It presents some machine learning concepts, like decision trees, gradient descent, and reinforcement learning, in a context with direct application. The ML methods were not discussed in too much detail but enough to give the students an understanding of how they worked.

    If you wanted to prepare for this course ahead of time brush up on pandas, numpy, and pyplot. You'll spin your wheels a while if you've never used these libraries. Some assignments can't be completed without leveraging the numpy and pandas matrix operations effectively (for loops cause the grader to time out) and there are some assignments that require reports with charts and graphs built with pyplot. All the financial and market information you need for the course is presented at the beginning and I never wished I had studied that before hand.

    I should mention that the course starts off a bit disorganized but that improves. Expect the first week or so to be on your own. Also, the assignment instruction are often in a "draft" state until less than a week before they're due but none of them had significant changes when they were finalized. Definitely, start them as early as you can. You might be able to wrap them up ahead of time and have some stress free weeks.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-04-09T21:31:39Zspring 2018

    This was only my second course in the program and I am enjoying it. It gives a good introduction of some ML algorithms like Decision tree, Random forest, Bag learners. Later you learn Q learners and dyna and use that to the trading problem for the last assignment. Although you get a choice to use some earlier algorithms learned in the class, most end up using Q learner to solve it. It is advisable to learn some Pandas and numpy as they are used extensively throughout the assignments. I had a tough time using pandas for plotting graphs but managed it well in the end. Learning how array slicing works will help a lot. Also learning how to vectorize will shave some secs off your run time and you get bragging rights in slack and piazza for this. Make sure you are active on slack and piazza as tons of great advise are given by some great minds in the class. If not for slack, I would have struggled to understand and approach the problems on my own. And finally, the TAs in this class are a complete joke. You are assigned a specific TA and the one I had did not show up for the Office hour. Barring a few TAs, most don't help much and just ridicule you on Piazza if you ask something obvious. Having said that, I liked prof Balch's humor and approach. He supplemented the udacity videos with some youtube videos and that helped greatly for solving the assignments. Overall a great class. No wonder this is one of the most popular course in the program and more than 90% of the students end up taking this.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-04-06T20:47:55Zspring 2018

    A good opportunity to practice machine learning concepts like decision tree and Q-Learning. Also a good course for practicing numpy and pandas. If you have extensive stock trading or machine learning experience this course is probably too easy for you. This is more of an intro course.

    Areas for improvement: Since the assignments build on each other it would be nice if the grading was faster. Also the assignments often don't get finalized until within a week of the due date. This created a lot of noise on Piazza in the beginning of the semester, but after a few assignments students realized that the assignments probably won't change much between draft mode and finalization so it's okay to work off of the draft version. Just be aware that the assignment descriptions are verbose so it is easy to miss a detail. I think improving communication regarding the assignments could save time for everyone by reducing the noise on Piazza.

    Overall I enjoyed this course.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2018-04-04T22:25:07Zspring 2018

    This was my first class in the OMSCS program and I am very glad that I was able to take it. I have never been interested in anything remotely related to finance, so I was slightly concerned about whether or not I would enjoy this course. Professor Balch does a great job explaining the finance content without assuming any prior knowledge about trading. I've actually had conversations with coworkers about day trading thanks to what I learned in this course. It is practical!

    I found the projects to be enjoyable throughout the semester. They do a good job of building upon each other as the semester progresses, and they're balanced appropriately. The two most difficult (time consuming) projects were spread throughout the semester. The midterm was fair and shouldn't be too challenging to anyone that stays on top of the course content throughout the semester.

    Major pro: all assignments for the semester were released in draft at the start of the course. This allowed you to work ahead if you knew you had scheduling challenges coming up during the semester.

    Biggest con: Although the projects built upon one another, we often had to copy and paste code from one file into another. I would have liked the different files/classes to interact with one another a little better. That being said, though, that's a pretty minor con.

    The coursework was never insanely difficult, but it did a great job providing an intro to some ML and RL concepts. I'd gladly take this course again and certainly recommend it!

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-04-04T22:14:36Zspring 2018

    This is my third course at OMSCS. ML4T is a fun course and well run. Professor Balch is enthusiastic about the material and is highly engaged in running the course day to day, which I think is really important for an online program. I've enjoyed the projects a lot - they give a nice intro into the various ML concepts as well as pandas and numpy. This class isn't the hardest I've taken, but it's not the easiest either. It feels like a pretty good balance, and an excellent first class to take. The projects are not a wash and require a good time investment.

    It's been my largest class with 500? people I think, which leads to the one drawback - it's difficult to stay on top of the Piazza threads and participate meaningfully. They just explode very quickly around project deadlines and before exams. I know it's something Professor Balch has been experimenting with, such as using reddit last term.

    Overall I highly recommend this course.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-03-13T21:20:21Zfall 2017

    Very well designed course. I actually took it just for the Python data science aspects and learned a great deal. One thing to watch out for is the assignments and submission windows are often open very late so try to plan accordingly.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-01-25T19:06:10Zfall 2017

    This was my first class in the program and I enjoyed it. I'd recommend it as a first class for anyone.

    Most assignments took me around 3-5 hours. There were two larger assignments with writing components which took me around 20 hours each.

    The class was well run overall although the assignments were usually not finalized until a week (sometimes less) before they were due. This is not a course that can be "front-loaded."

    A 90% is required to get an A, but since the assignments are mostly auto-graded and the assignments have clear grading requirements (like 10% for graphs, 20% for code, etc) 90% is very achievable.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-01-11T09:18:52Zfall 2017

    Great courses for anyone who is interested in both ML and Trading in stock market. The course was divided to 3 parts (intro to pandas, intro to financial market, ML for trading). This structure was excellent and really well-thought. Anyone with zero experience can get through this course smoothly (well you need common sense as well).

    Lectures are okay and well prepared. There are some recorded on-campus lectures that explained the assignment in details. The assignment was easy since you can test your code in the remote machine so if you ace it, it means full score. Exam and mid-term were okay, you can review 1-2 days before taking it. The reddit experiment was not working and I hope they stick to piazza in the future.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-01-08T14:21:24Zfall 2017

    I absolutely loved ML4T, the instructor and the TAs are awesome. The subject is very insteresting, the lectures and projects are well designed and organized. The only thing missing is that the projects could be more challenging. The professor is working on making the course more challenging, but it is still easy in my opinion. Despite that, I think it's totally worth it, I learned a lot and I recommend it to everyone.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 7 hours / week

  • Georgia Tech Student2018-01-06T09:11:53Zfall 2017

    Not a bad class. The first two assignments were a breeze; just a copy n paste from the notes and text. The third assignment onwards got pretty hard. PROS:

    1. Excellent test cases. Even the py.test files were given so you could see the expected answers for the test cases. Prof encouraged students to share test cases as well.
    2. Professor was very active on reddit. Seems like 50% of all posts were from the prof.
    3. Assignment expectations and deliverables were clear.
    4. Course was well planned and executed. CONS:
    5. Professor's posts were a little rough around the edges. If you have thick skin, then it won't be an issue.
    6. Prof's bully behavior encouraged bad behavior from students as well. Some simple questions asked by students got responses like "you don't belong here at GT", etc.
    7. Seems like prof was paranoid about class material leaking to future students. No suggested homework solutions were given. TA's were there to help clarify assignment details, but did not offer real help on homework. There were mistakes in notes, but were corrected in the video lectures (I think this was done to make notes useless to unauthorized people who get hold of the notes; just speculating).

    Rating: 1 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2018-01-02T22:35:13Zfall 2017

    Fun lectures, great assignments and crazy exams. The class forum on reddit was challenging to keep up with after having been used to Piazza. Programming experience would definitely help since most of the assignments are python heavy especially vectorization for performance. Overall I never expected to learn so much about the Trading domain and now I feel fairly confident managing my own portfolio; which I think was a big plus for me on the financial front. This course left me with an yearning for exploring the trading space - thanks to Tucker Balch - A great teacher indeed!!!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2017-12-29T16:02:43Zfall 2017

    The focus on this class seems to be more towards the trading side of things. If you want a deep dive into ML topics, this isn't such a class. There is use of ML techniques like Reinforcement Learning, but know that the main subject is trading in on itself. Fall 2017 was the first time Reddit was used instead of Piazza and I felt like this experiment didn't work out that well. For an academic class, Reddit just doesn't have enough tools to deal with all the announcements and tags needed. Professor Balch was great and very hands on though! He was quick to reply in all posts and questions and so were the TAs. The lecture structure has changed a little (no longer follows the order on Udacity) but otherwise they were straight to the point. The add on lectures on Youtube helped supplement the material and projects well. The projects don't take too much time to complete and sometimes all it takes is an "ah hah!" moment to figure out what you need to do. Great class to pick up as a first class.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2017-12-28T15:51:07Zfall 2017

    Going into this class, I had taken AI and knew a fair amount about stock trading. This class gave an introduction to Machine Learning topics as well as stocking market concepts and in a final project, allowed you to create a market trading strategy that was powered by one of several algorithms you learned in class. The course used Python and was light in a coding from my perspective as a software developer. If you were not a coder, getting up to speed with Python and Numpy will take a fair amount of time. Thankfully, as is becoming a trend in OMSCS courses, most of the assignments have grading scripts so you know the majority of your grade by the time you submit your assignment. There is the caveat that reports require manual effort to be graded and occasionally, there are additional test cases the TAs use that are not included with the grading scripts but still fit within the specifications of the project.

    Overall, this was a very enjoyable class that was fairly graded. There were two exams that were worth 12.5% of your grade each that were 30 questions in 30 minutes. As you'd expect with that format, you must be a quick reader and thinker but ultimately know the concepts very well to do well on the exam. For those that overanalyze or how to think through each exam questions, you will struggle on this kind of an exam and while the exams are not worth a large portion of your grade, you do need to perform decently to get an A in the class.

    As with most classes you enjoy, the Professor makes the class what it is as the instructor lectures on Udacity are extremely engaging and entertaining while also being brief and informative.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2017-12-25T11:02:09Zfall 2017

    8 projects (67% total) and 2 Exams (12.5%/each) account for the majority of your final grads, the rest points are almost giving it for free.

    For each assignment, you can check the project details here ( Do notice that each project is tagged as Easy, Moderate, Challenging, and Very Challenging. That's based on Professor's own experience, and MAY NOT suit your case. For me, the hardest project is manual_strategy, which was labeled as merely Moderate, while the Very Challenging one feels like a breeze. So, don't assume the time it requires for each project has a direct correlation with the difficulty labels. You may put yourself in an awkward situation.

    And regarding the exams, you'll need to answer 30 multi-choices within 35 minutes. You might argue about the limited time given, but trust me, it's perfectly sufficient to finish the test. I completed the Midterm & Final within 20 mins, and I still got 10 mins to go through each question before submitted it. No hard calculation, just concepts/ideas and shrubberies. If you could not answer it within seconds, I highly doubt that you could get the right answer out with more time given.

    Overall, if you 1) are interested in learning financial strategies, or 2) want to apply the ML approach you acquired to investing, or 3) need a intro-class before taking Machine Learning, I highly recommend this course.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2017-12-18T19:23:01Zfall 2017

    Interesting class. Material is not terribly difficult if you keep up with the class schedule. Assignments were good challenges, and I appreciated how they built upon themselves -- of course, if you get behind early on it's a challenge in later projects. Udacity Video lectures are effective and entertaining, the YouTube videos have important material but are generally too long and not as well structured. Professor B has a sense of humor that you will either love or hate -- if you want to prepare for this course skip the books and binge-watch some Monty Python.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 13 hours / week

  • Georgia Tech Student2017-12-18T07:28:53Zfall 2017

    This class is definitely a basic introduction to machine learning, with more of the class focused on using NumPy and Pandas and a few financial markets topics. In terms of difficulty, most of the projects are very straightforward, and Professor Balch provided additional videos that walked through pseudo code or algorithm outlines. Two of the projects are more challenging, but still reasonable. I would have preferred that some of the early easy projects be combined to allow for an additional machine learning project at the end. The huge class size (~700 in the online portion) exposed that there are limits to how high a class can be scaled before execution problems emerge. This class pairs well with other classes, as long as attention is paid to the higher workload in the last few weeks of the class.


    --Lectures were clear.

    --Professor Balch was active on Reddit nearly everyday.

    --The material was interesting and a good example of how machine learning is applied in a single industry.

    --There seems to be some measure of updates and improvements each semester, so there is an effort to refine the course over time.


    --The amount of lecture material is light, particularly in the second half of the course.

    --Management of the course was often sloppy. For example, the course started a few days late, project requirements sometimes weren't "finalized" until a few days before the due date, important clarifications of project expectations were sometimes contained in a single post buried in the Reddit megathreads that were hundreds of posts deep, messages to the class were infrequent or incomplete, it was often impossible to submit a project to T-Square until two days before the due date, wording of exam questions was often vague, and the checks for course participation were essentially abandoned halfway through the course.

    --There was very little feedback on projects.

    --The grading was slow for some of the auto-graded projects and participation quizzes.

    --It was a challenge to search the Reddit megathreads that were often several hundred comments deep.

    --Professor Balch's tone on Reddit sometimes didn't come across as very encouraging.

    --Some of the additional assigned shows or movies (e.g. The Big Short) weren't at all relevant to machine learning.

    --The answer key used to score the final exam had two incorrect answers (Professor Balch eventually acknowledged one mistake, but stood behind the other even though it directly contradicted an assigned video).

    --Professor Balch's frequent references to Monty Python are distracting and could be confusing to those that aren't native English speakers.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2017-12-17T03:09:49Zfall 2017

    I came into this class with little or no background in Python, Machine Learning, or finance. There was certainly a learning curve in all three areas but the course did a good job of introducing the material so that even a newbie like me could catch on. The lectures on Udacity are well done. The assignments are solid and teach you a lot (be careful, often they build on each other so you can't just skip one and think you'll be fine).

    I had two issues with the course - 1) assignments weren't finalized until a week (sometimes less) before the due date. The professor would say "you can use the old version to get started, not much will change" but both times I did that I had a few hours of rework once the final version was released. I am not sure why a course that's as mature as ML4T can't get assignments finalized sooner, my three previous classes released everything well before the due dates. 2) Reddit was not a good forum for the course. My guess is that anonymity was a factor, some students were downright rude to one another. Other students asked really simple questions that were answered clearly in the assignment or syllabus. I wonder if having your real name tied to the post would have reduced some of that. Also, the threads got too long. I had two questions that never got answered (slack was helpful when that happened). Other times replies would go on the wrong thread and it was confusing to read. I have nothing against reddit, but it didn't seem a good fit for this course.

    As for workload, some weeks I put in only a few hours, other weeks were more like 20 hours when a project was due. I was learning Python while doing the projects, so that may be higher than normal. Agreed with other comments that the midterm was tough to finish (I finished with maybe a minute left, and I'm normally a great test-taker). I finished the final with plenty of time, but several questions were ridiculously unconnected to course content.

    Finally, the tone of the class was a bit off to me. Some of the professor's responses on reddit were rude. I've taken other classes in the program where I felt like the TAs and professor really cared about the students and their learning. In this class I didn't get that vibe at all.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2017-12-12T22:56:48Zfall 2017

    Fun projects; entertaining lectures. Project difficulty seems to depend a lot on your coding skills; auto-grader scripts are provided and take out a lot of the guesswork around requirements (if the grading scripts work, your code probably works well enough to pass). Exams are pretty straightforward and don't rely on memorizing minutiae

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2017-12-12T21:25:12Zfall 2017

    Amazing class, super interesting material, great as an introduction to the program.

    Difficulty is lopsided - certain projects are a breeze, while others are much more difficult.


    • Great intro to ML, Python, Pandas, Numpy, Finance
    • Very interesting material
    • Manageable workload
    • Have all of the base work done to create machine learning trading strategies for real systems! I am seeing if I can apply my strategies to cryptocurrencies for fun.


    • Projects / Homeworks were often not finalized even 1 week before the due date. This made it difficult to work ahead.
    • Some exam questions tricky / unrelated to what was reviewed in coursework. Two questions on the latest final were about locations in the Big Short movie - who cares?

    Rating: 5 / 5Difficulty: 3 / 5