CS-7646 - Machine Learning for Trading

Search for a Course:

    ML4T
    Toggle to Select Spcific Semesters

    Reviews


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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 well…you 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 lucylabs.gatech.edu 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.


    Semester:

    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


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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: https://www.youtube.com/watch?v=tkfxZ-tpZ6c


    Semester:

    cleared because omscentral founder is being a bitch


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Summary

    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%)

    Background

    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.

    Overview

    Here is a link to the syllabus: http://lucylabs.gatech.edu/ml4t/fall2021/

    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

    Lectures/Readings

    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.

    Exams

    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.


    Semester:

    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


    Semester:

    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.


    Semester:

    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!).


    Semester:

    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.

    Conclusion

    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.]


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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).

    1. 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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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)


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.

    Coursework

    • 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.

    Take-Aways

    • 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).

    TLDR

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Background

    • 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.


    Semester:

    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


    Semester:

    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.


    Semester:

    Summary

    • 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

    Good

    • 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

    Bad

    • 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

    Tips

    • 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


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.

    Frustrations

    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.


    Semester:

    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

    Recommendations

    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)


    Semester:

    See “Difficulty” and “Workload”.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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).


    Semester:

    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)


    Semester:

    Overview

    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.

    Projects

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

    Coding

    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.

    Reports

    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.

    Exams

    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.

    Conclusion

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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:

    2) 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.) 3) 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. 4) 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.


    Semester:

    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.)


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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 :)


    Semester:

    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.


    Semester:

    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.


    Semester:

    I found the course relatively easy but have a strong python background.


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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:

    Pros:

    • 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.

    Cons:

    • 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.


    Semester:

    Best course I ever had in OMSCS program.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    A joke, but it’s true for ML4T: If only life is as easy as ML4T…


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    Good intro to some machine learning terminology and concepts.


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Pro’s:

    • 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.

    Con’s:

    • 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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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).


    Semester:

    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.


    Semester:

    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 plt.show() 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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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

    Assignments:

    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


    Semester:

    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.


    Semester:

    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.


    Semester:

    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


    Semester:

    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).


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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).


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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).


    Semester:

    Not as interesting as I’d hoped, this is mostly a Programming in Numpy class. I withdrew.


    Semester:

    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.


    Semester:

    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


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    This was a fantastic course. The lectures, projects, TAs, and extras (e.g., wiki, sample tests) were great. I highly recommend it.


    Semester:

    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”


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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 util.py to standardize how everyone reads in the data. The only benefit this util.py 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 utils.py and when I ran into a bug, I changed the code in util.py to fix the bug. (I could have easily changed my code instead of util.py but did not read that I wasn’t allowd to change util.py 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 util.py 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 util.py. 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 util.py. I informed the TAs and asked for a re-grade with either my version of util.py or to let me update my code with their version of util.py. 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.


    Semester:

    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!


    Semester:

    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


    Semester:

    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.


    Semester:

    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).


    Semester:

    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


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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….


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.

    Tests

    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

    Assignments

    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.

    Piazza

    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.

    Do:

    • Watch lectures - Udacity
    • Start projects early
    • Post on piazza
    • Study for exams early

    Don’t:

    • POST DUPLICATES ON PIAZZA
    • 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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.

    Pros:

    • 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

    Cons:

    • 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.


    Semester:

    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.

    Pros:

    • 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

    Cons:

    • 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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Loved the content. Management could have been better. Will add a detailed review later.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Very good class!


    Semester:

    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.


    Semester:

    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


    Semester:

    Ah, to be able to take this course every semester!!!

    PROS:

    • 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.

    CONS:

    • 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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Loved the class.


    Semester:

    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.


    Semester:

    A good course for summer.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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!


    Semester:

    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 http://quantsoftware.gatech.edu/Machine_Learning_for_Trading_Course


    Semester:

    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.


    Semester:

    Pros:

    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.

    Cons:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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 .


    Semester:

    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.


    Semester:

    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.


    Semester:

    Took this with DVA


    Semester:

    This course was one of the better ones I have taken. I would recommend it to anyone in the program regardless of specialization.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    OVERVIEW

    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.

    PROJECTS AND EXAMS

    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.

    ENGAGEMENT

    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.

    TIPS

    1. Begin projects early
    2. Read a few research papers so that you can write your reports in a similar style
    3. View the course as an introduction and feel free to go as deep as your interest takes you


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    Overview

    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).

    Positives

    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.


    Semester:

    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.


    Semester:

    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.

    Assignments

    All the assignments are evenly spaced and equivalently weighted. I would recommend referring to all the information at http://quantsoftware.gatech.edu/Main_Page 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

    Exams

    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. _


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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 http://quantsoftware.gatech.edu/.

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.


    Semester:

    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.
      <ol>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).


    Semester:

    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!!!


    Semester:

    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.


    Semester:

    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.


    Semester:

    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 (http://quantsoftware.gatech.edu/CS7646_Fall_2017#Assignments). 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.


    Semester:

    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.


    Semester:

    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.

    PROS:

    –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.

    CONS:

    –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.


    Semester:

    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.


    Semester:

    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


    Semester:

    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.

    Positives:

    • 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.

    Negatives:

    • 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?


    Semester:

    As other students have stated, this course was easier in the past, but has progressively become harder and with very little room for any mishaps. There is no curve, and the mid-term and final exams are like sprints, you barely have time to complete them, and a lot of students actually weren’t able to complete the mid-term. The extra credit assignment is a joke, it requires more effort to complete than multiple projects combined, and it only contributes to 2% of your total grade. These horrible features of this course make it extremely nerve-racking, because you can easily lose a letter grade in the blink of an eye. It almost seems at times as if the professor dislikes seeing students do good in this course, and he tries really hard to prevent you from earning an A; I was able to earn one in the end, but it wasn’t an “easy A” at all. I personally avoided asking questions via Reddit, because of the snarky replies the professor would issue to students. The course serves as a good introduction to Machine Learning, and you get to apply Machine Learning to stock trading in the last project, which was awesome. Something else which you need to consider is the fact that projects build on each other, therefore if you fail to complete a project, or you implement it incorrectly, you will be toast.


    Semester:

    This was my first OMSCS course and it was a great class to get me back into the groove of taking classes. Professor and TAs were very active on reddit and the slack channel was great so it felt much more interactive than I have had with other online courses. Videos/Lectures were great as they were on point with the assignments. As many said, this is by no means an easy class, the projects build upon each other and be sure to start on the two week project assignments early as you are given 2 weeks to complete it for a reason.


    Semester:

    Great introductory course to Python and Machine Learning. Projects vary in difficulty but be prepared to start early for some of them. The projects took me between 3 to 15 hours each, depending on the length and difficulty. TAs and professor respond quickly on Reddit, and the other students are very helpful in providing suggestions and ideas.


    Semester:

    Love this class! The projects are very well designed and all build upon each other nicely. The second half of the course is a bit random at times (additional youtube lectures in addition to the normal Udacity lectures) which is due to additional resources added to the class over time. This semester we used Reddit instead of piazza for the discussion forum which works fine for me (although there are complaints from other students). Just keep up with the lectures and projects, remember check in regularly and you’ll do well in this class!


    Semester:

    I liked the material for this course. It was exciting at times. Unfortunately, the course is poorly run. We used reddit instead of Piazza for some reason and it seemed that no one’s questions ever got answered - and if they did, they were way too late. Assignments weren’t “finalized” until quite late and even then, you couldn’t submit them because the no one thought to add the assignment to t-square. Exams were a joke: trick questions, rote memorization of terms/formulas, questions about python/pandas output - even questions about plot points of a vaguely-topical movie. I’d still take this class, but I would prepare yourself for this sloppiness. I would also skip on buying the required textbooks: not useful for the course itself, IMO.


    Semester:

    Precursor: this course was without a doubt made more difficult (welcome to the OMSCS!). I’ve compared it with students who took it on-campus a couple years ago and there’s a staggering difference. 2 closed book exams, rather than 1 open-note midterm. Optional “difficult” extra credit assignments have become full fledged assignments.

    The class is great overall. My favorite aspect was the implementation of learning algorithms. I took RL and ML beforehand, but they were more theory based or had you use libraries. I felt like this refined some of my ML knowledge. I didn’t know much about finance or the stock market coming in, so I appreciated taking that away from the class as well.

    Getting a good grade is another story. There is no curve, and I could see it being easy to mess up one assignment and totally kill any hope of you getting an A or B. Thus in order to succeed, you have to come at it in full-force. Don’t underestimate some of the assignments. Start early or learn regret the hard way.

    The workload is medium. Probably just the right amount of class-work for someone employed full-time. Sometimes I would have to devote all of Saturday or my entire weekend to the class.

    The professor has nice lectures, but the reddit format was painful despite being a “redditor”. Join a discussion late, and your comments will go buried. I agree with the other poster who mentioned that the class isn’t the most flexible around the online student’s time. You have to make sacrifices to accommodate the class’s flimsical finalization of assignments, with short deadlines.

    If I were to go back in time, I’d still take the class again.


    Semester:

    This class is not easy, ignore all previous posts that say it is. The first couple of assignments seem light enough and then once you hit assess_learners it’s very time intensive. Not the most difficult class but not trivial either; expect to dedicate a fair amount of time to assignments.

    Another concern is that you will look at the schedule and think you have 2 weeks to work on something but really professor Balch won’t finalize assignment details until the week before it’s due.

    Overall a very interesting class with fun projects but the scheduling and workload were a bit uneven.


    Semester:

    Don’t let the early semester reviews fool you into thinking this class is easy. The class starts out simple with minimal time requirements but will quickly ramp up about 3 projects in. The ML section in the second half is extremely interesting, but you’ll be bored to death with the first half/midterm if you don’t care for finance.

    The projects are extremely interesting and well thought out, but Tucker often takes almost a week to finalize a project. Don’t wait to start on projects as a few of them are very time intensive. Overall a great introduction to supervised and reinforcement learning and would highly recommend.


    Semester:

    Overall the course content is great, but how the course is run leaves something to be desired. Be aware when the schedule is released that it may look like you have 2+ weeks for some assignments, but the professor will take so long in updating and finalizing the assignment that realistically you will have 1 week or less to finish it. And of course they won’t let you know when to expect the assignment to be finalized either.

    The projects can be quite interesting, and so far they’re decently (but not overly) challenging. Previous reviews mention the course “ramping up” the difficulty over the semester, but they’ve redone the schedule of projects so be aware that some of the more challenging projects (assess learners I’m looking at you) are now earlier in the semester.

    I would definitely still recommend this class as the interesting projects/materials make up for the communication/expectation issues and the professors snarky responses on reddit.


    Semester:

    Professor Blach and the TA staff were awesome. The material is relatively light and I wish I took this course before I took AI. It gives a gentler introduction into NumPy.


    Semester:

    This course has been really great. One thing I would be wary of is not just trying to skimp on the work or starting late on the assignments. The first couple weeks will make this class seem really easy but you will get hit later as the assignments can get a little more challenging. Overall I think the class is great to learn about some finance stuff as well as getting some experience with some Machine Learning.


    Semester:

    Very good intro to NumPy and Pandas. I use Pandas professionally, and the exposure to NumPy (which is the foundation of Pandas) was very nice to experience. Tucker Balch is a great instructor and the TA’s (Andrew Cassidy expecially) were excellent. The market fundamentals were nice to get to understand, and the lessons provided good information on them.

    Areas of the projects that would have posed most difficult (creating a decision tree algorithm ourselves) were covered very thoroughly in supplemental lectures. This took the overwhelming majority of guesswork out of the course, and instead tested the ability to implement, which I consider a good move.

    The final project actually didn’t grade on actual stock algorithm performance, which would have been extremely difficult (everyone is trying to beat the market, and thus very few can). Identifying unique stock signals is an important part of trading, and I didn’t have the time (nor millions of dollars) to conduct satellite surveillance of AAPL’s parking lot to gauge what the share price should be (this is actually done in real life). I think a good balance was struck on the final project regarding this.


    Semester:

    tl;dr: Tucker Balch, what an experience. Take this course.

    I came to it with hobbyist Python and 2 years in fixed income software. ML4T taught me from-scratch numpy, a handful of ML concepts/strategies, and a small taste of how equities managers from RenTech to Berkshire view their markets and trading opportunities. The numpy skills would have made it worthwhile alone, but you learn so much more if you give it the time it demands.

    Tucker encourages a lively Piazza, and supplements the official lectures with plenty of extra videos.

    I found the exams challenging but fair. Read the official study guides and previous exams. Ignore the student generated stuff. That worked for me.

    The course left me with an appetite for more ML, so that’s what I’ll take next. Entirely unexpected, but speaks to the quality here.


    Semester:

    This class was really going well for me, considering i was taking it with KBAI. I was getting an A on all the projects but I couldn’t do well on the midterm which was relatively a large part of the overall grade. The exam was filled with finance/stocks junk, unrelated with ML somewhat, making the class very annoying for me personally. I ended up dropping out of the class, only because i didn’t want to waste time reading about stocks and finance, and wanted to focus more on ML concepts in general. The technical material was easy to follow, and not overly complicated, It could have been an easy A for me, if it was just ML. It would be nice, if they redesign this course, remove the finance/stock material, and rename it to “Intro to ML”.


    Semester:

    I took this class thinking it would be easy but Professor Balch is really trying to end the stigma of this course being the easiest in the program. Wasn’t as easy as the reviews said! He wants to make this a serious class for future semesters. Beware.


    Semester:

    I really enjoyed this class. This was my 7th class in the OMSCS program and this one was one of the most practical classes I’ve taken. My undergrad included an AI specialization so I already had a decent understanding and moderate experience with machine learning. This class provided a good introduction to machine learning while still making the projects challenging enough for someone in my position to appreciate.

    My biggest complaint with this class has to do with the fact that I took it over the summer. I would highly recommend that you take this class during a full-length semester if possible. I wanted to spend more time appreciating the concepts I was learning/implementing… but because of the fast pace of the summer, was unable to do so. I also didn’t really appreciate that the instructors decided to add an extra exam this semester for the first time. It made the summer even more stressful than it already was.

    The class is divided into 3 parts: 1) ML, 2) the stock market, 3) combining ML and the stock market. There are several projects (all coding, some include reports), two exams (finally is not cumulative), lots of lectures (with quizzes), and a participation grade that usually came in the form of a survey sent to your email.

    You’ll need extensive knowledge of Python for this class.


    Semester:

    You’ll have a better time in this class if you took ML beforehand, so you can start off with a better understanding of the ML mechanics and focus on the financial aspects of the course. The projects were very fun, engaging, and was very applicable to the industry. Even though I got an A, I would hesitate to call myself a competent Quant.


    Semester:

    This is definitely not an easy class (my overall grade for the class was >95%), especially for a person like me, who don’t know much about either ML or trading. The exams were straightforward. The projects were of high quality and enforced students’ learning: a basic market simulator, a random-tree learner (and how to beat this type of learners), Q-Learning robot maze navigation, and a learning trading agent. That last project (a learning trading agent) brought together virtually everything we learnt in that class into a single project! It was super fun, but was hard and time consuming.

    In terms of time commitments, there were many quiet periods where nothing was due. But, I spent most of that time time reading suggested materials as much as I could. For instance, I read Prof. Balch book from cover to cover, skimmed Tom Mitchell’s “Machine Learning” book, etc. And so, you may end up with less than 15 hrs/week on this class.

    Overall, I came out with a well-rounded understanding of what’s going on in both ML and trading. Kudos to Prof. Balch for this solid class and his amazing organization. He was very funny and had a dry sense of humor. I would imagine taking his class in person might have been a very fun experience. Also, according to my fiancee, he had cute chuckles, which made her laugh.


    Semester:

    This class was quite the predicament.

    I came into it with minimal knowledge of python (literally what I picked up from CN) and minimal knowledge of machine learning. I had a basic to medium understanding of finance topics. I ended with an A in this class.

    The problem? Professor Balch is kind of an egotistical dick; it comes out in almost every one of his piazza posts. The midterm was 30 minutes long with 30 questions and about a third of the questions were detailed “what happens in this pandas/numpy code?” without access to internet or the python interpreter.

    The other problem? The final project is worth 17% of the grade but you’re only given two weeks to work on it (maybe fall/spring will be longer) and the final exam is plopped right in the middle.

    Supposedly the final project was split into two projects previously and they had MUCH more time combined to work on it. I still managed 100/100 on it, but it added a few points to my blood pressure.

    Overall? I’d still take the class. Just be cautious and heed the rubrics. You can get an A even if you stumble on the exams.


    Semester:

    The funnest course I have had so far. Starts kinda slow but the last 2 weeks were a total time sink.


    Semester:

    Each project was pretty easy, but we had about 8 so that was tough to keep up with (and most project descriptions weren’t finalized until a week before they were due). I really enjoyed learning about finance and trading, but wished the class involved more machine learning. The professor was very active on Piazza.


    Semester:

    Absolutely fantastic class. Professor is one I will never forget. Well thought out assignments, well planned lessons, and I learned a TON. Quite difficult, but thankfully there’s an autograder to help you figure out whats wrong and fix your solution before final submissions.


    Semester:

    This was a really great class. It was a good introduction to machine learning and finance. Up front, there is also quite a bit of material to get you up to speed on Python, Pandas, and numpy. The summer definitely felt pretty rushed, and they had to sort of combine the last two projects together. This was probably one of the easier courses in the program, but worth the time and effort. The professor was really engaged, and we had some really good TAs as well.


    Semester:

    I like this one. As mentioned in other reviews, it’s a good intro to ML, and exposure to many of the libraries you’ll likely use again to manipulate data in Python (numpy/pandas). The professor is active and engaged. Lectures good, assignments for the most part good (lots of busywork generating graphs though).


    Semester:

    I loved this course. Very interesting projects. Get to learn and apply ML algorithms in Python. Good for the resume. Best course I have taken.


    Semester:

    I was really looking forward to this course, but came away with a neutral view on it. The advantages are that the subject matter is pretty interesting, and you get to practice python in a pretty easy environment.

    However, like all OMSCS courses there is little to no feedback on your work. I’d love to see how to properly code some of the solutions to the projects, but I’ll never see how to do it because the course organizers are too concerned with plagiarism in future classes. So I’m left at the end of the semester with an ‘A’ grade and a whole bunch of shitty code that works only half the time. I took off a few extra stars for the disorganization of the projects. Again, this seems to be the hallmark of a Georgia Tech course, where requirements constantly change right up to the deadline. Even when the requirements are finalized, we often couldn’t submit until just before the deadline.

    Perhaps worst of all was the culture of Piazza during the term. Maybe we were just unlucky to have a high proportion of meanies in the class, but towards the end of term the forum mostly became a place to belittle other students, which culminated in a big, ugly, piazza fight. This kind of behavior was not discouraged by the TAs or the professor.


    Semester:

    Solid course.

    Pros: -Great as one of the earlier courses as it clearly explains the tools you’ll mostly be relying on (using numpy/pandas etc). -Fun intro to ML/finance topics for those with 0 experience in either. -Active Professor

    Cons: -Definitely an intro course as it doesn’t go very deep into the subject matter. -I wish it went deeper into using RL concepts to trade, discussing more best practices and the ‘real-life’ hard learned lessons that I’m sure the Prof. has picked up, as well as using derivatives (they’re only briefly mentioned). -I also wish that project/assignment specifications were finalized sooner. This was very annoying a few times. -The timed exams are silly. They’re reasonably weighted, but don’t have much value in terms of learning anything. -The Piazza participation requirement led to a ton of spam (“+1”s, memes, etc)

    Being proficient in Python is a big plus. People also struggled with selecting technical indicators. Just don’t over-complicate things. Finally, be aware that the class ramps up in terms of time commitment at the end, particularly for one project. My average time commitment was reasonable, but during one project I burned at least ~30 hours in a week.


    Semester:

    Good intro course to ML. Also I learned a lot on stock market. Thanks to the lectures and TAs!


    Semester:

    Good introductory class to machine learning techniques. Projects were also pretty fun. If you have an interest in the world of investing or speculating, you will find this course interesting.


    Semester:

    This is my first course in this program. I didn’t have a strong coding background before taking this class, so you aren’t worried. Professor and TAs are very engaged and active in piazza. The first two assignments are pretty easy, but the followings are getting harder. All of the assignments are very funny, you will enjoy it.


    Semester:

    This class assumes zero background in finance, numpy, pandas, and ML. It’s a very gentle intro to all of these topics. The first 2 weeks walks you through some useful features of python, numpy, and pandas. The pacing is excellent and not “drinking from a firehose”. After taking one of those famed “Baptism of Fire” courses in OMSCS as my first course, this course was very nice in helping me gain back some confidence.

    Fun Factor: Very High. The applicability of finance and trading (which I also have some personal interest in) made the ML concepts stick just that much better.

    I put down 10 hours / week, but it’s really more like 4-5 hours a week - potentially even less if you already have extensive python experience. Much of the time was spent fooling around with the people on slack (whose experience and camaraderie, I was told, was probably never to be repeated in the history of OMSCS slack channels). There were extracurricular contests going on to optimize code, etc. that sucked tens of hours each week.

    Professor Balch and a number of the TAs were ever present on Piazza which was very helpful.

    Like most other OMSCS classes, the #1 killer is procrastination. Many folks were apparently caught blindsided by some schedule “squeezes” that were not anticipated. Also, some folks were seemingly blindsided by not carefully reading the assignments. Every assignment has a grading rubric that serves as the specs for the assignment. Read those 3 times, then 3 times again before turning in the finished assignment.


    Semester:

    Loved the course. I learnt a lot in it and the assignments were fun.


    Semester:

    Pros: -Well organized class with worthwhile papers and lectures -Dr. Balch and TAs are quite active on Piazza. Reasonable questions are answered with sufficient details -Great first course for the program -Great intro to machine learning (decision trees, classification, regression, reinforcement learning) -Applicable! I went right into investing after finishing the course and made some decent returns :-)

    Cons: -Starts off with hand holding and as soon as deadline to drop comes, workload significantly increases. I remember procrastinating on MC3P3 and ended up spending 20-30 hours on it. -Depending on your interest, projects in the end can become time sinks. I really tried to get significant returns compared to the benchmarks!


    Semester:

    A fantastic first course.


    Semester:

    Very well organized class and the professor is extremely active on Piazza. The course material is very interesting and I highly recommend it. Some things are kind of silly - you can basically just memorize the answers to most of the midterm and final exam by answering sample questions over and over. I believe it’s easy to get an A if you watch all the videos since many hints are given on how to complete the assignments.


    Semester:

    Having taken ML, this course was a breeze (and even without, I’d recommend it as a good companion class to a more challenging one). Interesting introduction to finance… for whatever that’s worth! Lectures can be watched at 2x, but are pretty dull. Exams are super easy. Coding assignments have skeleton code and take maybe 6 hours including tweaking (see http://quantsoftware. gatech. edu/ for syllabus and projects). Two reports are a bit more time consuming, but not difficult.


    Semester:

    I really enjoyed the class, it gives a slow and gentle introduction into ML, python data science tools, and trading. Good class to take for the first semester.


    Semester:

    One of my top 3 favorite courses. Professor Balch is very involved which is awesome. The TAs were very good as well. Was one of the more “fun” courses I’ve taken in the program so far.


    Semester:

    This was my sixth course in the program. I came at this course after ML and RL, and have had previous experience in the securities industry, so I found this course pretty easy, but not without its challenges.

    The good: The material is really interesting, and Prof. Balch is incredibly enthusiastic about the topic. You get an opportunity to implement some ML algorithms from scratch, and you learn a lot about the markets. Personally, this course is where I learned how powerful and useful Pandas and NumPy are.

    The bad: Really, only one thing – the assignments are subject to change as late as a week before they are due. Usually the changes only require a few minutes of work to implement, but it is frustrating if you are the type of student who likes to move things from to-do to done as soon as possible.

    I believe this course would make a good first course in the program. It’s a gentler introduction to machine learning than 7641, and teaches some skills that will prove useful throughout the program. The finance knowledge is also fascinating.


    Semester:

    ML4T is my first course of OMSCS. It is overall a great introductive course to machine learning and stocks. ML4T consists of three mini-courses: (1)numpy and pandas, (2)hedge fund and stocks, and (3)basic ML methods (regression, kNN, decision tree, ensemble models) and reinforcement learning (Q-learning).

    Students may find certain sections easy or hard. For me, because I have already some experience on Python and ML but have no finance background at all, the second part is difficult for me. But as long as you watch the videos and do some reading, there is no problem. If you have no background in finance or ML at all, ML4T is a good choice for an introduction.

    Thus, I would recommend taking ML4T before ML7641 because ML4T doesn’t require a deep understanding of ML or math. It can help you get familiar with numpy and pandas, have a big picture about ML and RL, and understand its applications in stocks. If you want to go further, you can learn more in ML7641 and RL7642.

    The course is overall well scheduled. I can prepare things ahead and avoid big conflicts with my full-time job. But if you want to start an assignment very early (2 weeks ahead), be aware that the instructor will change the rubric a week (sometimes 3 or 4 days) before the deadline of the assignment. These changes would not ruin the framework or design of your codes. But you need to use your codes on different data and generate different results or graphs according to the new rubric. I think he did this to avoid plagiarism from previous assignments.

    The grading of assignments is exactly based on the rubric. The rubric is overall clear to me. But you do need to spend some time to understand the rubric correctly. For me, Piazza is a great resource. The instructor, TAs and students are very responsive on Piazza. Yes, there are a LOT of posts on Piazza, and a lot of duplicate posts. But it doesn’t bother me. It “reinforces” me to learn better by looking at other folks’ questions.


    Semester:

    A very enjoyable class end-to-end, with a mix of topics that keep it interesting. There are still three main sections: Pandas & Numpy, Trading/Finance, and ML. But the professor has continued to adjust the weightings to bring in the ML earlier and speed through the Pandas faster.

    The projects are interesting, with only one getting tedious (because of a lot of picky details about charts and formats). Don’t worry about some late criticism you may read here about “unclear” requirements – while not perfect, they were plenty clear for anyone who was paying attention – that is to say, most of the class. [Hint: if it’s a Classifier, it has to pick categories, not averages. ]

    Why not a perfect 5? Well, as mentioned the materials have been evolving to put more emphasis on the ML section. But what starts as well-produced, clear instructional videos gives way to a lot of fuzzy, hard-to-read slow-paced recorded in-classroom lectures with the occasional low-budget office hours to give important assignment instructions. It all works, but it’s a bit duct-taped together.

    Overall a continually fun and interesting class with phenomenal instructor involvement.


    Semester:

    This class was fantastic right up until the end, when the instructor sort of pulled the rug out from under some people. There was a somewhat subtle item in the most heavily weighted assignment (which was a paper and could not be auto-graded to test this). It was never explicitly stated what you should do about it, but if you did not implement it exactly the way the instructor had in mind you lost 30% of your grade on the assignment (4. 5% of your overall class grade). The requirement was never placed into the documentation, but it was apparently explicitly told to the TAs like some sort of “test” that the students be able to intuit exactly what the instructor was thinking.

    Overall, the class was great, but it left a very sour taste in my mouth at the end for Professor Balch.


    Semester:

    Good interesting course. Very well run and organized. Staff is responsive on piazza. You will get exposed to one application of machine learning. It is considered also as gentle intro to machine learning. Almost every 2 weeks there is a programming assignment in Python. Assignment in general are not hard and so were the exams.


    Semester:

    The material itself is interesting, but the grading methodology is garbage and communication is poor. Expect random unpinned forum comments to change or be the sole source of information about major project expectations. If you miss a couple of minor nuances in the projects because they are not officially mentioned anywhere and you didn’t read every single one of the ~thousand Piazza posts, you could lose a full letter grade or two, even if you know the material through and through. I enjoyed the first half of this course, but the second half has me considering quitting OMSCS. I’m still new to the program, so my review may be slightly influenced by my disappointment in the way classes are managed in this program, but I am majorly disappointed that this class is one of the highest reviewed courses in the program. I definitely had a much more professional and all around better experience getting on campus degrees where I felt that my grades actually reflected my subject knowledge.

    I certainly learned a lot from the class material, so I don’t feel like my time was wasted entirely, but everything else has been disappointing.


    Semester:

    This class was phenomenal. I haven’t taken any ML courses before, and this seemed to serve as a good intro. The course is divided into three modules - basically numpy applications to finance, intro to finance, and machine learning (with a focus on finance).

    The ML projects were the most work. It sounds like based on feedback, one of those projects was moved mid-semester rather than the end with the rest to attempt to distribute the workload a bit more evenly over the semester, which I thought was effective. Even with that modification, it was still the case that the workload was substantially more in the last month, so I’d advise future students to knock out all the lecture material in the first half of the semester. Conveniently, draft versions of all projects are available from the start of the semester, so I was able to work way ahead and not feel overwhelmed when April rolled around. Typically around a week before the due date there are some final modifications to the project requirements, which although annoying tended to be fairly minimal. I believe the intent was to make enough changes to prevent plagiarism from previous iterations of the course. Only once were these changes extremely substantial and disruptive (for the biggest project, no less), but all things considered I think this course was very organized and made it possible to start projects much sooner as compared to other courses I’ve taken.

    The second to last project was a huge amount of work for me, but the rest were a manageable level of intensity. The projects largely build on each other (most projects reused code from previous ones), so it’s essential to stay on top of them.

    The instructors and TAs were generally friendly and very active on Piazza. There was around a week near a critical deadline where they vanished which proved to be quite frustrating for many, but in the end I think being very active 15 out of 16 weeks vastly surpasses the quality of interaction I’ve found in other classes.


    Semester:

    Good course. Practical introduction to machine learning. Should be an easy A. Funny professor, good laughs on Piazza.


    Semester:

    This class taught me a lot about finance, but having been through ML, RL, and DVA (first run), I did not find this class particularly enjoyable. While it was neat to learn some Pandas and see the application of ML to the stock market, much of the ML application didn’t come until the latter third of the class. I’ve taken 9 classes in this program, and this one was the most disorganized that I’ve ever taken. Assignments were typically changed within a week of the deadline, submission windows were not open in a timely manner (in a couple of cases, only two days before the deadline), and Piazza was so noisy it became difficult to differentiate posts of actual substance (which may be credited to having 500 students in the class). Assignments often took many weeks to grade, and made it difficult at the end of the class to gauge if I needed to attempt the extra credit project since 36% of my grade was unknown. It was nice to have a utility that could run automated tests, but it ultimately had no effect on the project grade. This class could benefit from a tool like Udacity’s Bonnie to grade student assignments and return grades in a timely matter. Dr. Balch and the TAs were somewhat responsive on Piazza, but they disappeared towards the end of the semester. Overall, this is a class that should be taken prior to ML as a sort of introduction, due to its low workload and introductory material.


    Semester:

    This might be my favorite OMS course.

    The projects are structured incredibly well, each one building on the last. The course structure is very well paced and broken into 3 mini-courses - (1) Python/pandas, (2) Finance, and (3) Machine Learning. I learned a lot in this class and was inspired to learn more about computational investing.

    Dr. Balch is awesome, and class/TA/prof engagement on Piazza was super-helpful. Plus this had the most Monty Python references I’ve seen in a single class so far. As we all know, the Monty Python Index (MPI) is a pretty good indicator of high morale.


    Semester:

    This is my favorite course offered so far. I was already very interested in the stock market and this has me hooked on ML. So much so that I changed my specialization.

    Of all my classes I have ever taken these had the best projects. They were close enough to a real world example that they made sense and each one built on the other until you merged them all together at the end.

    If you fall behind you are toast because you will use the previous project on the next project.

    If you do the work and put in some effort it should be a fairly easy A. But, there is a lot of work.

    As a bonus, you will get introduced to Pandas which is my favorite add-on library for any language.


    Semester:

    I really enjoyed this course. I took it at the same time as Reinforcement Learning (very manageable to take these 2 at the same time). I see others recommending taking this before ML; I actually took machine learning first.. so I can’t really comment on whether or not that is a good idea. Dr. Balch and the TAs were active on piazza and in office hours, particularly in the last half of the course (where you actually need the help). Overall, you should take this course. I managed to get an A while learning a decent amount, and if I can do it… so can you!


    Semester:

    I am interested in the stock market, and I absolutely love this class! I wish there is a second follow up course. This course has lessons which give gentle intro. to python/numpy/pandas which I have not came across in other courses. Take this class before Machine Learning. I use what I learned and made more than enough money to paid for the course. Very useful, A++.


    Semester:

    Very fun course. I recommend you take this prior to Machine Learning as I think it serves as a good introductory course. I could have done without the finance portions of this course. It’s pretty simple, but if you are into trading, you will enjoy this course more than me. I had not done much Python before taking this course, but I have done a lot of Ruby and coding in many different languages. I will say that someone with more Python, numpy, and pandas experience will find this course easier than I did. It was not hard, but there was a lot of learning involved for me since I hadn’t used the libraries before.


    Semester:

    If 7641 teaches you the theoritical part of ML, this course helps you understand the practical implementations of it and how it can be applied to day to day activities such as financial trading. Good amount of introductions to pandas, and financial basics are given, Wish more time was spent on ML, but neverthless learnt a good deal


    Semester:

    The workload is tricky indeed - one can’t be warned enough about the last 3 projects, you will miss deadlines if you do not approach them with extra time allocated.

    Those who say that course is disorganized - well, it truly puzzles me, as the course is one of the best organized ones. Huge plus is that python+finance+ML all covered well enough, and tied together, so you really able to learn something (and that something is relevant, not some outdated/unnecessary stuff).

    Overall, more courses like this!


    Semester:

    A good course with lots of useful content made frustrating by the disorganization of the instructor. Projects specifications are often modified after release without any formal announcement (in some cases, up to a few days before the project is actually due), meaning that you have to keep checking the specifications in order to make sure that what you have done still matches the what is required, and in spite of the army of TAs assigned to this course, it still took forever to get grades back for any of the projects (even when they could be marked via auto-grader) - as at December 16, we are still waiting on part of our grade for a project submitted back in early October.


    Semester:

    This is an easy course especially for students with some ML background. Dr. Balch is a great person. He is very helpful and quick to respond. I also like his sense of humor. I liked the fact that we coded a decision tree and the q-learning algorithms from scratch. This course also can be paired with other difficult courses, such as machine learning or AI.


    Semester:

    The workload in this class was on the lighter side but they are continuing to tweak the schedule so your mileage may vary. A portion of the course is devoted to learning Pandas, a Python library for working with financial data. No other class I’ve taken has done this. Usually you have to just learn the libraries on your own or as part of project work. I lot of time on projects is spent endlessly tweaking parameters and re-running your models, which is not terribly interesting. It is rewarding, however, when you come up with a profitable model. Prof Balch was very involved.


    Semester:

    Very fun class. The professor(Balch) and all of the TAs were a ton of help in Piazza. The lectures were pretty good and the assignments were very engaging.

    I really wish there was more time carved out for the final third of the class as the difficulty and time spent really ramped up. The first two thirds of the class is prepping you with python lessons and some economic theory. Its not until the last third do you really start getting into the interesting machine learning stuff(which is really fun).

    Overall, WAY less time spent in this class than ML or RLDM. I learned a TON and it was engaging :D


    Semester:

    I liked this course, if you like machine learning and are interested in trading enjoy.


    Semester:

    This class has some fascinating aspects and some less interesting aspects. All of the harder parts in the second half are quite interesting whereas the beginning starts out a little slow and annoying with a lot of Python API introduction that could be done more efficiently (i. e. learn NumPy and Pandas API’s on your own).

    The class is worth taking for its own interest and also as an easy intro to Machine Learning. Be warned that the time requirements and any half-finished reports saying it is easy are very misleading. It starts out super easy and lulls you into a false sense of ease which will be shattered one or two days after it is too late to drop the class. After the drop date you will suddenly find the time requirements go up by about a factor of 5. The hours per week workload in the beginning it is maybe 5 hours or even less but after the drop date it can easily jump to 20 hours per week or more if you are not a “pythonista” or try for bonus points.

    Professor Balch is super engaged on Piazza which is awesome! One or two of the TA’s are also fairly engaged but the rest generally don’t help out on Piazza.

    Make sure you watch the schedule carefully. Make sure you pay careful attention to assignment requirements and always test on the GA Tech buffet machines or provided VM, especially for execution time restrictions. If you work hard, put in the required time, and ask lots of questions then the assignments aren’t too hard and can be aced. However, messing up one assignment, especially from something silly like using a disallowed library or not making sure it works in the grading environment can cost you a lot, possibly even a letter grade for a big assignment.

    One problem with the class when I took it was that the assignments were not finalized in advance, and sometimes not even until a couple days before the due date. Not only does this interfere with working ahead but having the requirements get changed after you already submitted is rather annoying.


    Semester:

    This was one of my favorite classes so far in OMSCS. Dr. Balch’s lectures are perfectly “bite sized” and he explains difficult concepts clearly and concisely. The professor and TAs are all extremely active on Piazza as well. The work load is not that bad but it does ramp up toward the end of the class. I would highly recommend this class to others!


    Semester:

    This is a good course that act as a good pair with 7641. While 7641 is strictly an academic exercise, this course gives a sound base for how machine learning works in actual industry.. Pandas could have been made a prerequisite than being part of the course… donno why all the negative comments.. This was one of the best run courses.. I have completed 7 subjects till date and never have seen a professor involvement so high.. A highly recommended course and an easy one too


    Semester:

    I signed up for this course because everything else was full, and I had considered changing my specialization to ML.

    Videos: To be called Machine Learning for trading, only roughly about a third of the class was about machine learning, and it’s embarrassing for a graduate level class. I’d expect something like this from University of Phoenix, not Georgia Tech. The first 2/3 of the course require minimal effort if you’re familiar with NumPy, as Pandas is pretty easy to pick up. The first 1/3 of the course is “Hurray! Pandas is awesome!” and taught in video by a TA. This videos are super short, and if you want to actually learn something about ML, read Mitchell’s machine learning book and the papers it references.

    Books: Python for Finance: skip. Everything in this book is online. Mitchell’s Machine Learning: If you want to actually learn the machine learning parts What Hedge Funds Really Do: Oversimplified, but an ok introduction. Used in the midterm, but way overpriced.

    The assignment specs don’t get posted in full until late, with many sharp edges on them regarding requirements. Most of the time you need to use Piazza and office hours to figure out what they actually want you to make. Assignments must be submitted with everything crammed into one or two *. py files. They also expect you to copy-paste code from your old assignment file into the next source file they expect you to make. Cool idea to build a module, bad implementation.

    Two of our homework assignments were to write questions for the midterm, and we were graded (originally) on the acceptability of the questions. Seriously?

    Take it if you’re in ML and need it, but overwise this class is too simplified to be useful in the real world.


    Semester:

    Good class with a very sneaky workload.

    This class covers pandas/numpy, finance, and ML algorithms. It does a nice job of tying everything together progressively. If you have taken ML in this program, you will find the ML section comparatively very light and you should pretty much know everything, but I do feel I gained something from having to implement some of the algorithms myself.

    If you had asked me half-way through the semester, I would have said this is probably the easiest class I have ever taken. But, the last third of the class covers the ML topics and the workload ramps up a bit, although it still was not too heavy. Just don’t completely sleep on it. I would love to have seen a larger focus on the ML section and I believe Professor Balch has indicated he may do so in the future. This is a good class to consider pairing up with a harder class.

    Finally, Professor Balch was awesome. He was amazingly active on the forums, held many office hour sessions, and overall just seemed genuinely interested in giving us the best learning experience possible.


    Semester:

    A class worth taking if you are interested in ML and Stock markets. Agree with comments I have read so far and I’ll add my take.

    Class spends one third teaching you Python/Numpy/Pandas. Professor already indicated that will shrink that part. I’d feel torn at leaving it out. I had already taken the ML class and had to decide by myself if to learn R or Python while at the same time going through lectures and that was painful. So overall I’m on the side of leaving that part in but shortening it.

    I loved that professor asked to implement everything ourselves without relying to any library (other than numpy/pandas). There’s nothing like implementing an algorithm yourself. Even something as simple as KNN has its tricks when implementing it.

    I loved that the assignments were somehow at par with the class. Every assignment is an increment over the last one. You get to build your own market simulator (or backtester). Stock trading strategies and then ML algorithms for it.

    Professor was incredibly engaged throughout the class. He hosts several hangouts of an hour or more himself. He’s amazingly active in piazza. Piazza becomes a firehose of posts and the professor replied to at least one third of them with followups.

    If there would be a second part for this class I’d definitely sign up!


    Semester:

    The course material was fascinating and broken down nicely. Professor Balch and his team of TA’s were the most impressive in terms of responsiveness and clarity I have seen out of this program. Posting to piazza did not feel like throwing your seed on the rocks as it sometimes did for other classes; there was always a swift response either from the instructors or classmates. My one complaint was that the order of assignments left all of the hard work for the end. Professor Balch actually indicated that he was going to take our feedback under consideration and adjust that, which is yet another aspect that indicates that he really cares and wants the class to be a success.


    Semester:

    I found this class to be extremely tedious. The documentation for the assignments was very lengthy but somehow always seemed to leave things out. For example, marketsim. py: there is no way you are getting that assignment working without the office hours (which has nearly line-by-line pseudocode). On the KNN assignment, the assignment page did not clearly specify the runtime requirement, so I ended up rewriting my solution. Etc and so on. The course work was way out of balance, with the first half (or so) of the course having almost no work and the last half being heavily loaded. Also, I felt like the list of hundreds of questions to “study” for the midterm was counterproductive, as these questions were student written and just generally hard to parse. A lot of my frustration came from Pandas (a python module) which has a really annoying and backwards API and doesn’t adhere to the way things are generally done in Python. Overall I spent hours and hours googling ways to do stuff in Pandas, reading piazza, pouring over the assignment docs, etc, which just somehow doesn’t feel really rewarding.


    Semester:

    Professor Balch & TA’s,

    Thank you so much for doing an amazing job running this course. The response time for this course was amazing. I don’t know how you all managed that, but this shows the dedication with which you all work and value your job. Congratulations!

    Any feedback without mentioning the lecture videos would, to me, be unfair. For ML videos to be not boring is a monumental task, but I, and I think remaining class shares this sentiment, rather enjoyed them and would listen to them in extended sessions. So, Congatulations on that too!

    The assignments about 80/85% of the time are well managed and well explained, with a clear rubric set for students to meet. In comparison to other better-managed classes, I’d rate this aspect of the class up there with the best.

    On the improvement side, I’d personally like to see following: Mid-term question creation should be replaced with better directed assignments/projects. I didn’t see any value in them. Sorry :( Some might not agree with me, but I think first mini-course should be left for students to explore. I’d rather start with Mini Course 2 and ML part immediately afterwards Right now, the course gives a touch of ML for Trading systems. I think this leaves room for more “in-class” experimentation. Perhaps more algorithms, ideas etc… I’d rank this course from easy-to-medium difficulty; but, I think it should be, with some more directed effort towards ML and its experimentation with Trading systems, medium-to-high difficulty range. Lecture videos are so good that I would love to see more of them. Other ML algorithms, their analysis etc… Perhaps students don’t have to be assigned tasks from them if it becomes too much, but still they can always see them and learn from them in their free time.

    I have had great fun with this course, and I hope everyone else has too.


    Semester:

    I thought the class became really involved past the midterm. It became more or less like the KBAI project where all the pieces you built (simulator, strategy, ML algorithms, training/testing harness) have to be ready to go for the final project. Any bug from the previous projects is going to cost you time in debugging. Also this class is also going toward automated grading testcases, so without test harness, I could see many people have trouble getting good grade on their projects. Had all the optional parts (implement boosting, ling and knn analysis, all parts of the final project scaled evenly) and test harness not allowed to share, i could see the whole class drops half-to-one letter grade average. By the look of the grade of final project, probably less than 15% people actually implemented QLearning trades generator, which is really the whole point of the class.

    Toward the end, you are building a QLearning agent to do automated trades generation, which is quite cool to detach QLearning from the more common “robot in a maze” application. The future offering is likely to disperse the loads a bit more so the end project isn’t so compressed where the common time working on them is upward of 30-40 hours. The future iteration also going to bring back Decision tree next semester, and “deep learning” at some point. This course has the potential to mature into a really good course.


    Semester:

    Engaging course run by a professor who has good industry experience. Cumulative approach to projects where each one built on the previous one. Overall a very enjoyable course. The final assignment which involves building an RL trading agent is the toughest one - if you can complete it then you already have a head-start on the RL course !


    Semester:

    If you are really interested in the stock market and ML then this is a great class. This class won’t teach you advanced concepts around the stock market or ML but it gives you a solid base to build on. One of the pieces I really enjoyed was implementing the ML algorithms vs. just using them from a library like scikit. This class is all in python (which can be good/bad). As I already was familiar with python, the first couple of weeks were fairly easy other than learning the ins and outs of the numpy and pandas libraries. The projects definitely ramped up as the class went on but I really liked how the professor made each project build on top of each other. As long as you stay on top of your projects, build out your projects modularly, comment your code well, and don’t overly procrastinate this class should be relatively straightforward. The midterm can be a bit tricky with the programming problems but the professor did provide a great study guide - use this and you will do fine on the midterm! Also, Professor Balch is extremely active on Piazza which was a nice surprise (I was not expecting this). Disclaimer: this was my first OMSCS class so I have no other OMSCS classes to compare this to.


    Semester:

    One of the great classes I have taken. While it provided a nice intro to ML, the projects were challenging and interesting, with lots of scope for experimentation that kept me hooked. One of the coolest professor and head TA I have seen in the last 4 semesters. Workload will vary. But if you are inquisitive about trading, then this course is definitely recommended.


    Semester:

    Unlike some others who have stated this class was super easy, I will contrast and state I thought it was very challenging. I would not consider it hard, but it was very time consuming, especially toward the end. The first several weeks are no more than a few hours week. After the midterm, the projects get very difficult and toward the end, I was spending upward of 40 hours a week working on them. The first few assignments are very much ‘hand holding’ to give you direction. The last few are much more like real world programming assignments where you are given a task without much direction and have to figure out how to do it. Expect to spend lots of time Googling.

    The first half of the class was easy as it slowly allowed you piece by piece to assemble the final projects. The interesting thing about this class compared to any other I have taken was that everything builds on top of what you have previously done. You will insert code you wrote at the beginning of the course into the final assignments. One piece of advice I will give is to make sure everything you write is commented correctly and modular enough to be copy/pasted into another file as you will do this almost every week.

    One thing I did hate in the course was the midterm. It was very difficult (I got a high C. ) The reason for this is that half questions come right out of Professor Balch’s book, and the other half are programming questions. (ex. What is the output of dFTrading[:, 1, ‘IBM’]) I have never in my life taken a programming test on paper like this. I can figure that kind of stuff out all day long on a computer but struggled to do it in a multiple choice exam.

    Overall I really did like the class. I have an interest in the stock market, so the material was right up my alley. If you find finance boring you will likely not get as much out of it. Make sure you have at least intermediate level Python skills. Brush up on Numpy and Pandas before taking the class and you will do well.


    Semester:

    Although the course was not hugely challenging, I think it gave a great starter how to use Python and build Machine Learning algorithms. I feel much more confident now using numpy and pandas which has set me big time for the next courses and data mining in general. Building the KNN learner from scratch was AAA+… I can now look at any of the sklearn algorithm’s and I know the concept they use to declare, fit and predict, which makes it much easier to deconstruct the inner workings of sklearn and other python based ML algorithms. Finally professor Tucker was great, he seems like a busy man with all his extra curricular activities but was very involved in the class day to day.


    Semester:

    This is by far the easiest class I’ve taken in OMSCS.

    The course is mostly about Pandas/Python, then about the stock market and at the end a bit of Machine Learning.

    I would suggest this as a good course to learn Python and get an intro to Machine Learning. But the ML part is a bit disappointing mainly because they take sooo long to get to it. The class would be better if they compressed the first two units and focused on the ML.

    Great class to take with other classes. Not much background needed.


    Semester:

    A really great class on its own, but Professor Balch’s constant presence in Piazza makes it a game changer. He and the TAs are insanely responsive and always have a nice mix of hints & wit in their replies.

    The assignments start off pretty simple and ramp up near the end. The third section can be challenging but very satisfying to see things working. The lectures are really wonderful, and the textbooks are also fantastic, which is something I rarely say.

    My sole complaint is a big one: the mid-term. Essentially the class compiles a list of questions for the mid-term, which culminates into a 700-question bucket. Those who did well largely memorized as much of this as possible. It seemed like a large amount of busy work and taking exams based on memorization is a pretty crummy way to spend a Sunday.

    So prepare for a really great, fun course with one bummer in the middle. All in all, highly recommended.


    Semester:

    I was looking forward to this class immensely, haven taken the previous version on Coursera. Its an extremely interesting class in finance and machine learning. You will learn the basics by which to model and test theories for trading. Its a well done course and assignments are quite structured. The instructor is awesome.

    I wish the class was harder and covered more material. Its a great intro, but a follow up classes would be even better.

    I would liked to see more on how to implement systems at scale, quantifying different signals, methods on how to automate trading with API’s, etc.

    Highly recommend.


    Semester:

    This class is bringing up the frustration level like that other classes in OMSCS, that have been suffering through growing pains. The Class alternates between to simple and too difficult, and the professor is constantly updating the material slightly to account for problems. The exam was the proverbial “sh*tshow” of make up your own exam questions, and trying to answer them on the real exam in under a minute. Apparently people memorized the answers and blew the curve; not the intent that the prof had. I am sticking with the class so far, but I’ll W out if it my frustration level increases anymore.


    Semester:

    Good course. It started very easy and in the end it was a bit harder. It is splitted in 3 mini courses. I would have loved if the first mini course were shorter and the third one deeper. Personally I spent like 4 hours/week during the first weeks and around 16 hours/week during the latter ones.


    Semester:

    Very easy towards the first 3 months. Last Month (Mini-course 3) gets very involved. So around 5 hours/week for the first 3 months and then 20 hours for the last three projects.


    Semester:

    This class is easier up front (unless you’ll struggle with Python), and a satisfying challenge toward the latter end. I love that everything builds on prior work. Be aware of that, and make sure you get your earlier projects completed correctly. Writing them in such a way that you can understand and modify pieces later is also useful. The lectures are informative and entertaining. The ML topics were much more approachable here than in the Machine Learning course, but my perception is also skewed since I’ve already taken it and learned the concepts. The workload was manageable. Anyway, I loved it!


    Semester:

    For the most part this is an “intro” course for finance, machine learning, and the programming libraries used (numpy, pandas, and python in general really). If you are already an expert in all of those areas then this course will probably not be very informative, but otherwise the course should work well as a first look at those topics. Especially if you are a novice programmer, I would recommend this as one of the few in the OMS program that involves a lot of coding but does not assume much previous coding experience. In terms of both finance and machine learning, only the very basics are covered, but you will get practical experience working with both in the assignments which can help if you decide to pursue each further in the future (such as by taking the Machine Learning course).

    In terms of the course structure, it is heavily programming project-based. The early assignments are very simple but the later assignments become more involved and give more room to go beyond the minimum requirements for extra credit. In the semester I took the course, there were many major problems with grading the assignments which was the only major downside of the course in general. Assuming those issues are resolved for future semesters, the assignments overall are fun and apply the material from the course well. The course was supposed to have both a midterm and a final exam, but the final exam was cancelled due to logistical reasons. The midterm exam was fair in terms of questions although it did involve a lot of memorization for things like library API details and financial formulas.

    Overall I would say that if you are interesting in learning the basics of these topics and like working on small programming projects this course is a good choice.


    Semester:

    Very straightforward course, approximately 80% of the course grade is programming assignments/labs. These will most ofteb be less than 20 lines of python, but code-reuse is common from lab to lab, so bugs will quickly propagate and cause headaches later. The lectures are interesting, if a bit slow. Overall they illustrate the concepts well and make the labs straightforward.

    Take this class with a more difficult one- I took it alongside CSE 6220 and found the balance to be excellent.


    Semester:

    First time this course was offered, very bumpy, but the professor is incredibly responsive and able to keep things moving.

    Very interesting course work, lectures are excellent and a great pace, assignments help you learn a lot and give you lots of tools for you toolbox.


    Semester:

    As the other comments mentioned, the first 2 sections were very easy, almost trivial. The last third was really the meat of the class and very interesting. More involved. The first iteration of the class had many logistical problems with auto-grading. Hopefully lessons have been learned and future classes will be better. I really enjoyed learning about the financial side of trading and it was a good hands on ML use case.


    Semester:

    This class is the easiest OMSCS class I’ve taken. It gives intro to python/pandas and finance. Then has a part on ML.

    The ML was very informative if brief. I believe it is a good quick intro to ML and this class would be good to take before the ML class.


    Semester:

    I’ve previously written a review midway through the semester, but wanted to update it.

    The first two of the three mini-courses in this class are very easy. The projects in the final machine learning mini-course get a little more tricky. I was basically watching four or five lectures the day before the assignment was due, not having any problems, coding the project, and getting solid marks. Do NOT try to do that in the ML portion of the course.

    The ML concepts are not difficult, but the projects can take a little work to get right. I probably spent ~16 to ~24 hours on each of the final three projects. Consider me your own personal Jacob Marley, coming back from beyond the semester warning you to do as you should, and not what I did. Respect the final mini-course, and you’ll be fine.


    Semester:

    This has been a very interesting course… mainly because I’ve had some business background and have had an interest in computational finance. The projects have definitely been beneficial, but the organization/timeliness of the course team and how/when these projects were presented and what they actually covered was a bit disappointing. Yes, it was the first semester this was offered, so I expected it to be imperfect and feel the students have had grace for that. Going into the semester, I was thinking that between the two brand new courses I was taking, this would be the more organized b/c the instructor had taught this multiple semesters, already had a class website, and had an environment already setup. Another of the disappointments I have had are that many of the final projects have been filled with coding the underlying ML algorithms from scratch rather than actually applying ML to the quantitative finance domain. It seemed that ML knowledge was prerequisite for the course, so I therefore thought that’s what the course was about. I’d expect some of this implementation of the basic workhorse algorithms in ML to be in an ML class… kind of like our implementation requirements of 7641. With that mindset, it seemed rather frustrating to receive project assignments approx. 1 week prior to the due date that were requiring this type of development… and again, not necessarily tied-to the trading / computational finance domain. I wish we could have spent the time working on some of the things that the extra credit proposed instead of working on developing my own KNN learner, bag (bootstrap aggregator) learner, Qlearner, or Dyna.

    … All that said, it really was a great class and I learned a lot. I actually began really liking Python through this course… it’s mandatory, so be ready. Those taking the class do come away with a decent set of software that could be further developed to make a nice personal trading system…. or, if motivated enough, I suppose you could even start your own hedge fund.


    Semester:

    This course is a really enjoyable and practical. You will definitely learn a lot if you take it, both in terms of how to think about financial data, some financial concepts, how to work with Python libraries (especially NumPy and Pandas), and some machine learning topics.

    I think this course would be a great course to take before Machine Learning, because it introduces you to the topic of machine learning in a more gentle manner than the Machine Learning course. I paired this course with Computability, Complexity, and Algorithms, and that worked out okay.

    Even though this course was not extremely hard, I actually feel like it is one of the better and more beneficial courses in the program. It is both highly practical and very enjoyable. And I think that is true even if you never write another piece of code having to do with trading after the class is over.

    One thing to keep in mind. While the workload is lower during the beginning of the semester, the projects towards the end of the semester are significantly more time-consuming. So keep that in mind when considering your schedule.


    Semester:

    I had been eyeballing this course ever since it showed up in the list of future offerings, so I was glad to be able to take it before I graduate. This is a fine course and most will enjoy it very much- I certainly did. The typical first-run course snafus with project definitions and scheduling were compounded by some medical problems that the instructor had during the semester, so our experience might not be all that representative going forward. That said, almost 2/3 of the semester were spent on just getting some basic concepts down for python and finance, and we didn’t even approach any ML until almost November. The projects themselves were fine. Because of the problems that I mentioned, we had a short runway to complete some of the projects (we didn’t get the description of one of the projects until after the planned due date had already passed), and they had to shuffle the syllabus around a bit to accommodate (including dropping the final exam). I assume that wont be a problem in future semesters. They went away from an autograded project to a written report on the later projects, and finishing the report proved to be time consuming for me. But they are flexible and provide 5 late days for projects that you can use however you want during the semester.

    Great instructor and staff, and a fun course. You will enjoy it!


    Semester:

    Material is good. Assignments are easy mainly because of the way they are structured rather than underlying problems being very simple. Mini Course 3 (ML part) seems pretty good. It can be taken before taking ML course. Being inter-disciplinary, ML4T covers data analysis in python (pandas/numpy/matplotlib stack), portfolio management basics, and of course ML. Hence coverage of each field might feel shallow to many people but it definitely is an intersting and very practical mix. If your other course in the semester is very demanding (e. g. ML or CCA), ML4T can be a very good choice. If you are interested in trading, then it can give you a decent start, esp. given the effort to reward ratio.


    Semester:

    High quality lectures, to me the best on this program. Concepts that could be complicated are made so easily understandable. Office hours are daily I believe, which is pretty impressive in my opinion. Projects very cool, but too easy. In fact, I think the issue with this class, at least this run is that we had not as much hands on as I thought we would. In any case, highly recommended.


    Semester:

    This is an interesting course that offers good practice with Python and Numpy. We haven’t gotten to the machine learning parts yet, but the finance assignments have been generally fun and interesting. I would recommend this class for new students because the coding assignments aren’t terribly difficult for those with a programming background.


    Semester:

    Similar to comments above, we haven’t done the ML parts though the ML parts look like a very quick overview of regression and reinforcement learning. Currently if you work heavily with Pandas and NumPy the course will be quite straightforward, however if you have never worked with these tools then there might be some learning you should do beforehand. Given my finance and Python background the course so far has mostly been revision for me so far.

    The projects and homeworks have been Very Easy. In fact, one of them I solved with a single line of code.


    Semester:

    The first part of this class is a review of some Python/Numpy/Pandas functionality. The second are some basics of finance. And the third gets into the ML part. The pacing of the class could be faster and the content more comprehensive. One difficulty is since the pace is so slow I tend to forget but its not hard to relearn.

    The assignments for this class have been Very Easy. One I was able to solve with a single line of code. The midterm is closed book, closed everything so I guess that’s an opportunity to review everything and hopefully retain it all.

    The professor has been very involved in Piazza and gives special live lecutres now and then which are very much appreciated.


    Semester:

    This course is very interesting and quite doable with an additional course. The programming part is not time consuming and most of it could be finished off in a day. The best part of this course are the TAs and the professor who are are super active on Piazza. This helps in sovling the queries very quickly and you feel involved in the class. Haven’t given the midterm yet, so can’t comment on its difficulty.


    Semester:

    The material here is interesting and I love the project structure. You gradually build up a Python module that includes all of your code from prior projects, ending up with a working market simulator that you can use to backtest trading strategies. That said, I feel the course suffers a bit from its Coursera background and desire to simultaneously be ML for finance students and finance for CS students. It’s very, very easy, covering the very basics of portfolio management but only including long and short equity positions, nothing on derivatives, fixed income, FX. If you’ve used NumPy and pandas before, you can basically sleep through the first month of the course. I was hoping for more coverage of times series analysis and how to deal with non-IID samples, fat tails, heteroskedasticity, etc. , since we seem to just assume IID and approximately normal in developing ideas in the base ML course, but I guess this is a CS program, not a math or econ program. The other issue here is they’re revamping the assignments on the go from what they used to be in the Coursera course, presumably to make them more challenging for grad students qualified to study at Georgia Tech, rather than the 10, 000 who used to take the course for free every few months, but they’re not releasing them on-time and we’ve ended up with a great deal of dead time between finishing something and having nothing else to work on. Hopefully future iterations will get that worked out and involve a lot more programming.


    Semester:

    I don’t understand how anybody likes this class. The lectures are very weak and the class has been poorly run. In terms of my experience, I would rate it just slightly better than Computer Networks, which is widely understood to be the worst class in the program. The saddest thing about this course is the difference between my excitement going into this semester and my disappointment during it. I was looking forward to this class so much, and it’s been a tremendous let down.


    Semester:

    Dr. Balsch does an excellent job of explaining concepts. I’d go so far as to say that he baby steps you through concepts in the lectures. The workload is very manageable thus far. I also find the material interesting. This has been a ‘fun’ class and not just one that I had to slog through due to requirements. I’d say that you can take this and enjoy the semester without a crushing workload. I also think that if you’re in a hurry, this would be great to pair with another course.


    Semester:

    The material: I am an avid consumer of economics, I am far from knowledgeble, but going to this class I feel like an astrophysicist wannabe ending up in a astrology class. It should be a FOREX course on the ‘Get rich fast’ channel on You Tube, not a class at GT. Last year I watched Andrew Lo’s ‘Finance Theory’course on You Tube just for fun, this year I can bearly get through this nonsense, with an exam pending. The way the class is ran: As people mentioned, it is poorly managed, close to ‘Computer Networks’, far, far away from KBAI.