CMPU 395: Machine Learning

Fall 2018 Sameer Pradhan, Ph.D.

Google Classroom

Quick Facts

Class— Mondays and Wednesdays at 12:00-1:15 p.m.
Sanders Physics, SP-105
There is no single textbook for the course. We will draw from various sources for this course. There are a few books listed in the textbook section below.

Course Objective

This course provides a broad introduction to the field of machine learning and recent developments in deep learning. It covers both supervised and unsupervised learning techniques. The course discusses recent applications of machine learning to natural language processing, speech recognition, bioinformatics and data mining. Students learn to implement a few important machine learning algorithms from scratch and select a learning task (or formulate one themselves) and then implement and critically evaluate an end-to-end machine learning prototype using the latest learning libraries and frameworks.


Sameer Pradhan (
Office: Sanders Classroom 003
Office Hours: Mondays and Wednesdays from 1:302:30 p.m. Or, in person or Google Hangouts by appointment.
Class Time

Mondays and Wednesdays 12:00-1:15 p.m. in Sanders Physics SP-105

Contacting me

If you have a question that is not confidential or personal, please post it on the Google Classroom. Feel free to respond to other student's questions. That way responses tend to be quicker and have a wider audience. I will be monitoring the discussion threads, so in case there is any misunderstanding, I can intervene. I would strongly encourage you to come to office hours to talk about any questions or issues you might have or feedback you might want to provide. If meeting in person is not possible, please schedule a Google Hangout session with me over email. If it is a time-sensitive matter, the best way to get hold of me is to send me a Google Hangout message at my Vassar email.

Announcements will be periodically posted to the Google Classroom. Please make sure that you receive the notification emails from Google Classroom and that you read those messages.

Honor Code

Since we occasionally reuse assignments that were previously assigned, and the fact that one can search for similar problems online, we expect students not to copy, refer to, or look at the solutions in preparing their answers. It is an honor code violation to intentionally refer to a previous year's solutions. This applies both to the official solutions and to solutions that you or someone else may have written up in a previous year. It is also an honor code violation to find some way to look at the test set or interfere in any way with programming assignment scoring or tampering with the submit script.

Since quizzes are a form of assessment, students are not allowed to collaborate on completing quizzes. It is an honor code violation to discuss quiz questions with other students.

In signing the matriculation pledge at Vassar, you have assumed the responsibility for the integrity of your academic work. Please follow the pamphlet "Originality and Attribution: A Guide for Student Writers at Vassar College." which contains detailed discussions of the requirements of academic honesty.

  • There are no required textbooks for this course. I will provide/present/discuss material extracted from multiple sources, drawn from various books, articles and other online resources, and tailored to this specific class of students. The material in the readings will be tested during the quizzes and exams. Different people learn differently using a combination of reading from different sources, attending the class and discussing the material, practicing coding—sometimes in addition to the required coding assignments—depending on initial level of coding proficiency. The best-prepared students (those who do the best on the exams) tend to do all three.


CMPU 241 and relevant background in math—Linear Algebra, Probability and Statistics—which will be covered to some degree as part of the course.

Required Work


Attendance is highly recommended in all classes. Although a significant portion of what I will cover in class is available in textbooks, the number of potential texts that I cover is more than the ones listed above. Also, depending on student participation and interests, we might cover topics and have discussions which could have a bearing on the questions in the exams.

Class Participation

Extra credit will be given for students participation in the classroom. Students can also participate by providing helpful answers on the class forum, helping out other students in office hours, etc.


There will be roughly 5—10 assignments (depending on the scope of each assignment) throughout the semester.

Programming Assignment Collaboration: You may talk to anyone about the assignments and bounce ideas off each other. But you must write the actual programs yourself.

Late Submissions

You have 3 free late (calendar) days for the entire semester.
Once you have exhausted the quota of free late days, the maximum points you can receive for an assignment will be decreased by 10% for each late day.
I am willing to consider individual extensions based on extenuating circumstances—as long as you communicate with me in advance.
Example points workout: If you have used up your three late weekdays, and are 2 days late, then you will receive a maximum of 80 points for a 100 point assignment. That is, if you score a 90 on the original 100 point assignment, then with the late penalty you will receive 72 points out of a maximum of 80 points for that assignment. Just to clarify some more—the 72 points will be out of a total of 100 points for that assignment in the final weighted semester point calculations.


This class has a significant amount of reading and coding. Most weeks have around 30-60 pages worth of content (as it varies by the type of book). Depending on your coding proficiency and previous knowledge, you should plan to spend somewhere between 10 to 20 hours per week on this course.


There will be three exams and a final project. Details below.

Final grade
  • 25%   Labwork and Assignments
  • 05%   Pop Quizzes
  • 10%   Pre-spring break exam (Wednesday, October 10th)
  • 15%   Mid-term exam (Wednesday, November 7th)
  • 15%   Final exam (TBD)
  • 30%   Project (TBD)