Introduction to Programming through Machine Knitting
Wesleyan University, Spring 2026
Schedule
Module: Python Fundamentals
Week 1: Introduction
- 1/22 (Thu)
- Lec 1Course Overview and Logistics
- Reading: Think Python Ch. 1
Week 2: Basic Programming Concepts
- 1/27 (Tue)
- Lec 2Variables, Types, and Expressions
- Reading: Think Python Ch. 2
- FabMachine Demo (group 1) during lecture to see the machine in action!
- HW1Python Fundamentals released
- 1/29 (Thu)
- Lec 3Functions and Parameters
- Reading: Think Python Ch. 3
- FabMachine Demo (group 2) during lecture to see the machine in action!
Week 3: Control Flow
- 2/3 (Tue)
- Lec 4Return Values and Scoping
- Reading: Think Python Ch. 6
- FabMachine Training (Required)
- ~1 hour sessions, max 3 students, scheduled outside of lecture time (complete survey by 1/27)
- 2/5 (Thu)
- Lec 5Conditionals and Boolean Logic
- Reading: Think Python Ch. 5.1-5.7
- HW1Python Fundamentals due (11:59 PM)
Module: Data Structures & Knitting
Week 4: Lists and Knitting
- 2/10 (Tue)
- Lec 6Loops, Lists and Basic Knitting (Slides)
- Reading: Think Python Ch. 7.1-7.5, 9
- HW2Random Barcode released
- HW1Python Fundamentals feedback returned
- 2/12 (Thu)
- Lec 7More Conditionals, Loops and Lists
- Reading: Think Python Ch. 7.1-7.5, 9
Week 5: Strings and Files
- 2/17 (Tue)
- Lec 8Strings and File I/O
- Reading: Think Python Ch. 8
- Open hours available this week for HW2knitting; sign up ahead!
- 2/19 (Thu)
- FabHW2 Fabrication Session
- HW2Random Barcode due (11:59 PM)
Week 6: Arrays and Colorwork
- 2/24 (Tue)
- Lec 92D Arrays and Colorwork
- HW3Basic Colorwork released
- HW2Random Barcode feedback returned
- 2/26 (Thu)
- Lec 102D Arrays and Colorwork, con’t (Slides)
Week 7: Review
- 3/3 (Tue)
- Lec 11Coding as Pattern Matching (Review Lecture)
- Open hours available this week for HW3knitting; sign up ahead!
- 3/5 (Thu)
- FabHW3 Fabrication Session
- HW3Basic Colorwork due (11:59 PM)
- ProjectFinal Project released
Spring Break
Weeks 8-9: Spring Break
- 3/7 - 3/22
- No classes
- Enjoy your break!
- HW3 feedback will be returned after break
- Start thinking about project ideas
Module: Advanced Knitting Topics
Week 10: More Data Structures, Laces, and Complexity
- 3/22 (Sun)
- HW3Basic Colorwork feedback returned
- 3/24 (Tue)
- Lec 12Dictionaries, Sets and Tuples
- Reading: Think Python Ch. 10, 11
- HW4Advanced Colorwork and Transfers released
- 3/26 (Thu)
- Lec 13Laces and Complexity (Slides)
Week 11: Shaping and Illusion Knitting
- 3/31 (Tue)
- Lec 14Shaping and Illusion Knitting (Slides)
- Open hours available this week for HW4knitting; sign up ahead!
- 4/2 (Thu)
- FabHW4 Fabrication Session
- HW4Advanced Colorwork and Transfers due (11:59 PM)
Module: Advanced Programming Topics
Week 12: Classes and Objects
- 4/5 (Sun)
- HW4Advanced Colorwork and Transfers feedback returned
- 4/7 (Tue)
- Lec 15Project Ideation
- Bring pen and paper and we will do a structured brainstorming exercise together!
- By the end, you should have what you need for writing up the proposal.
- 4/9 (Thu)
- Lec 16Classes and Objects
- Reading: Think Python Ch. 15, 16
- ProjectProposal due (11:59 PM)
Week 13: More Object-Oriented Programming
- 4/12 (Sun)
- ProjectProposal feedback returned
- 4/14 (Tue)
- Lec 17Methods and Designing Classes
- Reading: Think Python Ch. 17
- HW5Knitout Writer Class released
- 4/16 (Thu)
- Lec 18Testing and Debugging OOP
Module: Final Project
Week 14: Project Work
- 4/21 (Tue)
- Lec 19Machine Knitting = Design with Constraints (Slides)
- 4/23 (Thu)
- ProjectWork Session
- Everyone works on their final projects and prep for the presentation!
- HW5Knitout Writer Class due (11:59 PM)
Week 15: Project Presentation
- 4/26 (Sun)
- HW5Knitout Writer Class feedback returned
- 4/28 (Tue)
- ProjectCheck-in Presentations
- Quick update, no more than 5 minutes, ask any questions or get feedback
- Open hours available this week for Projectknitting; sign up ahead!
- 4/30 (Thu)
- FabProject Fabrication Session
- Everyone knits their final projects!
Week 16: Conclusion
- 5/5 (Tue)
- Lec 20Conclusion (Slides)
- Open hours available this week for Projectknitting; sign up ahead!
Finals Week
- 5/12 (Tue)
- Open hours available this week for Projectknitting; sign up ahead!
- 5/15 (Fri)
- ProjectProject Report and Code due (11:59 PM)
Weekly Calendar
Acknowledgement
This course is developed by the instructor, largely based on publicly available resources as listed under the Resources page and prior computational machine knitting research literature. The instructor especially wants to acknowledge help and materials from Yue Xu (for discussing doubleknit jacquard options for HW4), Jenny Lin (guest lecture on machine knitting for CSE556 at UW), Megan Hofmann (slides from CSE 599 special topics course taught at UW), and the CMU Textiles Lab (everything from open source repositories, research, blog posts, to the entire infrastructure that this course and a lot of machine knitting research build upon). Claude assisted the instructor in course material development and logistics planning.