Welcome to CS 351

Lecture W1M1: Course Overview

Lucas P. Cordova, Ph.D.

Willamette University

August 24, 2026

Welcome

Today’s agenda

In this session:

  1. Introductions, yours and mine (including a short activity).
  2. What this course is and where it goes.
  3. How your grade is built and the policies worth remembering.
  4. Key dates for your calendar.

Then we get into actual computer science: what an algorithm is, what it means to analyze one, and your first homework.

Meet your professor

Lucas P. Cordova, Ph.D.

What I work on:

  • Software engineering and testing education, including tools my lab builds like Testing Tutor and Pedalogical.
  • AI in computer science education, which is why this course has you evaluating AI-generated algorithms rather than pretending they do not exist.
  • Teaching across the CS and Data Science programs here at Willamette.

Meet your TA

Sam Holmes | srholmes@willamette.edu

Why I love this course

Algorithms is where computer science becomes a science:

  • You stop asking “does my code run?” and start asking “how do I know it is correct, and how well does it scale?”
  • The ideas are old, portable, and everywhere: your GPS, your compiler, your streaming queue, your Uber match.
  • It is the course that most changes how you think, not just what you can build.

By December you will read a problem you have never seen and know which tool to reach for, and be able to defend that choice.

Meet your neighbor

Pair and share

Interview your neighbor, then introduce them to the class.

Pair up with someone you did not arrive with. You have 3 minutes per partner to learn:

  1. Their name (as they want to be called) and year or major.
  2. One thing about them that has nothing to do with computers.
  3. Their answer to the algorithm question on the next slide.

Then each of you introduces your partner in 30 seconds or less.

The interview question

Ask your partner:

“What is an everyday algorithm you swear by?”

That is: a step-by-step procedure they actually follow in daily life. Examples to prime the conversation:

  • How they pick the fastest checkout line at the grocery store.
  • Their exact morning routine ordering, and what happens when a step fails.
  • How they decide what to watch in under ten minutes.
  • Their strategy for finding parking near campus.

Listen for the inputs, the steps, and the stopping condition. You will need them for the introduction.

3 minutes per partner.

Introduce your partner

Format for your 30 seconds:

  1. “This is [name], a [year / major].”
  2. One non-computer fact.
  3. “Their everyday algorithm is [procedure], and it terminates when [stopping condition].”

We will revisit these answers: every one of them has inputs, outputs, correctness questions, and efficiency questions. You have been analyzing algorithms your whole life; this course just makes it precise.

30 seconds per introduction.

What this course is

CS 351 in one paragraph

This course is a comprehensive study of fundamental algorithms and the analysis techniques behind them. You will learn to design algorithms using the major paradigms (divide-and-conquer, greedy, dynamic programming), prove them correct, analyze their time and space with asymptotic notation, and choose the right tool under real constraints. Along the way you will implement algorithms in Python, evaluate AI-generated solutions critically, and complete a team project that you present at the end of the semester.

The semester arc

Full week-by-week schedule lives in the syllabus on Canvas, where it is versioned.

Logistics and materials

  • Meetings: Monday and Wednesday, 8:40 to 10:10 AM, Ford 102.
  • Recommended text: Introduction to Algorithms (CLRS), 4th edition. Supplemental readings are listed in the schedule and are highly recommended; buy a copy from the campus bookstore, or access the online version through Canvas/Perusall.
  • Canvas: assignments, submissions, announcements. Canvas is authoritative for due dates.
  • Laptop: bring one capable of running Python; required for in-class activities and exams. Talk to me if that is a barrier.
  • Prerequisites: CS 152 (Data Structures) and MATH 251W. HW0 (assigned today) is your self-check.

How your grade is built

Grade components

Component Weight
Homework assignments (~8) 25%
Midterm exam (Wed Oct 14, in class) 15%
Final exam (Tue Dec 8, 8:00 to 11:00 AM) 20%
Algorithms project (teams of 3) 20%
Class participation 10%
Final project presentation (group) 10%
Total 100%

A C- or better is required for the course to count toward university credit. Letter cutoffs are in the syllabus on Canvas.

Homework and exams

Homework (~8 sets, 25%). Mix of proofs, analysis, and Python implementation. HW0 goes out today as a prerequisite self-check and counts like a regular homework slot.

Written portions of homework and exams must be prepared in LaTeX. Never used it? The Getting Started with LaTeX guide on the course Resources page walks you through setup on any OS.

Midterm (15%). Wednesday, October 14, in class. Covers analysis, sorting, divide-and-conquer, hashing, trees and heaps, greedy and MST, and graph search and shortest paths.

Final (20%). Comprehensive, Tuesday, December 8, 8:00 to 11:00 AM, with emphasis on the second half: all-pairs shortest paths, dynamic programming, network flows, and complexity.

The project and presentation

Algorithms project (20%), teams of 3. Pick a substantial algorithmic problem, implement solutions, measure them against the theory, and write it up. Milestones: proposal (Oct 5), checkpoint (Nov 4), final report (Nov 30).

Final presentation (10%). Conference-style talks over the last two class sessions (Nov 30 and Dec 2), about five teams per day, roughly 15 minutes per team. Every member presents.

Participation (10%). In-class problem solving and discussion; these activities cannot be made up if missed.

Policies that matter most

  • Late work: homework is due on the due date; if life happens, contact me before the deadline. Project milestones lose 10% per day, max 5 days. Presentations have fixed slots.
  • Regrades: written petition via email with your argument; no verbal requests. My decision after review is final.
  • Academic honesty: discuss ideas freely, but everything you submit must be your own work. Never copy code or solutions.
  • Generative AI: some activities explicitly analyze AI output and will be labeled. Otherwise, AI can help you study, but you must be able to explain, reproduce, and defend whatever you submit, and disclose AI assistance. Undisclosed AI work is plagiarism.

Key dates for your calendar

Date What
Fri Sep 4 Last day to Add/Drop (5pm)
Mon Sep 7 Labor Day, no class
Mon Oct 5 Last day CR/NC (5pm); project proposal due
Wed Oct 14 Midterm exam
Fri Oct 23 Last day to Withdraw with a W (5pm)
Wed Nov 25 Fall Break, no class
Mon Nov 30 and Wed Dec 2 Final project presentations
Tue Dec 8 Final exam, 8:00 to 11:00 AM

Getting help

  • Student hours: by appointment at lpcordova.phd/meet or drop by Ford 210; in-person, phone, or Google Meet.
  • TA: Sam Holmes, srholmes@willamette.edu; help hours Sundays 3:00 - 6:00 PM and Fridays 3:00 - 4:30 PM at the QUAD.
  • Accessible Education Services: Smullin 155, 503-370-6737, accessible-info@willamette.edu. Talk to me early if anything about the course design is a barrier.
  • Rough day? The syllabus has a Handle with Care policy: tell me you need it, no explanation required.
  • The syllabus lists the full set of university policies and student resources. Read it this week.

Before Wednesday

  1. Read the syllabus on Canvas; bring questions Wednesday.
  2. HW0 is assigned today, due Monday, August 31. We walk through it later this session.
  3. Supplemental reading for Wednesday (highly recommended): CLRS Chapter 10 and Section 16.4, in your own copy or online through Canvas/Perusall.

Next up: what an algorithm actually is, and how we will analyze them all semester.

References

Sources

  1. CS 351 Syllabus, Fall 2026: Canvas.
  2. Cormen, Leiserson, Rivest, Stein. Introduction to Algorithms, 4th edition, MIT Press.