Syllabus
Table of contents
General Information
Time and Location:
- Tuesdays & Thursdays, 1:20PM - 2:40PM, ESC 113
- Fabrication sessions in Textiles Hub (ESC 509b) + ESC 511
Communication:
- We will use Moodle’s Gradescope Plugin for assignment submissions.
- We will use Ed Discussion for Q & A and announcements.
Course Description
Computers and smart devices have become more and more embedded in our daily lives. Learning about programming and computer science is becoming a valuable skill, regardless of whether one works as software engineers. This course serves as an introduction to programming and computer science through a connection between knitting and computing. Essentially, knitting machines (and some other textile-making machines like looms) and computers both allow programmable control, starting from punched cards to binary codes as the machines evolve in terms of complexitiy.
In this course, students will develop skills in:
- Programming with Python: Write well-structured programs using variables, functions, loops, conditionals, data structures (lists, dictionaries, sets), recursion, and object-oriented programming.
- Machine knitting: Generate machine code and produce tangible knitted artifacts.
- Computational thinking: Decompose problems, design solutions, analyze complexity, and debug systematically.
Prerequisites
This course requires no prior programming or knitting experience. You will need a laptop to complete the coursework; see loaner laptop program if you need one.
Recommended Materials
There is no required textbook for this course but the department recommends Think Python: How to Think Like a Computer Scientist (3rd Edition) by Allen Downey as a reference. And of course, the official Python documentation is a helpful resource as well. For each lecture, we will use a Jupyter notebook and the notebook will be posted on the course website.
Course Policies
Grading
This course will use standards-based grading, where assignments and final project work contribute evidence points to the standards that this course wants to assess. We want to assess learning over time instead of one-shot through individual assignments. Please read the grading page carefully.
Percentage Breakdown
- 15% In-class Polls
- 60% Homeworks (Standards-based Grading)
- 25% Final Project
Participation Policy
We will have in-class polls using PollEverywhere. A full participation score will be given if at least 15 poll responses have been recorded. This means that students can be absent or not participating in the polls for any 5 lectures without penalty (there are 20 planned lectures with 6 work/fabrication sessions). There is no makeup opportunities and you can keep track of your number of responses recorded on Moodle.
Assignment Policies
All starter code/notebooks for the assignments will be provided and your work should be submitted through Gradescope on Moodle. Grade and feedback will also be provided through Gradescope. Any sources (e.g., stackoverflow posts, blogs, Q&A forum questions) you used to help with completing coursework need to be cited.
See grading for more details on the kind of feedback you will receive, and policies on late work and resubmissions.
Collaboration Policy
Discussions are encouraged but implementations and write-ups must be done individually. Students are encouraged to meet up and discuss assignments. They can write ideas or pseudo-code on paper or a whiteboard during discussions but they may not take any code or notes away from those conversations. A good rule of thumb is the Gilligan’s Island Rule1. Please indicate in your writeup any discussion group you participated in.
Sick Policy
To keep everyone safe, please stay home if you are sick or feel sick. We will make special accommodations to ensure there is no incentive for students to come to class while sick.
AI Tools Policy
This is an introductory course. Learning to program requires working through the problems and bugs on your own. AI tools like ChatGPT will actively harm your learning in this course.
AI Tools Are NOT Allowed For:
- Writing any part of your assignment code
- Creating documentation/comments for your code
- Debugging your code
- Explaining how to approach programming problems
- Generating algorithms or logic
- Converting ideas into Python code
Why? You cannot learn to program by watching AI program for you. You must develop these skills yourself.
AI Tools MAY BE Allowed For (but only as a last resort):
- Explaining general Python concepts from lecture (e.g., “What’s the difference between a list and a tuple?”)
- Understanding error messages AFTER you’ve tried to fix them yourself (see guidelines below)
- Clarifying textbook content you don’t understand
Guidelines for Acceptable AI Use
Before using AI to understand an error, you should attempt the following (in that order):
- Read the error message carefully (what line? what type?)
- Check your code on that line
- Try to fix it yourself (at least 2 different approaches)
- Search online for the error message (check Stack Overflow, Python documentation)
- Post on Q&A forum
- Come to office hours
- Email the teaching staff
Only THEN, if still stuck after 24 hours, you may ask AI to explain the error message (not fix your code).
If you use AI, you must:
- Include full conversation transcript with submission
- Write a reflection: “What did AI tell you? What did you learn? How did you fix it yourself?”
- Be able to explain every line of your final code
- Understand that AI-generated code in your submission is an academic integrity violation
If your code looks AI-generated (specific patterns, complexity beyond course level, style inconsistent with your previous work), you will be asked to explain it line-by-line, or modify the code on the spot to achieve a similar but slightly different functionality. If you cannot explain it or make the modifications, it will be treated as plagiarism.
University Policies and Resources
Honor Code and Academic Integrity
Wesleyan students are responsible for knowing and upholding the Honor Code. Any academic integrity violations in this course will be reported to the Office of Community Standards.
Contact me about any questions related to course expectations. Contact Kevin Butler (kbutler@wesleyan.edu), Assistant Dean of Student/Director of Community Standards, with general questions about the Honor Code.
Accommodations
Wesleyan University is committed to ensuring that all qualified students with disabilities are afforded an equal opportunity to participate in, and benefit from, its programs and services. Since accommodations may require early planning and generally are not provided retroactively, please contact Accessibility Services as soon as possible. If you have a disability, or think that you might have a disability, please contact Accessibility Services in order to arrange an appointment to discuss your needs and the process for requesting accommodations. Accessibility Services is located in North College, rooms 024/218, or can be reached by email at accessibility@wesleyan.edu.
Religious/Spiritual Observance Resources
Wesleyan University is committed to supporting the religious and spiritual identities of our student community. If a class, exam, or academic deadline conflicts with your religious or spiritual practice, you should contact the staff as early as possible to make reasonable arrangements. For guidance, advocacy, or additional support, you are welcome to reach out to Rabbi David Teva, Director of the Office of Religious and Spiritual Life, at dleipziger@wesleyan.edu, or connect with any of the chaplains at wesleyan.edu/orsl.
Title IX Resources
If gender-based and/or sexual violence related trauma inhibits your ability to fully participate in class, please contact Debbie Colucci, Title IX Coordinator (dcolucci@wesleyan.edu) or your class dean. Additionally, and if you are comfortable, you can work directly with your professor to make reasonable arrangements. You may also choose to talk with a confidential resource about all of your options for care and support. Confidential resources can be found the Office of Counseling and Psychological Services (CAPS), WesWell, and the Office for Religious and Spiritual Life.
Discrimination and Harassment
Wesleyan University is committed to maintaining a positive learning, working, and living environment and does not tolerate identity-based discriminatory harassment and/or sexual misconduct against students, faculty, staff, trustees, volunteers, and employees of any university contractors/agents. For purposes of this Wesleyan policy, identity refers to one’s race, color, religion, national or ethnic origin, age, disability, veteran status, sexual orientation, gender, gender identity, and gender expression. The Office for Equity & Inclusion serves students, faculty, administrators and develops policies and procedures regarding issues of diversity and equal opportunity/affirmative action. Individuals who believe they have been discriminated against should contact the Office for Equity & Inclusion at 860-685-4771.
-
The Gilligan’s Island Rule: This rule says that you are free to meet with fellow student(s) and discuss assignments with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you should not take any written (electronic or otherwise) record away from the meeting. After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan’s Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain. ↩