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.
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.
Possible topics include:
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.
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:
venv for creating virtual environments with
your preferred editor/IDEWorking 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.
Late assignments: You have each been allotted a total of 5 late days. You may apply these to any homework or programming assignment (NOT exams, quizzes, labs, or reading assignments) you see fit and turn in your solutions with no penalty. Each late days gives you exactly 24 extra hours from the original due date and time. However, you may use at most 2 late days on any individual assignment. The whole point here is to give you some flexibility that allows for things like illnesses, long trips, and the like. I am unlikely to grant further extensions. You must notify me if you will use late days, and how many, BEFORE the assignment is due. Late assignments (beyond any applied late days) will be subject to a grade reduction at my discretion. While you should expect a reasonable penalty for late work, know that I will NEVER give you a 0 for late work as long as it is turned in before the final exam.
Academic dishonesty: Monmouth College’s official policy on academic dishonesty can be found here. You are responsible for reading and complying with that policy.
In this course, any violation of the academic honesty policy will have varying consequences depending on the severity of the infraction as judged by the instructor. Minimally, a violation will result in an “F” or 0 points on the assignment in question. Additionally, the student’s course grade may be lowered by one letter grade. In severe cases, the student will be assigned a course grade of “F” and dismissed from the class. All cases of academic dishonesty must be reported to the Associate Dean who may decide to recommend further action to the Admissions and Academic Status Committee, including suspension or dismissal. It is assumed that students will educate themselves regarding what is considered to be academic dishonesty, so excuses or claims of ignorance will not mitigate the consequences of any violations
Collaboration: We encourage you to make use of the resources available to you – it is fine to seek help from a friend, tutor, instructor, internet, etc. However, copying of answers and any act worth of the label “cheating” is never permissible! In addition to listing your sources and collaborators, you should be producing your own writeup in your own words. By “your own words,” we mean you should be producing the text yourself, without some external aid. Verbatim copying of text is specifically disallowed, but so is taking a source and rearranging some phrases and changing some variable names to create a derivative version! Such behavior is definitely NOT “using your own words.” It does not matter if you helped contribute to this source text with others, since then you are still not the sole author of the text. The point of collaborating on an assignment is not to produce a jointly authored set of solutions, since that violates the course policies. Instead, it is to help you solve the problems, which sometimes involve a bit of creativity. After you have jointly come up with the ideas you need to solve the problems, though, you should part ways with your group and sit down to do the writing by yourself. I also advise against sharing the writeup you submit with others, since if someone else uses your text as a source for their own solution (with or without your permission), you will also be implicated in the violation of the academic integrity policy. In any case, if two nearly identical solutions are received, we have no way of tell which is the original, and the policy is to not award credit for either submission.
Electronic devices: Do not use your phone or other devices in class except where necessary. Any computer or tablet usage should be related to the course. If a device is not being used for Zoom or Socrative it should be put away and turned on silent. Other usage is rude and distracting to others.
General expectations: In short, I expect you to be respectful of others and take responsibility for your own learning. You are here to learn, so work hard and be professional.
Just attending class is not sufficient to truly learn the material. Read the text, use the resources available at Monmouth College, and go beyond the material.
If you miss class, you are responsible for everything covered on that day. College is, in some sense, your job. Take pride in creating quality work. Staple your assignments, label problems, and present your answers neatly and orderly.
Your job is to convince me that you have learned the material – show your work! Even if you do not know a particular answer, guide me through your thought process.
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.
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*.
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 |
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 |
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.
The Academic Support Office offers free resources to assist Monmouth College students with their academic success. Programs include supplemental instruction for difficult classes, drop-in and appointment tutoring, and individual academic coaching. The office is here to help students excel academically, since everyone can work toward better grades, study skills, and time management. Please email succeed@monmouthcollege.edu for assistance.
If you need course adaptions or accommodations because of a disability, please make an appointment with the Accessibility Services Office (ASO) (access@monmouthcollege.edu 309-457-2257) as soon as possible. The accessibility of this course for every learner is important to me. If at any time you experience a barrier to learning, please bring it to my attention and I will do my best to address it.
Office of Student Well-Being & Student Health Center: Your well-being is crucial to your academic success and personal growth. That is why our campus provides free resources to support your physical and mental health needs. If you would like schedule an appointment for counseling or need further health care assistance, please reach out to the Office of Student Well-Being at wellness@monmouthcollege.edu.
Student Health Center: Hours: M-F, 9am-1pm Location: McMichael Residence Hall, Lower level Call: 309-536-6055 Email: healthcenter@monmouthcollege.edu
Counseling Services: Hours: M-F 9am-4:30pm Location: CSB 393, Administrative Area Call: 309-457-2316 Email: wellness@monmouthcollege.edu
TimelyCare: 24/7 free virtual access to medical and mental health care anytime. Visit: timelycare.com/monmouthcollege