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.
- Monday, Jan. 13th: Intro
- Wednesday, Jan. 15th: Systems thinking
- Wednesday, Jan. 22nd: Project 1 introduction, technical odds and ends
- Monday, Jan. 27th: Project 1 ideation feedback
- Wednesday, Jan. 29th: Juggling multiple timers, Project 1 work timers
- Monday, Feb. 3rd: Project 1 work time
- Monday, Feb. 10th: Project 2 ideation feedback, Project 1 documentation time
- Wednesday, Feb. 12th: Project 2 work time
- Monday, Feb. 17th: Lasercutter tutorial, Project 2 work time
- Wednesday, Feb. 19th: Project 2 prototypes
- Monday, Feb. 24th: Project 2 work time
- Wednesday, Feb 26th: Project 2 final critique
- Monday, Mar. 10th: Final project introduction
- Wednesday, Mar. 12th: Achieva field trip
- Monday, Mar. 17th: Interview debriefing
- Wednesday, Mar. 19th: Prototype work time
- Monday, Mar. 24th: Prototype work time
- Wednesday, Mar. 26th: Prototype work time
Monday, Jan. 13th: 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 winter 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
- Review Gantt chart of major course flow across the semester
- Quick IDeATe walking tour
- Phys Comp Lab tour. Room notes:
- Food and nonwater drink must be consumed in the Zone of Shame and are not allowed at tables
- Please use all resources within reason!
- Please use the “Name Coach” feature on Canvas today or tomorrow
- Strong recommendation: sign up for the university fire extinguisher training which is the hardest part of the process to gain access to IDeATe’s laser cutters. Link to relevant Bioraft (training system) page.
- Homework 1 assigned, due Wednesday 1/15
- Today’s music, for those who are interested: Moondog, in his 1969 eponymous album.
- Handing out beginning of course kit—each student gets an Arduino Uno R3 and USB cable
Wednesday, Jan. 15th: Systems thinking
- Meeting new students joining our class
- Reviewing asynch discussion board homework questions
- Syllabus review (as of this writing, 54% of you have read it carefully, not so great)
- Weekly Feedback assignments introduction
- Weekly Feedback #1 is posted and due on Friday at noon
- Previous-semester projects review (this was part of Homework 1)
- Today’s music, for those who are interested: from the group “Selva de Mar,” downloaded (legally) from the Free Music Archive
- Introducing the ioRef cards and associated resources
- Lesson on using ioRef cards to diagram data flow through a system
- Drawing the equivalent diagram using the customized diagrams.net interface, accessible at https://draw.ioref.org
- Teams discuss and draw assigned devices: microwave, projector, radio-controlled toy car, refrigerator, old-school (wired) telephone
- Reminder to sign up for a fire extinguisher use training if you haven’t already
- And IDeATe will have a specially-scheduled one at some point on Thursday 1/30, though the timing hasn’t been pinned down.
- Handing out course kit. Everybody gets:
- 1 6 qt. plastic tub with name tag (label your tub!)
- Inputs
- 1 CdS (cadmium sulfide) photoresistor
- 1 HC-SR04 ultrasonic ranger
- 1 10kΩ potentiometer
- 1 tactile pushbutton
- Outputs
- 3 LEDs (any colors you like)
- 1 hobby servo motor
- Connectors
- 1 breadboard
- ~10 male–male jumper wires, including at least two red and two black ones
- Electronics components
- 3 270Ω resistors
- 1 5.6kΩ (5,600Ω) resistor
- 1 10kΩ (10,000Ω) resistor
Wednesday, Jan. 22nd: Project 1 introduction, technical odds and ends
- Asynch homework review
- Reading resistor color codes, measuring resistance values with a multimeter
- Wiring buttons with
INPUT_PULLUP
mode - Data types in
C
bool
:true
orfalse
int
: whole number in range –32,768 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 without truncating it). 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.
, orq
(yes, aString
can be just one character long, confusingly), or735
—though it looks like a number, it’s aString
so it has no numerical value- Read lots more details at this section of the main Arduino reference page
- Project 1 introduced
- Demo sample project shown in class
- Schematic drawing using draw.ioref.org
- Schematics aren’t the same as functional block diagrams
- They show every wired connection
- Use ground and power nets to reduce clutter!
- Sample software sketch introduced, including:
- Opening comment block explaining the software’s purpose and including a pin mapping
- Declaration of global variables
- Four part
loop
with named functions:- Read inputs
- Make decisions
- Drive outputs
- Report back to the user
- Groups introduced (posted as announcement in Canvas)
- Ideation is due Monday 1/27 at the start of class
Codebook: Mis-typed data won’t throw compilation errors!
void setup() {
bool favNum = 8;
int favFraction = 3.9;
int twiceThat = favFraction * 2;
float goodwayofstoringnumber = 3.9;
}
Monday, Jan. 27th: Project 1 ideation feedback
- New student intro
- Technical project planning using functional block diagrams
- Making custom functional block elements
- This week’s Weekly Feedback will be due tomorrow at noon; then starting next week they’ll be due at 9:30am on Mondays
- Individual Project 1 ideation meetings with Zach and Ella for balance of class
Wednesday, Jan. 29th: Juggling multiple timers, Project 1 work timers
- New student intro
- Reminder about project 1: each team member can share all design (software, electrical, and mechanical) with each other; but remember you each need to build your own physical iteration of the device
- Pointing out particularly useful parts/materials for the project:
- Project 1 boards in class cubbies
- Soldering parts in “Connectors” section
- I2C LCD displays in “Output” section (female–male jumpers are useful for these)
- Remember that “slow is fast”—if you take your time and do these things carefully as you proceed, you may well save lots of sadness later on:
- Unit test as you go, keeping your eye on the big picture
- Choose good variable names
- Wire things with the correct colors (red for power, black for ground, other for other)
- Save test sketches with good names
- Structure your code cleanly
- Crit structure for next Wednesday
- You’ll come to the front of the room and show your project on the document camera for a couple minutes
- Then, I will reach in and mess with your middle step, to confirm that it’s actually driving the output. So be sure that you’re really, truly using that middle-step sensor to affect your output!
- At the end of class we’ll invite IDeATe and library staff to check out our attempt at a signal chain for fun
- Your final documentation will require process images, so be sure to take pictures, do screengrabs, etc., as you go.
Monday, Feb. 3rd: Project 1 work time
- Brief review of Project 1 final critique grading (described fully here)
- Technical proficiency wants your signal to make it through the whole machine
- Skip-the-middle button should do what it says
- Physical arrangement is very straightforward
- Labeling is very straightforward
- Status display is pretty straightforward
- Soldered connections for the middle step (also please don’t solder right onto the pins of something you expect to put back into the lab stock)
- Proper wire colors is easy, too
- I forgot to post weekly feedback—we’ll skip it this week because I don’t want to add to your load with short notice. As always, please email me with questions/concerns.
- Zach’s upcoming availability (email to request an appointment):
- Monday 2/3 2–5pm
- Tuesday 2/4 9am–1pm, 2:30–5pm
- Remember to take pictures/screenshots/etc. as you go for process documentation—both successes and failures!
Monday, Feb. 10th: Project 2 ideation feedback, Project 1 documentation time
- A lesson from Project 1 many people commented on: Hofstadter’s Law, which says that things take longer than you think, even when you think you know that they’re going to take longer!
- Clarification about Project 1 documentation expectations
- Reminder to bounty hunt broken links, confusing instructions, etc. for extra credit
- Project 2 quick ideation feedback in class
- Remainder of class time is also Project 1 documentation and disassembly time
Wednesday, Feb. 12th: Project 2 work time
- Clarification of prototype expectations for 2/19 due date
- Aspects of your project that will be time consuming to iterate on, in likely-descending order:
- physical/mechanical fabrication
- electronics
- software
- Keep these in mind as you’re working on the project and give yourself plenty of time to make mistakes!
- Fusion 360 tutorial assigned as homework for Monday so that everyone can come in and lasercut some parts on Monday in class (when we’ll show you how to use our IDeATe lasercutters). This is about 1 hour of video lecture that you’re expected to work along with, and you’ll need to turn in a link to your design as well as your DXFs as the work product for this homework.
- Advice-sharing session in class for students to give each other project 2 ideation feedback in small groups
- Just as in Project 1, this project will want process images for the final documentation, so take pictures as you go!
- Project 2 prototype work time
Monday, Feb. 17th: Lasercutter tutorial, Project 2 work time
- If you’ve got things to order for Project 2, let me know soon!
- Repetition of expectations for Project 2 prototype critique on Wednesday: some meaningful effort towards the final product that is due a week later, but not necessarily a version 1.0 of what the final will be.
- Class is divided into sixths and each student has opportunity to use IDeATe’s lasercutters to cut their file
- Work time for all students who aren’t getting laser training
- Take pictures as you go! Final documentation will want process images.
Wednesday, Feb. 19th: Project 2 prototypes
- Grades for Project 1 documentation are overdue as of the start of class today, so: cookies!
- If you have already completed the fire extinguisher training and the online laser safety training, then because you did the IDeATe-specific training on Monday, you can now gain IDeATe laser access by emailing the two BioRAFT/SciShield certificates of completion to
help@ideate.cmu.edu
. - Project 2 prototype critique:
- Each student comes to the front of their room and shows their prototype for a couple of minutes
- Brief verbal feedback at that time, and written feedback via the “Project 2 quick prototype feedback” document that’s in our class’s shared drive
- Reminder that if you want to plan out your steps in working on this project, you may wish to use the ioRef drawing tool to sketch out different functional block diagrams in a developmental sequence
- If you need an order placed, tell Zach today!
- Please disassemble your Project 1 boards and return all usable materials to their homes (throw out broken things in the e-waste as needed)
- Project 2 final critique preview:
- We will have the class divided into halves for the crit
- You will present for a few minutes, then your classmates and invited critiquers will give feedback for a few more minutes
- The point of the crit is not to make you feel bad but rather to get a variety of perspectives on your work!
- Remainder of class is work time
- Take pictures as you go!
Monday, Feb. 24th: Project 2 work time
- Be sure not to try to cram too many wires into too small of a box. Give yourself a little bit of breathing room!
- Quick review of panel-mount parts using the demo boards in the lab
- Reminder of Project 2 grading standard (basically, it should work! And have some labels for the user.)
- I am available for appointments some of this afternoon and basically all day tomorrow. Please just ask!
- Take pictures as you go for process documentation.
Wednesday, Feb 26th: Project 2 final critique
- Class is divided into two groups, and every student presents their project 2 work:
- 1–2 minute intro/demo
- 4–6 minutes of verbal discussion/feedback
- 2 minutes of written feedback
- At the end of class, there’s time to walk around and see the other students’ work
- Have a nice break!
Monday, Mar. 10th: Final project introduction
- All Project 1 documentation grades/comments have been returned; if you want to make any changes, you have one week from the time your grade came back to update the page and then resubmit the same URL via Canvas to let me know you want regrading.
- Discussion about disability with reference to intro. chapter from Beginning With Disability, ed. Lennard J. Davis. Some key topics:
- Language (people-first vs. identity-first)
- Deaf vs. deaf communities and self-conceptualization
- Charity, medical, and social models of disability
- Relevant videos:
- Geraldo Rivera’s 1972 exposé of the Willowbrook State School (YouTube link)
- Capitol Crawl (YouTube link)
- Stella Young’s TED talk “I’m not your inspiration, thank you very much (YouTube link)
- Demos of AT (assistive technology) devices borrowed from TechOWL!
- Universal design principle: if you make something more comfortably/easily accessible for one audience, it’s likely going to also be more accessible for others, too.
- Final project introduced
- Overall project structure and timing
- Discussion of expectations, etc.
- Wednesday Mar. 12 is a field trip to the Achieva group home; we will meet in class, very quickly do attendance, and get on the chartered bus together. Please be on time!
Wednesday, Mar. 12th: Achieva field trip
- We visit an Achieva group home in West View, north of Pittsburgh, and teams conduct needfinding interviews with their clients
- Reminder: Project 2 documentation is due Friday πday at 5pm
Monday, Mar. 17th: Interview debriefing
- Project 2 documentation was due Friday at 5pm, I hope you’ve all turned it in. I historically take more than a week to grade all of those but we’ll see!
- Discusison of overall impressions/thoughts from the interview sessions
- Brief review of interview documentation expectations, due on Wednesday at the start of class
- Review of prototyping process expectations for next major deadline, prototype critique in class on Monday, Mar. 31
- Most prominently: the prototypes are meant to be experiments designed to answer specific questions, rather than (necessarily) version 1.0’s of the final projects
- Individual team reviews with Zach and Ella to discuss their ideation and next steps
Wednesday, Mar. 19th: Prototype work time
- Interview documentation due at the top of class
- Group discussions
Monday, Mar. 24th: Prototype work time
- E-waste: a big problem. We watch a brief 2009 PBS documentary, “Ghana: Digital Dumping Ground.” It’s no longer viewable on their website since it uses Flash to play the video so we watch it on YouTube link, and discuss.
- Prototype critique in one week
- Take pictures as you go!
Wednesday, Mar. 26th: Prototype work time
- Brief review of plan for Monday’s prototype critique
- I’m reintroducing Weekly Feedback, which took a hiatus. Today’s can be handed in up to 24 hours late without penalty since I didn’t give you warning. Generally they will be due on Monday mornings at 9am.
- I took your interview documentation offline since Achieva had a privacy concern, which we’re talking about. Please don’t put those pages back online!
- Final project purchases are processed through a Google Form and their status is listed in a spreadsheet; both of those are linked from this Canvas announcement
- I am very, very close to completing Project 2 documentation grading. Expect those to be posted early this afternoon! Thank you for your patience. You will have one week from the time you get my feedback to make any changes and resubmit for regrading.
- Prototype work time
- Take pictures as you go!