Introduction to Programming through Machine Knitting

Wesleyan University, Spring 2026

Yuxuan Mei

she/her

ymei@wesleyan.edu

Office

ESC 637

Office Hours

Wednesday 9-11AM or by appointment

Welcome to COMP116! Feel free to reach out by email or come to office hours!

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.