Course Specifications for
CS 391L: Machine Learning

Course Overview

The intent of this course is to present a broad introduction to Machine Learning, the study of computing systems that improve their performance with experience, including discussions of each of the major approaches (see the course syllabus). The primary focus of the course will be on understanding the underlying algorithms used in various learning systems. Class lectures will discuss general issues as well as present abstract algorithms. Implemented versions of many of the algorithms will be provided in order to give a feel for how the systems discussed in class "really work" and allow for experimentation.

Course Requirements and Grading

Chapters from the text and possibly other readings will be assigned throughout the semester, and the reading should be done before the corresponding class. Copies of the class lecture slides are available from the course home page. There will be about four or five homework assignments (about one every two to three weeks early on) as well as a final project.

The homework assignments will generally be programming assignments that involve experimenting with or extending an existing machine learning system. The class will use the Weka package of machine learning software in Java. The code for the local version of Weka used in class is in in /u/mooney/cs391L-code/weka/ . See the Tutorial.pdf file in this directory. If you do not know Java, you will need to learn it on your own. You can use your student account on the department workstations or any other Java platform available to you (however, we will only provide support for running on departmental Unix machines). If you are not a CS student and need a temporary department account, apply on the web at

The final project can be a more ambitious experiment or enhancement involving an existing system or a new system implementation. In either case, the implementation and/or experiments should be accompanied by a short paper (about 6 to 7 single-spaced pages) describing the project. A list of suggested projects as well as an outline for the project report are available from the course home page. About half-way through the semester you will be asked to submit a one-page project proposal.

Late Submission and Cheating Policies

Homework assignments should be completed independently by each student and any program code should always be appropriately commented. Assignments are due at the beginning of class on the due date. Be sure to hand in assignments on time, late penalties are a loss of a percentage of the original overall points for the assignment: 1 Day: 15%, 2 Days: 40%; 3 Days: 75%; past 3 days: 100%. A day is a 24 hour period starting at the beginning of class and includes all weekend days and holidays.

Final projects are ideally done by a team of 2 students; however, group sizes of 1 or 3 are possible with approval. Team members should strive to contribute equally to the project and each member should submit a specific individual statement declaring what part of the overall project work they performed.

Read the department's academic policy page at Students who demonstrably violate the Academic Honesty policy will receive a failing grade in the class.

Final Grade

The final grade will be computed as follows:
60%  Homeworks  
33%  Final Project 
 7%  Class Participation