Introduction to Machine Learning

10-301 + 10-601, Spring 2019
School of Computer Science
Carnegie Mellon University


Frequently Asked Questions

Q: I just found this website, what should I do next?

A: Please read through this FAQ and the Syllabus page. If you are registered (or waitlisted) for the course, the course staff will enroll you in the technologies we will use for communication (Piazza) and homework assignment submission (Autolab, Gradescope). If it is after the first day of class, you have been registered for more than two days, and you still don’t have access to one of these, then go ahead and enroll yourself in Piazza using your Andrew Email and send a “Private Note” to the instructors that includes your Andrew ID.

Q: How does 10-301 differ from 10-601?

A: Undergraduates must register for 10-301 and graduate students must register for 10-601. Otherwise, the courses will be identical in all respects.

Q: How does Section A differ from Section B?

A: This semester, 10-601A and 10-601B will only differ in the time / location of the lectures. Everything else will be the same, including the instructor, course content, homeworks, exams, policies, etc.

Q: How does Section C differ from A and B?

A: Each semester, we run into the same problem: More students register for this course than we have seats in the classroom. Some time after the Add Deadline, enough students drop the course that we are left with empty seats. Those seats could have been given to those waitlisted, but by then it’s too late. As a result, many students excited about machine learning miss out.

To address this issue, we’ve created “livestream” sections (Section C) this semester that are identical to the other sections except that the lectures are viewed at the same time online. Students in the online sections will be required to attend exams in-person and will have access to all other in-person aspects of the course (e.g. office hours). If you join , you will be a full part of the course. Here’s the best part: If physical seats open up in the other sections, you will be able to join for in-person lectures too.

Can we guarantee students in Section C will eventually get a seat? No. However, the historical stats are in your favor. Last spring, there was space for most students within several weeks. Last fall, about half the students got a seat.

So if you are currently waitlisted for Section A and B, we encourage you to sign up for Section C.

Q: How do I watch the “livestream” of the lectures / recitations.

A: Click the video link on the Schedule page. Log in with your Andrew ID.

Q: Will I be able to get off the waitlist?

A: No one should be on the waitlist. Just sign up for either Section C (see above), both of which have infinite capacity. (There is a bug in the registration system that occasionally causes a waitlist on Sections C. However, someone will manually add you within a week.)

Q: Does this course have recitations?

A: This term, we will have occasional recitations on Friday at the same time and location as the Monday/Wednesday lectures. Some of them will review the material from the previous week. We might also include a few to review background and prerequisite material. We’ll interchangeably refer to these as “recitations” and “review sessions”.

Whenever we are having a Friday session, it will be listed on the Schedule page.

Q: Where can I review the course policies?

A: See the Syllabus page for tentative course policies.

Q: What does grading look like for this course?

A: The grading is based on exams, homeworks, and class participation. See more details in the Syllabus page.

Q: Does the course focus on real-world applications or theory of ML?

A: Both! As compared to 10-701, this course focuses a bit less on theory, but it certainly still makes a prominent appearance. See the machine learning course comparison for more details.

Q: Will there be programming language requirements for the homework?

A: Yes. Grading of the programming assignments will be done via Autolab. For each one, we will allow you to pick between a small predefined set of programming languages (last time there were four: Python, C++, Java, Octave). You will be expected to know, or be able to quickly pick up, that programming language.

Q: Since 15-122 is one of the prerequisites, will I need to be proficient in C?

A: No, we will not require you to be proficient in C. Though there is a (very small) chance it would be one of the supported programming languages. See the programming language requirements question above.

Q: Do I have the appropriate background for this course?

A: Please see the Prerequisites section of the Syllabus page.

Also, check out our course comparison of the various Intro ML offerings. At the bottom of the course comparison is a self test. You can use it to gauge how comfortable you are with the appropriate math background. It might be appropriate for you to take MLD’s new short course 10-606/607 that might help you catch up on any math background (10-606) or computer science background (10-607) that you are missing.

Q: As an undergrad, can I take this course if I haven’t met the official prerequisites?

A: In general, the only case I make exceptions for is the following: if you are missing only one prereq, will take it as a coreq, and can make a strong objective argument why you have the necessary background, then I will consider your case. If this applies to you, please email the instructor an unofficial transcript for a review of your prior coursework. In your email, please make a case for each prereq you’re missing. Most requests are denied.

Q: Is this course appropriate for someone interested in artificial intelligence?

A: Absolutely! Machine learning has become a key component of artificial intelligence systems deployed throughout the world. There are other excellent courses that provide a broader picture of AI as well (see 15-381 and 15-780 for example).