Dan Ventura (Email)
3324 TMCB
(801) 422-9075
Hours: By appointment

Teaching Assistants

David Norton (Email)
Chris Wilson (Email)
1134 TMCB
(801) 422-1417
TA Schedule

Meeting Time & Place

9:30–10:45 Tuesdays & Thursdays
3718 HBLL (Harold B. Lee Library)

The Schedule has dates and deadlines for
lectures, reading, assignments, and exams.

Course Description

Humans are capable of tackling extremely difficult problems without the benefit of an a priori solution. They learn from experience and can often transfer knowledge acquired to novel instances or even whole new tasks. Are machines capable of similar problem solving prowess? This course will be a hands-on introduction to the basics of machine learning. We will study multiple machine learning models including decision trees, neural networks, Bayesian learning, instance-based learning, and genetic algorithms. In doing so, we will begin to understand some of the issues and challenges facing attempts at machine learning—generalization, bias, overfitting, model selection, feature selection and learnability—while being exposed to the pragmatics of implementing machine learning systems.


We will cover assigned reading topics following the provided schedule. You are responsible for reading the material for a given day prior to that day's lecture. Because class time is limited, we may not cover everything in the text. However, except where specifically noted otherwise, you are responsible for the entire reading assignment.

Homework/Programming Assignments

A few written problems will be due as the first homework assignment. Additionally there will be one other non-programming assignment—producing a data set for a learning problem of your choice—which will be an electronic submission.

However, most of the work for this course will consist of programming and experimenting with various machine learning models. This is where the pain and suffering occur. For each of the machine learning models we study in depth, there will be a programming assignment involving the implementation of the model and experimentation with its abilities on one or more learning problems. These programming assignments will help you gain not only a mastery of the models themselves, but also a beginning understanding of the major issues involved in designing machine learning methods. Finally, by the end of the course, you will have developed a suite of machine learning algorithms that will be usable (and useful) in the future.

A short written report will also be due describing your efforts, results and conclusions. These are to be done on a word processor and be neat and professional. Good writing, grammar, punctuation, etc. are important and can affect your grade. The report is limited to no more than four single-spaced pages using 11 or 12 point font, including all figures. Figures are not to be hand-drawn and should be large enough to be easily legible. Anything beyond the four-page limit will not be graded! You must work to include all important information in the allotted four pages. Communicating clearly and concisely what you have to say is an important skill you will use throughout your career.


There will be one mid-term (administered in the testing center) and one final (administered in class). These tests will be timed, you will be allowed one page of notes, and they will consist of written problems testing your understanding of the models and issues covered in class. If you put in the time on the homework and programming assignments, the tests should not be too difficult. Explicitly, the final will only deal with material not covered on the midterm; however, it will be implicitly comprehensive in that it will assume you understand the material covered throughout the course.

Attendance & Participation

Class attendance and participation are expected. This is not because I feel the need to have students in class; instead, it is because your attendance and participation guarantee you a better learning experience.

Make sure you have done the reading and tried to understand on your own before you ask questions. If you do not, it is usually readily apparent. This can lead to crankiness, and crankiness never was happiness. When you don't understand something, ask; there are no dumb questions—unless you haven't done your reading.

Late Policy

All assignments are due at the beginning of class on the date indicated. Late assignments will be penalized 10% per day late, not counting Sundays. However, if you have a good excuse (i.e. something different from your fellow students) just come and talk to me about it (beforehand, if at all possible), and you will not be penalized. Of course, nothing will be accepted after the last day of class.


Grading will be on a weighted curve. An approximate breakdown is as follows:

30% Homework / Programming Assignments
20% Group Project
25% Midterm Exam
25% Final Exam

Although your final class grade will not be available until the end of the term, a cumulative point total will be available online and will be updated approximately weekly. You should check this periodically to ensure that my records are in accordance with the work you have done. Please bring any discrepancies to my attention immediately, as these things are usually easily resolved early and are often much more difficult as time passes.

Appealing grades on assignments and on tests begins with you. Make an effort to understand why you received the score that you did and make sure that you have a good reason to appeal. If after making these efforts, you still feel like you have a concern, the next step is to calmly and intelligently discuss it with TA. If after taking both of these steps you still are not satisfied, come see me.

Working Together

You may work together with other members of the class; however, do NOT turn in other people's work. This is a fine line that may require some judgment on your part. Examples of acceptable collaboration: discussing homework problems and solutions with others in the class; posting questions and/or answers to questions on the class newsgroup; comparing learning results and conclusions from programming assignments with other class members. Unacceptable collaboration would be simply copying homework, code or test answers from a friend or allowing someone else to copy homework, code or test answers. Academic dishonesty will be grounds for failure of the course; however, I do not anticipate that we will have any questions or problems in this area.

Preventing Sexual Harassment

BYU's policy against sexual harassment extends not only to employees of the university, but to students as well. If you encounter sexual harassment, gender-based discrimination, or other inappropriate behavior, please talk to your professor or department chair, or contact the BYU Equal Employment Opportunity Office at 422-5895, or contact the Honor Code Office at 422-2847.

Students With Disabilities

BYU is committed to providing reasonable accommodation to qualified persons with disabilities. If you have any disability that may adversely affect your success in this course, please contact the University Accessibility Center at 422-2767. Services deemed appropriate will be coordinated with the student and instructor by that office.