My Review of (ISYE 6740) Computational Data Analysis
Grade: A
Difficulty: 8/10
Rating: 9/10
Time commitment: 10 hours/week
-------------------------------
Overall
This course really should be renamed Theoretical Machine Learning in order to more accurately reflect its contents. This course goes over theoretical details of clustering, dimensionality reduction, boosting, SVM, neural network and regression models. It also touches on a bit of optimization and reinforcement learning.
It's overall an amazing course. No exam. Only homework & project assignments. There are 6 big homework assignments that contain lots of mathematical proof and derivation questions. I thought they were not that hard. Not because I'm smart but simply because any questions like "prove why OLS coef beta is an unbiased estimator" has been done a billion times already in textbook so you can always find so many good free resources online to help you understand and solve the questions.
Lecture Quality
- The lecture video quality is generally excellent. A lot of mathematical derivations done by hand by the professor. Every video is like 1 hour long, which some people don't like but I enjoyed them.
- They also show brief code/implementation example with some visualization, which helps to build intuitive understanding.
Assignments
-
Homework (70%) :
- There are 6 homework assignments, usually due every 2 weeks. Each homework has 4 ~ 5 questions, with each question having 1 ~ 5 sub questions. So the sheer volume of work can be overwhelming. None of the questions is impossibly hard but not trivial either. Overall it takes a significant amount of time. Took me anywhere between 10 to 20 hours. Every homework consists of about 50% theory quetions and 50% Python coding questions.
- Usually the format is "mathematically prove the property X of this algorithm Y" followed by "implement algorithm Y in Python without using any existing library" or "use any package to tune hyper parameter K of model M."
- I thought the every homework was so well designed. It has a perfect mix of theory (math) and implementation (coding), and really gets you hands-on in deep details. It really effectively forced me to learn and it was so rewarding.
-
Project (30%) :
- The project is extremely open ended. You can propose and work on any topic as long as it's ML related. It can even be purely theory-focused or application-focused. The ML model you use can even be a model that is not taught in the class. You can essentially do whatever you want. I did chose a topic in quant finance and compared various classification models.
- It's considered a group project but you can choose to do solo. I did solo.
Grading
- HW: some of the code is autograded in gradescope. The rest is manually graded by TA. The grading standard is so lenient that my average HW score was 103% including bonus questions. The median score was 95+%.
- Project: it's peer graded. Usually you get a reasonably score.
- Overall, no grading curve. 90% is the hard cutoff threshold. I believe more than 50% of the class got an A. My overall course score was 99.5%.
Thoughts
- It's arguably the best course in the entire OMSA program. The lecture quality is excellent and the homework assignments are so well designed. The project is a bit too open ended but it gives students opportunity to have fun.
- I liked how the course has no exams. Just 6 heavy (and hard) homework assignments with generous grading. It really rewards the hard work and meant to maximize the learning.
- One constructive criticism of the course is its schedule. The course is monster busy in the first 11 weeks. But then almost no work for the remainder of the semester. I didn't do anything for the last 5 weeks. I feel like they could've allocated more time for each homework instead.
Course administration
- TAs are super active on Ed forum to help answer the questions from students.
- There are so many office hours every week. I never attended any of them. But it goes to show how TAs are actively making themselves available to help.
Resource
-
You can get free tutoring service from students who earned letter grade A. (GT pays the tutors, so it's free to students). It's done on a platform called Knack.
https://grad.gatech.edu/knack-tutoring - Feel free to ping me for useful tips.
FAQ
-
[Prerequisite] How much math & Python do I need to review to prepare for this course ?
- [Math]: Definitely review basic linear algebra (e.g. matrix multiplication, eigendecomposition) and calculus (e.g. how to use chain rule) because the course jumps right into math from the first week. If you've taken 6644 (Simulation) or 6669 (Deterministic Optimization), then you will be fine.
- [Python]: Prior Python experience is assumed, but this course is not intensive on Python. If you've taken 6040 (iCDA), then you will be more than ok.
-
How hard is it to achieve letter grade A in this course ?
- As long as you put in the work (up to 20 hours per HW and project) and show reasonable effort, you will get an A. The grading is very lenient.
-
How does CDA compare with cs7643 DL (Deep Learning) ?
- I know these two courses get compared a lot as the hardest courses in the C track in OMSA. In comparison, CDA is focused more on math while DL is focused more on coding. Having said that, I felt they were of similar difficulty. But DL workload was larger.
Reference
- Syllabus : You can find past syllabi at https://omsa.wiki