Textbook:

  • Their is no required textbook for this course, but the following two books are the main recommended readings:
    Machine Learning: A Probabilistic Perspective, by Kevin Murphy
    and
    Machine Learning, by Tom Mitchell
    These are the gold standard of algorithms books with a lot of reading material.

Prerequisites:

Students in the class are expected to have a reasonable degree of mathematical sophistication, and to be familiar with the basic knowledge of linear/matrix algebra, multivariate calculus, probability and statistics. Undergraduate classes in these subjects should be sufficient. Students are also expected to have knowlege of basic algorithm design techniques (greedy, dynamic programming, randomized algorithms, linear programming, approximation algorithms) and basic data structures. Programming in Python is required. Review materials:

Discussion sessions:

They are led by instructors and are designed to give students hands on experience in applying concepts covered in lecture that week to solving new problems. The discussion provides more detailed and in-depth exposition of the lectured materials. Students get an opportunity to solve problems individually and then discuss their solutions as a group.

Theory Homeworks :

There will be four written theory assignments (TA):
  • Theory assignments should be submitted electronically via : Desire2learn .
  • Theory assignments must be neatly written or typed.
  • You may work in groups of 2-3. However, each person should hand-in their own writeup.
  • Collaboration should be limited to talking about the problems, so that your writeup is written entirely by you and not copied from your partner.
  • There are NO late days for assignments.

Programming Homeworks:

There will be four programming assignments (PA):
  • Programming assignments should be submitted electronically to Vocareum
  • They are auto-graded
  • You may submit your implementation several times. The limit is set differentlty for each assignment.
  • There are NO late days for assignments.

Grading:

Theory HW16%
Programming HW16%
First midterm exam30%
Second midterm exam38%
Final grades for the course will be determined by a curve. We will compute the letter grade cutoffs by setting the mean score to be equal a B.

Exams:

  • There will be two midterm exams.
  • They will be conducted on
  • Exam 1: Feb. 27, 5 - 8pm, location THH 101 and 201
    Exam 2: Apr. 24, 5 - 8pm, location THH 101 and 201
  • No makeup exams will be provided.
  • If you skip the exam, you may be eligible for an IN grade for the course. The incomplete grade has to be completed within one year. However, in order to get an IN you have to have a valid cause
    " ... as a result of documented illness or emergency occurring..."
    Please read the University policy on IN grade for more details.
  • The exam solutions and grading rubric will always be posted.
  • There will be a regrading session for each exam where you can discuss grading errors. A regrade is allowed only when there are clear and obvious grading errors. Grading errors are simple mistakes made on the part of the graders, and not differences in interpretation of a question or answer.

Academic Integrity:

The USC Student Conduct Code prohibits plagiarism. All USC students are responsible for reading and following the Student Conduct Code, which appears on SCampus.

In this course we encourage students to study together. This includes discussing general strategies to be used on individual assignments. However, all work submitted for the class is to be done individually.

Some examples of what is not allowed by the conduct code: copying all or part of someone else's work (by hand or by looking at others' files, either secretly or if shown), and submitting it as your own; giving another student in the class a copy of your assignment solution; consulting with another student during an exam. If you have questions about what is allowed, please discuss it with the instructor.