Syllabus

This is a pair of hands-on courses on AI systems using machine learning, with a particular emphasis on deep neural networks.

The pair is composed of two half-semester courses: CS 375 and CS 376. It is designed so that students who can only take 2 credit hours can take only CS 375 and finish at Spring Break, while students who are able to go in more depth can continue to CS 376. (Taking only CS 376 is highly discouraged. Taking CS376 in a different year from CS375 is mildly discouraged.)

Course Descriptions

Note that these descriptions were revised in Fall 2025 and may not have made it into the official catalog yet.

CS 375 - Machine Learning

An introduction to artificial intelligence through machine learning, with an emphasis on deep neural networks. Students learn how neural networks compute and are trained, how to implement and apply them to tasks such as image classification, and how different learning approaches (supervised learning and reinforcement learning) address different types of problems. The course emphasizes hands-on implementation, evaluation of system performance, and discernment of philosophical, psychological, historical, and religious aspects of AI systems. Prerequisites: DATA 202, MATH 255, and either STAT 243 or STAT 343 (or permission of the instructor). Lab fee.

CS 376 - Advanced Machine Learning

Building on CS 375, an in-depth study of modern generative AI systems, with an emphasis on large language models (LLMs) and transformer architectures. Students examine how these systems are built, trained, and deployed; implement core architectures from fundamental components; learn practical techniques for building and evaluating ML-powered applications; and discern the philosophical, psychological, historical, and religious contexts and implications of generative AI. Students learn to view diverse data types (text, images, audio) as sequences of tokens processed by neural architectures. The course emphasizes hands-on experience with contemporary tools and APIs. Prerequisite: CS 375. Lab fee.

Objectives

CS 375 – Machine Learning

Upon successful completion of this course, students will be able to:

  1. Frame machine learning problems by identifying appropriate learning paradigms (supervised, self-supervised, reinforcement learning), task specifications, loss functions, and evaluation approaches
    • OG-ProblemFraming-Supervised
    • OG-ProblemFraming-Paradigms
    • OG-LossFunctions
    • OG-DataDistribution
  2. Explain the computational mechanisms of neural network training and inference, including forward propagation, loss computation, and gradient-based optimization
    • TM-MLPParts
    • TM-LinearLayers
    • TM-ActivationFunctions
    • TM-Softmax
    • TM-DataFlow
    • TM-TensorOps
    • TM-RepresentationLearning
    • TM-Embeddings
  3. Implement and train neural networks for classification and regression tasks
    • TM-Autograd
    • TM-Implement-TrainingLoop
    • OG-Theory-SGD
  4. Evaluate and improve ML systems by applying validation strategies, diagnosing generalization problems (overfitting, underfitting), and reasoning about data distributions
    • OG-Eval-Experiment
    • OG-Implement-Validate
    • OG-Generalization
  5. Work with diverse ML approaches including supervised learning models, pretrained models via APIs (e.g., large language models), and reinforcement learning concepts
    • OG-Pretrained
    • OG-LLM-APIs
  6. Analyze and articulate philosophical, historical, and religious aspects of AI systems, including appropriate use cases, limitations, and potential societal impacts
    • Overall-Explain
    • Overall-Faith
    • Overall-PhilNarrative
    • Overall-Impact
    • Overall-Dispositions
    • Overall-History (optional)

The specific objectives used for course grading will be listed in the pages for each unit.

Topics

  1. Problem framing for machine learning: Agent framework (environment, state, action, reward); supervised learning and reinforcement learning as different learning paradigms; task specification; evaluation metrics; considerations of data and appropriate use cases

  2. Neural computational architecture: Computational building blocks (linear layers, activation functions, loss functions); the multi-layer perceptron (MLP) architecture; vector/matrix/tensor data and operations; embeddings and representation learning; gradient descent algorithms; backpropagation / automatic differentiation

  3. Implementation and training: Implementing neural network primitives; training loops; stochastic gradient descent; validation strategies; diagnosing and addressing common training problems; low-level implementation in computational notebooks using PyTorch

  4. Applications of machine learning: Design decisions in applied contexts; transfer learning; evaluation in practice; at least one substantial application (e.g., image classification with exploration of architecture choices, data augmentation, and hyperparameter tuning); also, use of LLM APIs for simple tasks.

  5. Perspectives on Artificial Intelligence: Historical developments (from Turing to contemporary AI); philosophical questions (consciousness, intelligence, Chinese Room); religious and theological themes (imago Dei, technology and human relationships); societal impacts (bias, privacy, appropriate use); the nature of measurement and reductionism in AI systems

Pillars

CS 375 focuses on fundamentals; CS 376 dives into generative AI. But both courses are organized around the two key pillars of modern AI: a tuneable machine playing an optimization game. Both courses also discuss the broader context and implications of AI systems.

Our objectives are organized around two main pillars:

Each objective covers multiple skills:

For example, [OG-LossFunctions] asks you to:

Prerequisites

A background at the level of DATA 202 (for basic supervised learning), MATH 255 (for working with vectors and matrices), and either STAT 243 or STAT 343 (for thinking about distributions) will be be generally expected. Beyond that, students should come to this course with some (perhaps rusty) ability to:

Materials

Policies

How will the course be graded?

This course will be graded using a hybrid proficiency-based system that is designed to encourage you to bring your whole self to this course. We are not computers, so we shouldn’t assess ourselves like computers! But at the end of the day there are some things that we need to be able to do to demonstrate our learning.

We first agree to trust each other:

The following elements go into the course grade:

  1. Skills: You will demonstrate that you can meet specific objectives related to the course material. These objectives are listed in each unit.
  2. Effort: Each week, you self-report what you spend time on related to this course.
  3. Community: You will choose a small number of activities to contribute to our learning community.

A tentative proposal for how we’ll compute the final grade is below. I welcome feedback on this document in Perusall.

Skills: Proficiency-Based Grading

EMP rubric by Zach Kurmas at GVSU

I propose giving this a weight of 70% of the course grade.

Effort Hours

In-person, 2-credit courses will typically have a … 195 (3 x 65) minutes of class time and 8 hours of out-of-class student work per week over an 8-week half-semester. Source: Definition of a Credit Hour, based on 34 CFR 600.2

Each week, your weekly reflection should account for how you spent each of the 8 hours of out-of-class time. The reflection assignments will give details. This will be on the honor system.

To allow for flexibility between lighter and heavier weeks (since things come up) while still encouraging consistent effort, we will allow a maximum of 12 hours reported each week.

I propose computing effort grade as total hours divided by total possible hours (7 weeks * 8 hours per week = 56 hours). And I propose giving this a weight of 20% of the course grade.

Community

Every student should be able to identify at least 3 substantial contributions to the course community, with at most 2 credits of any one of the following types:

I propose we compute this grade component as min(1, x/3), where x is the number of contributions (subject to the limit of 2 per type). And I propose we give this a weight of 10% of the final course grade.

Are Incomplete grades offered?

An incomplete grade (I) will only be given in unusual circumstances, and only if those circumstances have been confirmed by the Student Life office.

Do I have to come to class?

Students are expected to be present at class, both physically and mentally. Why?

Come to class:

That said, things happen: sickness, family emergencies, job interviews, etc. If you must miss class, please notify me in advance if possible, and plan to stop by my office hours as soon as possible to catch up on what you missed.

I have some special needs; will you accommodate them?

Disabilities: Calvin University is committed to providing access to all students. If you are as student with a documented disability, please notify a disability coordinator in the Center for Student Success (located in Spoelhof University Center 360). If you have an accommodation memo, please come talk to me in the first two weeks of class. If something comes up mid-semester, like an injury, please reach out to the disability coordinator and me.

How do I demonstrate academic integrity in this class?

The primary purpose of exercises in this class is to help you learn the material. The primary purpose of assessments are to help you retain the material. Academic integrity entails using course materials for the purposes that they were designed, not bypassing those purposes in an attempt to obtain answers without effort or demonstrate performance without learning.

Moreover, your work in this class should demonstrate gratitude and respect to those whose work enables yours. It should demonstrate the integrity necessary to produce work that your future employer can legally use. And it should demonstrate an active embrace of the often-necessary struggle of figuring things out yourself. So I expect you to credit the people who help you, be they classmates or StackOverflow strangers, and heed the license terms under which they offer their code.

Solutions to exercises are easy to find. You are expected not to refer to them until after you have submitted your work. If you do refer to them, you are required to clearly indicate that you have done so within the assignment.

If you realize that your actions have violated academic integrity principles, please let the instructor know as soon as possible.

Etiquette: We expect you to treat students and instructors for this with respect by adopting courteous communication practices throughout the course. No personal attacks, trolling, bad language will be tolerated.

How should we use AI in this course?

Thoughtful use of all types of AI is encouraged in this class. However, you should be capable of fulfilling most of the class objectives without AI assistance.

Freedom not to use AI

In this class you always have the freedom to choose not to use AI tools. In particular, that means that we will grade such that choosing not to use AI will never lower your grade.

Practically, this means: if you’re ever tempted to take a shortcut by using AI, instead describe what you’d ask for help with. For example, rather than using an AI to polish a discussion post, post the pre-AI version and describe what you would have asked the AI to help with.

Another option to consider is only using local LLMs that you can run on your own computer.

Encouraged Uses

You are encouraged to use AI tools to support your learning process by:

Use a variety of technologies for different purposes: LLMs (ChatGPT, Claude, Gemini, …), search, speech interactions, image/video/diagram generation.

You are encouraged to use these tools collaboratively with other students and to discuss and share your strategies.

Cautions and Guardrails for AI Use

It is crucial that you practice evaluating AI outputs criticaly, since they will sometimes be incorrect, distracting, misguided. Dialogue LLMs like ChatGPT are trained to give you answers that feel correct and feel like they help your understanding.

Avoid using AI to bypass your own thinking and learning. For example, don’t use AI to generate first drafts for short-answer questions or discussions. Instead, write your thoughts first and ask for AI feedback. Prompts might include “what is unclear or incorrect about my answer?” or “please list phrases in my writing that might be extraneous”. Honor your readers’ time and attention.

If you do at any point include any AI-generated content in something you submit, please make a reasonable attempt to mark what sections are AI-generated and to include what prompts you used. (Your prompts are often more interesting than the outputs!)

Diversity and Inclusion

I came to Calvin because I wanted to explore what our Christian calling to “act justly” means in the context of AI, data, and the technologies that we use with it. Engaging that question wholeheartedly requires that each of us, me included, engage respectfully with perspectives very different from our own. For example, we must question those who abuse data for selfish gain, but we also must question the perspectives of those who challenge those abuses on purely secular grounds.

I intend for this class to be an environment where we equally respect people of every ethnicity, gender, socioeconomic background, political learning, religious background, etc. I will try to create that community by having us read diverse voices, engage with issues of importance to people unlike ourselves, and structure discussions that require students to engage respectfully with perspectives different from their own. I invite your help.

We will not always do this well. If you or someone else in this class is hurt by something I say or do in class, I would like to work to remedy it. I will welcome this feedback in whatever way is comfortable for you: in public, in private, via another person (such as our TA or my department chair, Keith VanderLinden), or via a report to Safer Spaces or the provost’s office.

Weekly Learning Reflection Guide
Set Up Your Feeds