10601A/C Prerequisites
1. You need to
have, before starting this course, significant experience programming in a general programming language like JAVA or
Python. Specifically, you need to have
written from scratch programs consisting of several hundred lines of code. For undergraduate students, this will be
satisfied for example by having passed 15-122 (Principles of Imperative
Computation) with a grade of ‘B-’ or higher, or comparable courses or experience
elsewhere.
2. You need to
have, before starting this course, basic familiarity with probability and statistics, as can be achieved at CMU by having
passed 36-217 (Probability Theory and Random Processes) or 36-225 (Introduction
to Probability and Statistics I), or 15-359, or 21-325, or comparable courses
elsewhere, with a grade of ‘B-’ or higher.
3. You need to
have, before starting this course, college-level maturity in discrete mathematics, as can be
achieved at CMU by having passed 21-127 (Concepts of Mathematics) or 15-151
(Mathematical Foundations of Computer Science), or comparable courses
elsewhere, with a grade of ‘B-’ or higher.
You
must strictly adhere to these prerequisites! Even if CMU’s registration system does not
prevent you from registering for this course, it is still your responsibility
to make sure you have all of these prerequisites before you register.
If
you are not sure whether or not you have these prerequisites, or if you know
you don’t have any of them but wonder whether you could take this course
anyway, please read this
FAQ before emailing me.
As
an additional tool for you to gauge your readiness, here's a
10-601 Readiness Self-Assessment Test (courtesy of Aarti
Singh, Yiming Yang and Tom Mitchell).