CS 7641 Survival Guide: Strategies and Resources for OMSCS Machine Learning

Acing ML: Notes & Practice Exams for an A

Anika Neela
5 min readJan 3, 2024

Machine Learning, often considered a challenging OMSCS course, has deterred many from pursuing the ML specialization. In this article, I share my successful journey through this demanding course and offer insights to help you thrive as well. Let’s alleviate those anxieties together!

[Note: Familiarity with the OMSCS Program is assumed; if not, you can learn more about it here.]

Semester Course Adjustment

I completed the course in Fall 2023, the latest term available. Since Dr. Isbell’s departure, the teaching staff has significantly revamped the course, and are continuously refining it. Here are some notable changes:

  • They permitted the utilization of AI for coding and, in fact, actively encouraged it, emphasizing that the focus is on the analysis derived from the experiments being coded rather than the code itself.
  • They transitioned from essay questions to a multi-select, multiple-choice format for both Midterm and Finals, constituting 50% of your overall grade. It’s crucial to prioritize these sections. Below, I’ll provide the resources (such as practice exams) that contributed to my A grade in this course.
  • They implemented a change, preventing students from accessing all projects and assignments at the beginning of the course. While this adjustment may not significantly affect you, as many, if not all, of us were already grappling with meeting deadlines, let alone working ahead.
  • They introduced project FAQs on Ed. For every assignment, the TAs (a big shoutout to Dan) compiled FAQs providing additional details, valuable suggestions, and explanations to clarify assignment expectations. These FAQs were instrumental in refining my draft.
Photo by Chris Ried on Unsplash
Photo by Chris Ried on Unsplash

Genuine Tips

  1. Leverage ChatGPT or your preferred AI for coding assistance and report paraphrasing to ensure conciseness. Strict adherence to page limits is crucial. I highly recommend utilizing Overleaf (LaTeX), particularly with IEEE templates, as they can significantly optimize your space usage.
  2. A surprising aspect in this course was the inclusion of the Reference section in the page limit, which differs significantly from other OMSCS courses. Personally, I found this unsettling as it seems contradictory to encourage extensive use of online resources while restricting the page count for references. Considering that the grading primarily focuses on analysis, there’s a dilemma where sacrificing references to make room for additional analysis becomes necessary.
  3. Avoid dedicating extensive hours (definitely not days) fine-tuning your code experiments for optimal performance. I’ve witnessed many who invested excessive time in this only to regret it later. Instead, focus on coding your best and allocate the majority of your time to the substantive analysis. Whether the performance is outstanding or not, delve into understanding why. What could be improved? What worked well? What didn’t? Your code doesn’t contribute to the grading at all.
  4. The course has challenging deadlines, particularly the assignment before the Midterm, which is in close proximity to the Midterm itself, leading to priority adjustments. I made the mistake of investing more time in the project. This was a significant error. Always prioritize exams over assignments, especially since the project before the Midterm contributes only 10% to the grade, while the Midterm holds a weight of 25%. Despite still achieving an A with my route, my advice is to prioritize exams for your benefit.
  5. While instructors/TAs don’t guarantee a grade curve, it often happens. Without it, I would have received a B, but with the curve, I secured an A. To gauge your standing, aim for grades above or around the Median for the course. I consistently stayed at or above the Median for most assignments, except for one, and class statistics are released after each assignment, so be sure to review them.
  6. Avoid relying solely on Canvas grade calculation. My final percentage displayed on Canvas was 86.86%, but after manually calculating with the correct weights, it was 84.4%. Canvas had incorrect weights, resulting in inaccurate percentages. For some, grades may be higher than what Canvas indicates, so keep an Excel sheet with accurate weights for peace of mind.
  7. Tackle those Problem Sets. The course includes two problem sets (ungraded and optional), but it’s crucial to give them a try — even if you’re unsure of the correct answers. I personally did the minimum for these Problem Sets but made sure to submit them within the window. They are considered in the overall evaluation and can make a difference in pushing your grade from a B to an A if you’re on the edge.
  8. When selecting datasets, aim for smaller sizes with fewer rows and opt for datasets that have a limited number of categorical features. I highly recommend considering binary datasets or datasets primarily composed of numerical values.
  9. Stay engaged on Slack and Ed. Personally, I rarely visited Ed except to check pinned posts; my primary hub was Slack. The class community on Slack was incredibly cooperative, supportive, and truly a blessing. I not only gained valuable knowledge but also found it beneficial to stick to Slack over other platforms like Discord because TAs are present there and can provide guidance — a significant advantage.
  10. Review the project description, FAQs, and participate in office hours. These resources are invaluable for both exams and assignments. Additionally, give yourself a significant head start by watching the initial 10 lessons on Supervised Learning as soon as they are available. This early understanding will be tied to your first assignment and provide a substantial advantage.
  11. Unless you’re at the absolute lowest point, I strongly advise against dropping the course. Even if you’re convinced you might end up with a C or B by the drop date, my friend, who was initially at a C, managed to recover and secure an A. It’s entirely possible, so I urge you to persevere. The worst-case scenario is a potential retake (which, for most, won’t be necessary). By then, you’ll already have a significant head start. I did contemplate dropping at one point, but my friends snapped me out of that mindset. So, if you don’t have that OMSCS friend to encourage you, let me be the one to say:

“Don’t you dare drop it! You will recover, trust me! Trust YOU!”

Resources

  1. Fortunate to have a peer like Kyle in my semester, he utilized GPT-4 to create practice exams that proved immensely valuable for reinforcing concepts. It’s essential to acknowledge that AI solutions aren’t infallible, so approach them with caution for poorly phrased questions. With Kyle’s permission, I’m thrilled to share this invaluable repository he curated to aid all of you in succeeding in the course:

2. I utilized George’s notes as a reference for Machine Learning.

[Disclaimer: This article adheres to all program guidelines as it does not disclose any actual exam or assignment information.]

Thank you for reading this article. If you enjoyed my content, please consider following me and clapping for it to show your support for my work.

--

--

Anika Neela

Software Engineer II at Microsoft | Master's in Machine Learning (in-progress) | Poetess | Blogger | Fitness Enthusiast | @anikaneela@me.dm