San Jose State University
Department of Computer Science
CS 271, Topics in Machine Learning, Spring 2019
- Course and Contact information
- Instructor: Mark Stamp
- Office Location: MH 216
- Telephone: 408-924-5094
- Email: firstname.lastname@example.org
- Office hours: Tuesday & Thursday, noon - 1:15pm
- Class Days/Times: Tuesday & Thursday, 10:30 - 11:45pm
- Classroom: MH 233
- Prerequisites: CS 149
- Course Description
- Topics in machine learning.
The following machine learning techniques and related
topics are covered in detail: hidden Markov models (HMM),
profile hidden Markov models (PHMM),
principal component analysis (PCA),
support vector machines (SVM),
clustering, data analysis, backpropagation
and selected topics in neural networks.
Illustrative applications of
each of these major topics are provided, with most
of the applications drawn from the field of information security.
In addition, the course will include an overview of each of
the following topics:
k-nearest neighbor, boosting/AdaBoost,
random forests, linear discriminant analysis (LDA), naive Bayes,
with additional topics as time permits.
Prerequisite: CS 149.
- Learning Outcomes
- The focus of this course will be machine learning,
with illustrative applications drawn primarily from
the field of information security.
After completing this course
students should have a working knowledge
of a wide variety of machine learning
topics, and have a good understanding of
how to apply such techniques to real-world problems.
- Required Texts/Readings
- The primary text will be
Learning with Applications in Information Security
by Mark Stamp, published by Chapman Hall/CRC in 2017. This book
covers several machine learning techniques in detail, and includes a large
number of illustrative applications. Many of the applications
are from information security, including a variety of
topics related to malware, intrusion detection (IDS), spam,
and cryptanalysis, among others.
- Additional relevant material:
- PowerPoint slides at http://www.cs.sjsu.edu/~stamp/ML/powerpoint
- Current semester lecture videos are available at
If you are asked to login to access the videos,
both the username and password are "infosec".
Note: The instructor hereby gives students permission
to record his lectures (audio and/or video). At least with respect
to this class, your instructor has nothing to hide.
- Class-related discussion will be posted
on Piazza at
You are strongly encouraged to participate by
asking questions, as well as by responding
to questions that other students ask. At the start of the
semester, you should receive an email asking you to join
this discussion group—if not, contact your instructor via email.
- The applications parts of this course are essentially self-contained,
but for additional background information on the security-related topics, the
following resources are recommended.
- Computer Viruses and Malware, John Aycock, Springer 2006. Many of
the applications we discuss are related to malware. Aycock's book is easy
to read and in spite of being fairly old, it provides a good foundation for
- Information Security: Principles and Practice, Mark Stamp,
If you have not taken CS 265, you should do so. You can refer to this fine
book if you have questions about security-related topics during this course.
- Open Malware
includes a large collection of samples of live malware.
- VX Heavens
is a source for "hacker" type of information on viruses.
Malware samples are also available.
of Computer Virology and Hacking Techniques
is a journal for malware-specific research papers.
There are also several good conferences
that focus on malware and/or machine learning
applications in information security.
masters project reports (at
Most of these projects involve applications of machine learning
to malware or other topics in information security.
- Course Requirements and Assignments
- Grading Policy
- Test 1, 100 points. Date:
Thursday, March 28.
- Homework, quizzes, class participation and other work as
assigned, 100 points. A subset of the assigned problems
will be graded.
- Machine Learning Project,
100 points. You must obtain approval for your project proposal from me (via email) prior to the start of class on
Thursday, February 21, and you must
be prepared to give a brief presentation of your proposed topic
on that day. A written project report is due
Tuesday, April 30 and project
presentations will begin on that day (or shortly thereafter).
- Final, 100 points.
Date: Thursday, May 16
from 9:45am to noon.
The official finals schedule is here:
- Semester grade will be computed as a weighted average of the major scores listed above.
- No make-up tests or quizzes will be given
and no late homework or project (or other work)
will be accepted.
- Grading Scale:
|92 and above||A
|90 - 91||A-
|88 - 89||B+
|82 - 87||B
|80 - 81||B-
|78 - 79||C+
|72 - 77||C
|70 - 71||C-
|68 - 69||D+
|62 - 67||D
|60 - 61||D-
|59 and below||F
- Note that "All students have the right, within a reasonable time, to know their
academic scores, to review their grade-dependent work, and to be provided with
explanations for the determination of their course grades." See University Policy F13-1 at http://www.sjsu.edu/senate/docs/F13-1.pdf for more details.
- Guest Lectures
- Josh Gordon, Google Inc.
- Date: Friday, March 8
- Time: Noon
- Location: MH 223
Intro to Convolutional Neural Networks with Applications in Medical Imaging
Convolutional Neural Networks (CNNs) power most computer vision applications today. In this talk, I'll introduce CNNs (answering questions like "What is convolution?" and "How does it work in two and three dimensions?" using diagrams and code in TensorFlow. Next, I'll cover recent work in medical imaging, where CNN-based models are used to detect cancerous cells in gigapixel images.
- Short Bio: Josh Gordon works on the TensorFlow team at Google,
and teaches Applied Deep Learning at Columbia University.
You can find him on Twitter at https://twitter.com/random_forests
- Date: TBD
- Time: TBD
- Location: TBD
- Topic: TBD
- Abstract: TBD
- Classroom Protocol
- Keys to success:
Do the homework, complete a good project, and attend class
- Wireless laptop is required. Your laptop
must remain closed (preferably in your backpack and, in any case, not
on your desk) until I inform you that it is needed for a
- Cheating will not be tolerated,
but working together is encouraged
- Student must be respectful of the instructor and other students. For example,
- No disruptive or annoying talking
- Turn off cell phones
- Class begins on time
- Class is not over until I say it's over
- Valid picture ID required at all times
- The last day to drop without a "W" grade is
Tuesday, February 5,
and the last day to add is
Tuesday, February 12
- University Policies
- Office of Graduate and Undergraduate Programs maintains
university-wide policy information relevant to all courses,
such as academic integrity, accommodations, etc. You may find all syllabus
related University Policies and resources information listed on GUP’s
Syllabus Information web page