CS165B: Machine Learning: Syllabus

Syllabus contents:

  1. General Information
  2. Prerequisites
  3. Course Objectives
  4. Class Attendance
  5. Textbook
  6. Computing Facilities
  7. Assignments and Grading
  8. Academic Integrity
  9. Students With Disabilities


General Information

Course web site

Please check the course web site regularly for assigned reading and homework, announcements, and any other relevant information. 


The formal prerequisite is Computer Science 130A (Data Structures and Algorithms I). This implies that you have studied topics such as algorithms, data structures, searching and sorting techniques, recursion, and induction, all of which are relevant to this course. Most importantly, you need to be able to think logically about problems and solution strategies, and you must be familiar enough with writing software to implement solutions on your own. If you have completed the CS pre-major courses (including the Math and PSTAT courses) and CS 130A then you will be well-prepared.   

Course Objectives

What is this course about?

An introduction to the field of Machine Learning (ML), which attempts to understand and build machine learning algorithms. Topics include classification, clustering, representation,  ensemble methods, neural networks and deep learning.


Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead. It is seen as a subset of artificial intelligence. Machine learning algorithms build a mathematical model based on sample data, known as "training data," in order to make predictions or decisions without being explicitly programmed to perform the task. Machine learning algorithms are used in a wide variety of applications, such as email filtering and computer vision, where it is difficult or infeasible to develop a conventional algorithm for effectively performing the task (Wikipedia). We will cover the following topics: 

Machine Learning Basic Concept



Ensemble Methods

Neural Networks, Deep Learning


What you will learn

By the end of the course, you will understand what ML is all about and what it has contributed, and may contribute, to computing. You will have a working knowledge of the basic tools of machine learning, which are applicable to a wide range of computing problems. You will be able to solve problems using classification and clustering. You will have experience building models that, to some degree, can learn from experience.


This is not primarily a programming course - that is, the main goal is to learn the concepts, not to learn a language or particular programming techniques. However, coding examples of the concepts is the best way to demonstrate (and facilitate) your knowledge of them. Good programming practices (proper file structure, comments, etc.) are expected.


Class Attendance

You are responsible for everything that goes on in class. Prepare in advance for class by reading and studying the assigned text, and by making sure you understand the previous lectures.

Weekly 50-minute discussion sections, led by the TA, will focus on (1) presenting supplementary material (such as practical examples) to the lectures, (2) answering questions (about lecture topics, homework problems, programming issues, etc.), or by the instructor for make-up classes.  It is required that students attend these sessions; you are responsible for the material presented in these sessions. Students are encouraged to give the TAs (and, if appropriate, the instructor) feedback regarding topics or issues they would like to have discussed during this time.


Machine Learning: The Art and Science of Algorithms that Make Sense of Data, 1st Edition by Peter Flach

Computing Facilities

You may use the CSIL (Computer Science Instructional Lab) computers, or any other machine you prefer. 

Assignments and Grading

Grades will be based on homework assignments, machine problems, midterm exam, and final exam:

20% Homework assignments
30% Coding assignment
20% Midterm exam
30% Final exam

Homework will include 4 assignments and 3 coding assignments. 

Unless otherwise instructed, all assignments must be handed in the class on the due date. After the due date, your score will be reduced 20% each day. 

You are encouraged to discuss homework assignments with classmates at a general level.  However, you shall not share answers/code or collaborate on solutions unless otherwise directed to do so. All work turned in must be completely your own, including programming assignments. (See the Policy on Academic Integrity, below.)

There will be no makeup exams.

Policy on Academic Integrity

Please read this section carefully.

The university, the department, and this instructor all take the issue of academic integrity very seriously. A university requires an atmosphere of mutual trust and respect. While collaboration is an integral part of many scholarly activities, it is not always appropriate in a course, and it is never appropriate unless due credit is given to all participants in the collaboration. This goes for both ideas and programming or other work.

Here are some examples:

Allowed:  Discussion of lecture and textbook materials

Allowed:  Discussion of how to approach assignments, what techniques to consider, what textbook or lecture material is relevant

Not allowed:  Sharing ideas in the form of code, pseudocode, or solutions

Not allowed:  Turning in someone else's work as your own, even with that person's permission.

Not allowed:  Allowing someone else to turn in your work as his or her own.

Not allowed:  Turning in work without proper acknowledgment of the sources of the content (including ideas) contained within the work.

Summary: Academic integrity is absolutely required - dishonesty (cheating, plagiarism, etc.) benefits no one and hurts everyone.   If you are not sure whether or not something is appropriate, please ask the instructor or TA.

Students with Disabilities

If you are a student with a disability and would like to discuss special academic accommodations, please contact the instructor.  In addition, students with temporary or permanent disabilities are referred to the Disabled Students Program (DSP) at UCSB.  DSP will arrange for special services when appropriate (e.g., facilitation of access, note takers, readers, sign language interpreters).  Please note that it is the student's responsibility to communicate his or her special needs to the instructor, along with a letter of verification from DSP.  

Back to home