Class log
Note: “codebook” entries below are verbatim pasting of all of the code we used in class. It’s possible they may not compile (i.e. may have errors) if we left things unresolved, or were writing pseudocode, etc.
- Wednesday, Jan. 19th: Intro
- Monday, Jan. 24: Syllabus, asynch review I, et al.
- Wednesday, January 26: Asynch review II, Project 1 introduction
- Monday, Jan. 31: Asynch review III, Project 1 ideation presentations
- Wednesday, Feb. 2nd: Some technical notes, and Project 1 work time
- Monday, Feb. 7th: Project 1 work time
- Wednesday, Feb. 9th: Project 1 critique
- Monday, Feb. 14th: Project 2 ideation review
- Wednesday, Feb. 16th: Project 2 work time
- Monday, Feb. 21st: Lasercutting tutorial, Project 2 work time
- Wednesday, Feb. 23rd: Project 2 prototype presentations
- Monday, Feb. 27th: Project 2 work time
- Wednesday, Mar. 2nd: Project 2 Final Crit
- Monday, Mar. 14th: DSLR lesson, work time
- Wednesday, Mar. 16th: Beginning of Final Project, with design client guests
- Monday, Mar. 21st: No class to allow time for teams to conduct interviews
- Wednesday, Mar. 23rd: Interview debriefing
- Monday, Mar. 28th: Prototype work
- Wednesday, Mar. 30th: Prototype work
- Monday, Apr. 4th: Prototype work
- Wednesday, Apr. 6th: Prototype presentations
- Monday, Apr. 11th: Prototype wrap-up and final build planning
- Wednesday April 13: Guest speaker, Final build planning review
- Monday April 18: A few notes, project work time
- Wednesday April 20th: Work day
- Monday April 25th: Work day
- Wednesday April 27th: Final work day
Wednesday, Jan. 19th: Intro
- Welcome to class!
- Quick introductions: students in random pairs each answer a few questions about each other:
- Their name and pronouns
- What they’re studying and what year they’re in
- What brings them to this class
- Something fun/interesting/exciting/great/awful they did over break
- Review course Canvas site briefly
- Review main course site (the one you’re reading this on) briefly, going over the various sections listed in the navigation bar on the left
- Virtual Phys Comp Lab tour
- Guest visitors Mike Melville and Prof. Marti Louw (both join to speak about respective research studies addressed in the syllabus)
- Please sign up for a slot to chat with me for 10 minutes on Friday using this sheet
- If you’re able to pick up a small electronics kit, those should be available in room A9 of Hunt Library by Thursday. This is strictly optional!
- Homework 1 assigned
Monday, Jan. 24: Syllabus, asynch review I, et al.
- Homework review
- Syllabus (Zach randomly calls on people to ask them questions about course policies, etc.)
- Asynchronous video questions addressed
- What exactly is a “net” and what does it mean in a schematic?
- What’s the difference between a battery and a 5V / ground connection?
- Don’t connect more than 5V to the Arduino’s 5V pin. If you do that while Arduino is plugged into a computer, you can seriously harm that computer!
- Brief introduction to Tinkercad, which any student without a physical Arduino kit may use to complete the homework assignments
- Reviewing projects that students chose to look at from prior semesters
- Homework 2 assigned
Wednesday, January 26: Asynch review II, Project 1 introduction
- Asynchronous homework questions review
- A circuit with 5V, ground, a potentiometer, and an LED (how to use a pot as a rheostat)
- Other briefly reviewed questions from the asynch discussion board
- Introduction to block diagramming using the draw.io tool
- Sample diagrams shown here:
- Students put into random teams of three to draw their own diagrams of different devices/systems
- Microwave
- Refrigerator
- Traffic signal with pedestrian button
- Car
- Airplane
- Laptop computer
- Brief review of how to do searches for parts available in the Phys Comp Lab
- For parts that are in the Maker Card system, use the main Maker Card site
- For a complete inventory of the Physical Computing Lab (without photos and tutorials) click on “Useful Links” on the navigation column, and then “Phys Comp Lab inventory page.” This loads a big spreasheet, which you can do a command-F search of to find where parts are. (Clunky but complete.)
- Additional parts available for pickup from A9:
- HC-SR04 ultrasonic ranger
- 9g hobby servo motor
- photoresistor
- 5.6kΩ resistor
- Introduction to Project 1, and assignment of teams (please see Canvas for the announcement listing those). Note that there is an ideation deadline for this project for Monday, January 31st.
- Homework 3: Finishing up asynchronous learning assigned
Monday, Jan. 31: Asynch review III, Project 1 ideation presentations
- Quick review of asynch homework questions
- Very brief IDeATe walking tour
- Handing out 1’ × 1’ boards for Project 1 mounting
- Handing out physical MakerCard decks
- Project 1 team meetings with Eric and Zach
Wednesday, Feb. 2nd: Some technical notes, and Project 1 work time
- Technical topics to cover briefly in preparation for Project 1:
- Data types
bool
:true
orfalse
int
: whole number in range –32,268 to 32,767unsigned int
: the same number of values asint
, but starting at 0, so: range is 0 to 65,535long
: whole number in range approximately –2.1 billion to 2.1 billionunsigned long
: the same number of values aslong
, but starting at 0, so: range is 0 to about 4.3 billionfloat
: “floating point” number, meaning something with a decimal in it like 1.543 or –10493.25, but with limits (afloat
has 6 or 7 digits of precision, so it wouldn’t store 9872.19886757275). Range is about –3.4 × 1038 to 3.4 × 1038char
: short for “character,” things likea
,Q
,?
, or even8
(as a character, not the value 8)String
: a “string” of characters put together, like"Abracadabra!" she yelled.
or735
(that last one is not a number—it’s aString
so it has no numerical value)- Read lots more details at this section of the main Arduino reference page
- Blink without blocking (how to juggle multiple events without
delay()
, using event loop programming) - Simple circuit debugging: using a multimeter for testing continuity, resistance, and voltage
- Soldering tutorials posted on Canvas
- 16×2 LCD displays shown
- Data types
- Introduction to the Diary of Sorrows, a place to share your technical frustrations
- Project 1 due date is moved back to Weds., Feb. 9th
- Project 1 work time
Codebook: do multiple things at the same time with event loop programming
N.b.: To see a more fleshed-out example of this sort of programming style, go to the Blink without blocking section of the Code bites page.
unsigned long lastQuarterTime = 0;
unsigned long lastThirdTime = 0;
void setup() {
}
void loop() {
// this block will run four times per second
if (millis() - lastQuarterTime >= 250) {
// do some stuff
lastQuarterTime = millis();
}
// this block will run three times per second
if (millis() - lastThirdTime >= 333) {
// do some stuff
lastThirdTime = millis();
}
}
Monday, Feb. 7th: Project 1 work time
- Advice on building and debugging: “Unit testing”
- Start with simple, isolated individual pieces (e.g. one input, or one output)
- Confirm that the one piece is working as expected
- Then try to connect it (in software) with another piece (e.g. connect one input to one output)
- Keep putting small pieces together, patiently, slowly building up your whole
- Code structuring advice: generally, there are four main parts of your loop:
- Read information about the world
- Change internal state variables
- Drive outputs
- Report data back to the user
See this Code bites sketch for a more complete example that uses this structure
- Wednesday’s critique structure
- About 8 minutes per team
- You’ll talk us through your device from the front of the room
- We’ll see it magnified through the document camera
- Quick questions from the class
- Plenty of time at the end to try to chain everything together!
Wednesday, Feb. 9th: Project 1 critique
- Teams show their projects one at a time
- And for the grand finale, we chain them all together!
Monday, Feb. 14th: Project 2 ideation review
- Project 2 ideation review with Zach and Eric
- Reminder: Project 1 documentation due Wednesday, Feb. 16th
Wednesday, Feb. 16th: Project 2 work time
- Project 1 documentation is due at the start of class.
- Zip zap zop!
- Peer ideation review in groups of 3. Each group should spend 5 minutes per person:
- First minute is the person’s ideation pitch
- Last four minutes are for feedback/discussion. Try to address:
- Any part of the project that you believe will be very difficult. Can it be worked around?
- Identifying parts of the project that are critical to its success.
- Thoughts on ergonomics/design
- Thoughts or tips regarding technical pieces (“I think you might want to use this part for that,” etc.)
- Any other thoughts you’ve got
- Disassemble first projects so the parts can go on to live more lives and be used for new things!
- Remainder of the class is work time.
Monday, Feb. 21st: Lasercutting tutorial, Project 2 work time
- The order request form for course project materials is posted at the Useful links page. Please place your request sooner than later if possible!
- Interested students are walked through basic IDeATe lasercutter usage in class. Relevant links to complete the lasercutter training sequence:
- Fire extinguisher training (conducted live via Zoom; go here to sign up for a session) https://cmu.bioraft.com/node/284572/sessions
- Laser cutter safety training (via an asynchronous learning module, so you can do it on your own schedule) https://cmu.bioraft.com/node/2008052/sessions
- Cody’s trainings (videos that you can watch whenever you like) https://resources.ideate.cmu.edu/equipment/laser-cutter/laser-cutter-policies/
- Project 1 grades to be returned by Wednesday (or Zach will bring in snacks!)
- Work time for Project 2; prototypes are due on Wednesday.
Wednesday, Feb. 23rd: Project 2 prototype presentations
- Zach is now more than one week late on grade feedback (for Project 1 final documentation/projects) so there’s a treat for everyone
- Each student presents for five minutes to the class:
- One minute of sharing
- Four minutes of Q & A
- Written responses via Google Slides:
- What is working well here?
- What do you recommend changing?
- Any particular parts/techniques/methods/devices that you’d recommend they look into?
- Any other thoughts?
- Brief remainder of class is work time
Monday, Feb. 27th: Project 2 work time
- Work time for Project 2, which is due on Wednesday
- A few reminders as you progress:
- Focus on creating a minimum viable product first, then add additional/optional features to what you’re making
- Remember that while you can’t full credit for showing up with a device that’s not totally functional, you’ll be able to get lots of partial credit—so just get however far you can get
- If your device is fully working, take a video right then! It’s very common for a thing to work the night before the crit, but then fail the next morning for whatever reason.
- Take pictures as you go (process documentation is an important piece of this project)
Wednesday, Mar. 2nd: Project 2 Final Crit
- Class is divided into halves to present their Project 2 pieces
- Each student shows their work for ~10 minutes and gets written, and verbal, feedback from other students as well as guest critiquers
- Written feedback goes onto this form
Monday, Mar. 14th: DSLR lesson, work time
- Voting on final meeting time: how do people feel about Monday, May 2nd, 1–3:30 p.m. as the final critique slot? [Vote passes unanimously—that will be our new final presentations slot.]
- One additional little piece of homework for Wednesday: reading and responding to a short, interesting paper about different people’s experiences living with disabilities: Nelson, M. K., Shew, A., & Stevens, B. (2019). Transmobility: Rethinking the possibilities in cyborg (cripborg) bodies. Catalyst: Feminism, Theory, Technoscience, 5(1), 1-20..
- DSLR tutorial in class
- Remainder of class time given to work on Project 2 documentation
Wednesday, Mar. 16th: Beginning of Final Project, with design client guests
- Welcome to our guests (design clients for Final Project)
- Introductions and names
- Introduction to Final Project
- Project overview
- Schedule overview
- Discussion of purpose of needfinding interviews/meetings
- Brief review of a few past projects
- Two Truths and a Lie played in randomized groups
- Building activity: teams each use household materials to build a solution to a problem like “My little brother is so annoying,” or “I always forget my hat when I leave the house.”
- Final project teams announced; they are posted on Canvas
Monday, Mar. 21st: No class to allow time for teams to conduct interviews
Wednesday, Mar. 23rd: Interview debriefing
- Due: Ideation sketches
- Quick zip-zap-zop at the top
- Question about masking: the university policy is changing such that starting Monday, March 28th (our next class meeting), masks will no longer be required indoors. If you are uncomfortable being unmasked in our class, please email me letting me know and I will ask everyone to please keep their masks on (I won’t reveal your identity).
- Project 2 documentation grades are posted for everyone who submitted their documentation links to Canvas. If you did not, please do that immediately.
- Remainder of class time is spent in team meetings with Zach and Eric about interviews
Monday, Mar. 28th: Prototype work
- Masks are now optional, per university policy
- Brief review of ideation
- Project schedule overview
- Prototyping process introduction
- Course staff meetings with teams
Wednesday, Mar. 30th: Prototype work
- Work session
Monday, Apr. 4th: Prototype work
- Please continue to use our course ordering document for purchase requests
- Brief review of Wednesday critique schedule and presentation slides document
- Remember to take pictures as you go! (Potentially adding them to a shared folder for ease of documentation later on)
Wednesday, Apr. 6th: Prototype presentations
- Each team presents from a slide deck for ~7 minutes
- Quick Q&A from the room
- Long meeting time for teams to confer with their clients about various design discussions to be had
Monday, Apr. 11th: Prototype wrap-up and final build planning
- Debrief of prototype presentations
- Review of overall course scope for the here-on-out
- Please be sure to place critical-items orders soon using the course request form (there’s no strict deadline for this but sooner is better)
- Explanation of expectations for assignment to put together a planning document (due Wednesday), and quick demo of exactly how to use that sheet
- Teams meet with Zach individually to talk over their plans and ideas moving forward (Eric is out today)
Wednesday April 13: Guest speaker, Final build planning review
- Grades and extended feedback on prototypes are posted on Canvas—please read the comments!
- Guest speaker Mallory Hudson joins us from CLASS (Community Living and Support Services), the organization through whom we’ve gotten connected with this semester’s design clients. Mallory’s presentation slides are here for your reference. (Link only works for logged-in members of our class.)
- Remainder of day is discussion time to review everyone’s Gantt charts and planning for the rest of the semester.
- Take pictures as you go!
Monday April 18: A few notes, project work time
- A few follow-up notes from our visitor Mallory Hudson last week:
- “Alt text” is a special feature that can be added to HTML images for the use of screen readers (demo on our course site, in the final assignment page)
- ASL (American Sign Language) classes available at low cost in Pittsburgh via two great organizations:
- Hearing and Deaf Services, located in Uptown (a neighborhood between Oakland and downtown; you can take a variety of buses from campus to get there)
- Western Pennsylvania School for the Deaf, located in Wilkinsburg/Edgewood/Swissvale (an area a bit east of Squirrel Hill; you can take the 61A to get there)
- “De-institutionalization” was a major step away from some truly awful state-run institutions that existed during the twentieth century and came to be decrepit, horrible places for people with disabilities to live their whole lives; see this breakthrough 1972 28-minute documentary if you’re interested: Willowbrook: The Last Great Disgrace
- Brother André’s Cafe on Duquesne’s campus—worth checking out!
- Art show at SPACE Gallery downtown: Deaf Brown American Mom, an exhibit by Fran Ledonio Flaherty (through May 15th)
- Meeting of the Minds is on Wednesday, May 4th, and IDeATe will have a room reserved in the UC.
- You are welcome to show any class work you’d like to (I’m guessing you’ll want to show Project 2 and the Final Project)
- For the final project, the whole team doesn’t need to present—one/two/three of you is all fine
- Please email me to let me know if you’re interested
- As homework for Wednesday 4/20, please fill out a brief form (link to be posted after class via Canvas), which is just a quick check-in so I can take a temperature and make sure all the groups are distributing their work well.
Wednesday April 20th: Work day
- Final project work day
- Take pictures as you go!
Monday April 25th: Work day
- Super clarifying reminder: final presentations are on Monday, May 2nd, 1–3:30pm, in Studio A (same room upstairs where we did the prototype critiques). Refreshments will be served, and guests will be joining us to give their thoughts and opinions.
- Final presentation deck that you’ll be using for next Monday; fill out your section before the critique!
- Please refer to your Gantt chart to assess how you’re doing. Today is probably the last day you should:
- make any major adjustments to your deliverables for next week,
- request any parts ordering,
- or make any big effort reallocations in your team.
- Zach is going to come around to talk with each team and check in. Please prepare a list of to-do’s for each team member.
- Remember to take pictures as you go!
Wednesday April 27th: Final work day
- Reminder that Meeting of the Minds is on May 4th and IDeATe has an area reserved. Quick polling of the room to see who’d like to participate.
- A few final parts are on their way for teams who’ve requested them.
- Begin final fabrication now if you haven’t already! This is very likely the most time-consuming part of your project at this point.
- We’ve currently got eight yeses and six maybes for Monday’s critique, and the list keeps growing.
- Zach is happy to help by appointment—just ask. Availability as of Wednesday morning:
- Wednesday 4/27 2:30–3:30pm
- Thursday 4/28 9–10am; noon–1:30pm; 2:30–5:30pm
- Friday 4/29 noon–1pm; 4–4:30pm