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 approaches (supervised vs. reinforcement learning), task specifications, and evaluation metrics for a given problem context
  2. Explain the computational mechanisms of neural network training and inference, including forward propagation, loss computation, and gradient-based optimization
  3. Implement and train neural networks for classification and regression tasks using both low-level primitives and high-level frameworks
  4. Evaluate and improve ML systems by selecting appropriate metrics, applying validation strategies, diagnosing common problems (overfitting, underfitting), and tuning hyperparameters
  5. Work with diverse ML approaches including supervised learning models, pretrained models via APIs (e.g., large language models), and reinforcement learning systems
  6. Analyze and articulate philosophical, psychological, historical, and religious aspects of AI systems, including appropriate use cases, limitations, and potential societal impacts

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

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.

The key questions in each pillar motivate why we should care about studying that topic. The key objectives are specific things we can show that we can do as a result of studying that topic.

Tuneable Machines

Today’s ML systems are a mashup of two kinds of computational objects: the traditional sequential programming that we’re used to is still usually the “outer loop” of an ML system, but that code is the caretaker for a very different kind of animal: a highly parallel vector computer controlled by billions of parameters. This pillar is about understanding how that parallel vector computer works and how we can control it.

Key questions

Key objectives

After this course, I will be able to:

Optional objectives
The following objectives were planned for the course but did not end up being covered in class. Some students may pursue them in projects, but they are not required for the course.
  • General
    • I can compare and contrast the following neural architectures - CNN, RNN, and Transformer. (Bonus topics - U-Nets, LSTMs, Vision Transformers, state-space models) [NC-Architectures]
    • I can explain the purpose of a convolution layer and how it operates on an image. (Bonus topics - pooling, strides, padding) [NC-Convolution]

Not core objectives, but useful for understanding the field:

  • State-space models
  • Quantization and pruning
  • Key-value caching

ML Systems

Key questions

Key objectives

After this course, I will be able to:

Optional objectives
The following objectives were planned for the course but did not end up being covered in class. Some students may pursue them in projects, but they are not required for the course.
  • APIs and Systems
    • I can create a computational notebook that includes code, execution results, section headings, and formatted textual explanations. [MS-API-Notebook]
    • I can integrate an ML model into a larger application. [MS-API-Integration]
  • Experimentation and Evaluation
    • I can design, run, and analyze empirical experiments to quantify the impact of hyperparameter changes on model performance. [MS-Eval-Experiment]
    • I can make and interpret plots of relevant evaluation metrics. [MS-Eval-Visualize]

Learning Machines

Key questions

Key objectives

After this course, I will be able to:

Optional objectives
The following objectives were planned for the course but did not end up being covered in class. Some students may pursue them in projects, but they are not required for the course.
  • General
    • I can explain how in-context learning can be used to improve test-time performance of a model. [LM-ICL]

Context and Implications

CS 375 and 376 will investigate broader contexts and implications of AI from many lenses.

Key questions

Key objectives

The implications of AI are vast, so we will not attempt to cover everything in this course. Here are the basic objectives that we will aim for:

Beyond the basic objectives, students will have opportunities to explore a variety of types of broader contexts and implications of AI. Students will generally choose two specific areas of depth (for 25SP, we’re only requiring one of these). Areas include:

Specific topics may include:

Optional Topics

I encourage students to research and share material on these and other AI-related topics:

Prerequisites

A background at the level of either CS 212 or DATA 202 will be be generally expected. Beyond that, students should come to this course with some (perhaps rusty) ability to:

Although CS 375 is not a formal prerequisite for CS 376, students who do not have a solid understanding of the objectives of CS 375 should be prepared to proactively identify and fill in those gaps as they arise.

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:

Here’s how the system works:

Specifically, we propose to compute the final grade as a weighted mean:

For example:

An M in all course objectives, a B-level project, and full participation = (.1 * 1.0) + (.2 * .85) + (.7 * .89) = 89.3%, a B+, so any effort to achieve an E will push the grade up to A-.

How do I demonstrate that I’ve met objectives?

You can demonstrate that you’ve met an objective through a reflection in a project, a meeting with the instructor, or a screen recording of a chatbot conversation. See “How to Demonstrate Objectives” for details.

Preparation, Practice, and Participation (PPP)

As a community, we will undertake many activities that don’t directly demonstrate proficiency but are important for shaping our community and retaining what you’ve learned.

PPP activities are graded by completion, not content. Any legitimate effort by the due date will be awarded a completion credit. Late completion is okay (but frowned on) for solo activities but not for community activities. In some cases the same activity will have multiple occasions of engagement (e.g., posting a comment and responding to others’ comments); in that case, each occasion will receive a PPP activity point.

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?

Attendance is not mandatory, but highly encouraged, both for your own learning and as one of the main ways to contribute to other students’ learning. Come to class:

Also note that many in-class activities will earn PPP points, so if you miss many class meetings you may have difficulty earning a high grade.

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 highly encouraged in this class. However, you should be capable of fulfilling most of the class objectives without AI assistance.

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