Lecture 15: Project Ideation¶
Today is not a lecture, but a working session. By the end of this session, you should have answered every question you need to put together your project proposal. You don't need polished writing. You need to have thought through each part enough so that writing it up tonight or tomorrow will be easy!
The proposal has four sections:
- Project Concept - what does it look like, what's the inspiration?
- Technical Approach - what Python concepts will you use?
- Target and Timeline - weekly milestones through finals
- Check-in Preview - what will you have ready by 4/23?
We'll spend about 15-20 minutes on each section. Fill in your answers in the markdown cells below. For your proposal submission, please put your answers into a separate document that looks cleaner without all these instructions.
Part 1: Project Concept¶
First, let's look at some examples together for inspiration. Then spend a few minutes sketching out your own idea on paper, or just in words.
A good concept at this stage doesn't need to be fully designed. It needs to be clear enough that you can start planning around it.
Your turn!¶
Answer the three questions below.
1. What pattern or design do you want to make?
(Describe it visually — shapes, colors, structure. A sketch on paper is also great!)
YOUR ANSWER HERE (Double-click to edit)
2. What's your inspiration?
(A piece of clothing, a texture, something from nature, a game, anything!)
YOUR ANSWER HERE (Double-click to edit)
3. How complex is it?
(Can you draw it on graph paper? Does it repeat? Does it change row by row?)
YOUR ANSWER HERE (Double-click to edit)
Part 2: Technical Approach¶
Now let's think about how you'd generate your pattern with code.
Here's an example of translating a concept into a technical plan:
Concept: Horizontal stripes — 3 rows of red, 3 rows of blue, repeat 5 times.
Plan:
- Represent the pattern as a 2D list, one row per list entry
- Write a function
generate_stripe(color, height)that returns a list of rows for one stripe- Write a function
generate_pattern(colors, stripe_height, repeats)that calls the first function in a loop- Parameters that matter: color, stripe height, number of repeats
- Pass the result to a knitout helper to produce the output file
You don't need to write any code yet. Just sketch out your thinking.
Your turn!¶
1. How will you represent your pattern in Python?
(2D list? List of rows? Something else?)
YOUR ANSWER HERE (Double-click to edit)
2. What functions do you think you'll need?
(Try to name at least two; describe what each one does)
YOUR ANSWER HERE (Double-click to edit)
3. What parameters will matter?
(What should be controllable? Colors, size, repeats, something else?)
YOUR ANSWER HERE (Double-click to edit)
4. What Python concepts will you use?
(Loops? Conditionals? List operations? Modulo? Strings? File I/O?)
YOUR ANSWER HERE (Double-click to edit)
5. What's the trickiest part you can anticipate right now?
YOUR ANSWER HERE (Double-click to edit)
Check with your neighbors¶
Turn to a neighbor and explain your technical approach in 2 minutes. Their job: ask one clarifying question.
Does their approach actually generate the pattern they described? What's missing?
Write down the clarifying question your neighbor asked, and your response to it.
Neighbor's question:
YOUR ANSWER HERE (Double-click to edit)
Your response / how it changed your thinking:
YOUR ANSWER HERE (Double-click to edit)
Part 3: Target and Timeline¶
Here are the key fixed deadlines:
| Week | Dates | Milestone |
|---|---|---|
| 12 | 4/9 | Proposal |
| 13 | (your target) | |
| 14 | (your target) | |
| 15 | 4/28 | Check-in Presentation |
| 4/30 | Fabrication Session | |
| 16 | (your target) | |
| Finals | 5/15 | Final Submission |
A few things to keep in mind:
- HW5 is due 4/23, although it's going to be programming only, weeks 13-14 still have homework alongside early project work
- Week 15 onward is project-only
- A rough heuristic:
- Week 12: finalize design and start pattern code;
- Week 13: core code working, start knitout output;
- By check-in Presentation: something runnable;
- Week 15: knit the piece or even just a test
- Week 16 and Finals: write up and polish
Be specific. Instead of "work on code," write something like "write the generate_pattern() function and test it on a small grid."
Your turn!¶
Fill in your personal milestone table. Double-click this cell to edit it.
| Week | Dates | Milestone |
|---|---|---|
| 12 | 4/9 | Proposal |
| 13 | (your target) | |
| 14 | (your target) | |
| 15 | 4/28 | Check-in Presentation |
| 4/30 | Fabrication Session | |
| 16 | (your target) | |
| Finals | 5/15 | Final Submission |
Part 4: Check-in Preview¶
At the check-in on 4/28 you need something to show and talk about. Any of the following would count:
- A working program that generates your pattern as a 2D list (even if knitout output isn't done yet)
- A partial program with some functions working and others stubbed out
- A physical sketch or mockup alongside code in progress
- A clear explanation of your design with a test output showing it's on track
It does not need to be a knitted piece. It does not need to be polished. And it does not have to be working code (although hopefully in the Tuesday Project Work Session you'll start to make progress!).
Your turn¶
1. What will you have working by 4/28?
(Be specific — which functions? What output?)
YOUR ANSWER HERE (Double-click to edit)
2. What will you demo or show?
(Print output? A grid visualization? Partial knitout file? A sketch?)
YOUR ANSWER HERE (Double-click to edit)
3. What question do you most want feedback on at check-in?
YOUR ANSWER HERE (Double-click to edit)
Wrap-Up¶
You now have answers to every section of the proposal. I would suggest that you just write it up tonight while memory is still fresh! You don't need to come up with anything new. Put what you figured out today into sentences.
A few reminders:
- The proposal is not a contract. Plans will change, and that's fine.
- The point is to show you've thought about it, not to predict the future perfectly.
- If you're unsure about your scope or approach, come to office hours before the deadline. It's much easier to correct now than later.
Proposal due: Thursday 4/9 at 11:59 PM. If you worked through today's session, writing it up should take 30-45 minutes.