Fall 2026
  • Discord
  • Gradescope
  • Syllabus

CSCI 40

An introduction to programming and automating everyday tasks.


Instructor: R. Teal Witter. Please call me Teal.

Class Times: Mondays and Wednesdays from 1:15 to 2:30pm in Robert Day 126.

Office Hours: Tuesdays from 1:00 to 4:00pm in Adams Hall 213.

Labs: Most weeks have a short lab. Run the local checks on each assignment page, then submit on Gradescope for the grade. You keep resubmitting until you score 100%.

Quizzes: Short weekly quizzes, taken on paper. They are open-note: bring any printed or handwritten notes you like, but no electronic devices. Each week’s practice bank is linked below; we work through it together in class.

Projects: Every two to three weeks you build something real: a webpage, a web scraper, your own ChatGPT, a Twitter clone. Projects carry generous extra credit and “choose your own adventure” tasks.

Resources: There is nothing to buy. Each week has a reading in place of a textbook; the primary references are Shay Howe’s Learn to Code HTML & CSS and Al Sweigart’s Automate the Boring Stuff with Python.

Date Topic Lab Quiz Project
The Web
Mon Aug 31 · Wed Sep 2 HTML Hello, Homepage (due 9/9) Practice Project 0 (due 9/16)
Mon Sep 7 · Wed Sep 9 CSS Dress It Up (due 9/16) Practice
Python Foundations
Mon Sep 14 · Wed Sep 16 Python Doctests (due 9/23) Practice
Mon Sep 21 · Wed Sep 23 Strings & Files Download and Decode (due 9/30) Practice Project 1 (due 10/7)
Mon Sep 28 · Wed Sep 30 Exceptions Command-Line Tools (due 10/7) Practice
Working with Data
Mon Oct 5 · Wed Oct 7 Web Scraping Web Data (due 10/14) Practice Project 2 (due 10/21)
Mon Oct 12 · Wed Oct 14 The Shell The Messy Repo (due 10/21) Practice
Mon Oct 19 · Wed Oct 21 Objects & Classes Objects and Collaboration (due 10/28) Practice
Mon Oct 26 · Wed Oct 28 LLMs More Project Setup (due 11/4) Practice Project 3 (due 11/11)
Mon Nov 2 · Wed Nov 4 Syntactic Sugar War Dialing (due 11/11) Practice
Mon Nov 9 · Wed Nov 11 Regular Expressions Redacted (due 11/18) Practice
Mon Nov 16 · Wed Nov 18 JSON & Alternatives Rosetta Stone (due 12/2) Practice Project 4 (due 12/2)
Web Applications
Mon Nov 23 · Wed Nov 25 SQL APIs & Web Interfaces (due 12/2) Practice Final Project (due 12/16)
Mon Nov 30 · Wed Dec 2 Backend Web Dev FastAPI App (due 12/9) Practice
Mon Dec 7 · Wed Dec 9 Last Day Capture the Flag (optional; due 12/16)
Automate a Test (optional practice)
Practice
Wed Dec 16 · 2:00–5:00pm Final project demos