COMP 347: Applied Machine Learning, Spring 2026

This syllabus is subject to change based on specific class needs, especially the schedule. Significant deviations will be discussed in class. Individual exceptions to the policies and schedule are granted only in cases of true emergency. Please make arrangements with me if an emergency arises.

Logistics

Content

Description

An introduction to machine learning with topics in data science and data mining. The course aims to supply students with a useful toolbox of machine learning techniques that can be applied to real-life data. Techniques may include logistic and linear regression, SVMs, decision trees, neural networks, and clustering. The focus will be on developing important skills in preparing data and selecting and evaluating models, though we will delve into the mathematical intuition behind each model.

Topics

Possible topics include:

Learning Objectives

Sources

The required course textbook is:

Zyante. Machine Learning (Python version). Interactive online textbook. 2026.

This is an interactive zyBook that includes reading, examples, and hands-on activities. You will need to purchase access through the zyBooks website. Instructions for registration will be provided on the course website.

I also recommend, but do not require:

Géron, Aurélien. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (2nd edition). O’Reilly. 2019. ISBN-13: 978-1492032649

Guido, Sarah and Muller, Andreas. Introduction to Machine Learning with Python. O’Reilly. 2016. ISBN-13: 978-1449369415.

We might also use some material from:

Deisenroth, Marc Peter and Faisal, A. Aldo and Ong, Cheng Soon. Mathematics for Machine Learning. Cambridge University Press. 2020. ISBN-13: 978-1108455145. Available at https://mml-book.github.io/.

Additional online resources and readings will be provided throughout the semester, particularly for topics like text processing and transformers.

Programming Environment

We’ll be using Python 3 along with several of the standard data science libraries available, including matplotlib, pandas, numpy, and scikit-learn, among others. Most assignments will be completed and submitted through the Zybooks platform, which provides an interactive browser-based environment.

If you wish to work locally on your own machine, you have several options:

Working locally is optional but can be helpful for larger projects and experimentation. Ultimately, all assignments must be submitted through Zybooks regardless of where you develop.

Policies

Assessment

Assignments

The course workload is as follows:

Category Number of Assignments Final Grade Weight
Homework/Labs 5–7 50%
Midterm 1 20%
Final 1 20%
Participation - 10%

Most (probably all) homework assignments will involve programming. Each exam focuses primarily, but not necessarily exclusively, on material covered since the previous exam. In other words, the final exam may include one or two questions from first-half material.

Your participation grade is based on a variety of activities, including engagement with the interactive zyBook readings. During class I will often make use of the Socrative app, so you’ll need to install this on your phones. Participating in Socrative questions and with in-class group activities is required for a decent participation grade; a full grade also includes asking questions either in class or in office hours.

Grading

Your final grade is based on a weighted average of particular assignment categories, with weights shown above. You can estimate your current grade based on your scores and these weights. You may always visit the instructor outside of class to discuss your current standing.

This courses uses a standard grading scale. Assignments and final grades will not be curved except in rare cases when its deemed necessary by the instructor. Percentage grades translate to letter grades as follows:

Score Grade
94–100 A
90–93 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-
0–59 F

You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge*.

Workload

The weekly workload for this course will vary by student and over the semester, but on average should be about 12 hours per week. The follow table provides a rough estimate of the distribution of this time over different course components for a 16 week semester.

Category Total Time Time/Week (Hours)
Lectures 55 2.5
Homework 72 4.5
Exam Study 27 1.5
Reading+Unstructured Study   2.5
    11

Schedule

The following tentative calendar should give you a feel for how work is distributed throughout the semester. Assignments and events are listed in the week they are due or when they occur. This calendar is subject to change based on the circumstances of the course.

Date Topic Reading/Assignment
Wed 01/21 (Week 1) Intro to ML: Definitions and Types Zybooks Ch. 1.1
Fri 01/23 Feature Types, Classification vs Regression Zybooks Ch. 1.2
Mon 01/26 (Week 2) Python Setup and Ecosystem: NumPy Essentials NumPy Quickstart
Wed 01/28 Pandas Deep Dive Pandas Tutorials
Fri 01/30 Visualization: Matplotlib and Seaborn Zybooks Ch. 1.2 (revisit)
Mon 02/02 (Week 3) Modeling Workflow in scikit-learn Zybooks Ch. 1.3, 1.7
Wed 02/04 Bias-Variance Tradeoff and ML Ethics Zybooks Ch. 1.4-1.5, 1.6
Fri 02/06 k-Nearest Neighbors Zybooks Ch. 2.1, 2.6
Mon 02/09 (Week 4) Logistic Regression Zybooks Ch. 2.2, 2.7
Wed 02/11 Naive Bayes Zybooks Ch. 2.3, 2.8
Fri 02/13 Discriminant Analysis Zybooks Ch. 2.4, 2.9
Mon 02/16 (Week 5) Classification Case Study Zybooks Ch. 2.5
Wed 02/18 Linear Regression Zybooks Ch. 3.1, 3.5
Fri 02/20 Elastic Net Regression Zybooks Ch. 3.2, 3.6
Mon 02/23 (Week 6) k-NN for Regression Zybooks Ch. 3.3, 3.7
Wed 02/25 Regression Case Study Zybooks Ch. 3.4
Fri 02/27 Classification Metrics Zybooks Ch. 4.1-4.2, 4.8
Mon 03/02 (Week 7) Regression Metrics Zybooks Ch. 4.3-4.4, 4.9
Wed 03/04 Evaluating Models with Plots Zybooks Ch. 4.5-4.7, 4.10
Fri 03/06 Midterm  
(Mon 03/09) (Spring Break)  
(Wed 03/11) (Spring Break)  
(Fri 03/13) (Spring Break)  
Mon 03/16 (Week 8) Cross-Validation Methods Zybooks Ch. 5.1, 5.5
Wed 03/18 Model Selection and Tuning Zybooks Ch. 5.2-5.3, 5.6-5.7
Fri 03/20 Calculus and Linear Algebra Review 3blue1brown Calculus, Linear Algebra
Mon 03/23 (Week 9) Data Preprocessing Zybooks Ch. 6.1-6.3, 6.5-6.6
Wed 03/25 Text Processing: Tokenization, Bag-of-Words, TF-IDF sklearn text tutorial
Fri 03/27 Support Vector Classifiers and Kernel Methods Zybooks Ch. 7.1-7.2, 7.5
Mon 03/30 (Week 10) Support Vector Regression Zybooks Ch. 7.3-7.4, 7.6
Wed 04/01 Decision Trees for Classification Zybooks Ch. 8.1-8.2, 8.5
(Fri 04/03) (Easter Break)  
(Mon 04/06) (Easter Break)  
Wed 04/08 (Week 11) Decision Trees for Regression Zybooks Ch. 8.3-8.4, 8.6
Fri 04/10 Bagging and Random Forests Zybooks Ch. 9.1-9.3, 9.6-9.7
Mon 04/13 (Week 12) Boosting Zybooks Ch. 9.4, 9.8
Wed 04/15 Model Interpretation and Feature Importance Zybooks Ch. 9.5
Fri 04/17 Neural Networks: Fundamentals and Training Zybooks Ch. 10.1-10.3, 10.7-10.8
Mon 04/20 (Week 13) Deep Learning with Keras Zybooks Ch. 10.4, 10.9
Wed 04/22 Advanced Architectures: CNNs and RNNs Zybooks Ch. 10.5-10.6
Fri 04/24 k-Means and Hierarchical Clustering Zybooks Ch. 11.1-11.3, 11.5-11.6
Mon 04/27 (Week 14) Dimensionality Reduction: PCA Zybooks Ch. 12.1-12.3, 12.5-12.6
Wed 04/29 Word Embeddings: Word2Vec and GloVe Illustrated Word2Vec
Fri 05/01 Document Embeddings and Sentence Transformers Sentence Transformers
Mon 05/04 (Week 15) Transformers and Attention Mechanisms Illustrated Transformer
Wed 05/06 Large Language Models and Modern Applications Illustrated GPT-2
Sat 05/09 3:00 PM Final Exam  

Supplementary Readings for Topics Not in Zybooks

For topics not covered in the Zybooks textbook, the following resources will be provided:

Python Libraries (Week 2):

Mathematical Foundations (Week 8):

Text Processing (Week 9):

Word Embeddings and Document Embeddings (Week 14):

Transformers and LLMs (Week 15):

Additional readings may be assigned as needed throughout the semester.

Monmouth College Services