My counts of which days were which in the freshman design seminar were all messed, so three of my blog posts were misnamed:
|date||which day of class||blog post|
|Mon 2014 Jan 6||1||First day of freshman design seminar|
|Wed 2014 Jan 8||2||Second day of freshman design seminar|
|Mon 2014 Jan 13||3 (Baskin lab tour)||Third day of freshman design seminar|
|Wed 2014 Jan 15||4||Fourth day of freshman design seminar|
|Wed 2014 Jan 22||5||Fifth day of freshman design seminar|
|Mon 2014 Jan 27||6||Sixth day of freshman design seminar|
|Wed 2014 Jan 29||7 (Biomed lab tour)||Biomed lab tours and online discussions|
|Mon 2014 Feb 3||8*||Seventh day of freshman design seminar|
|Wed 2014 Feb 5||9||no post (ill and group tutor ran class)|
|Mon 2014 Feb 10||10*||Ninth day of freshman design seminar|
|Wed 2014 Feb 12||11*||Tenth day of freshman design seminar|
|Wed 2014 Feb 19||12||Twelfth day of freshman design seminar (this post)|
Today we started by having the students turn in their Arduino programming homework, then start writing the program as a group. I told them that I particularly wanted those who had trouble with the assignment to provide input—I’m trying to get them to realize that questions and confusion are normal, and that the right action to take in college is to ask questions, rather than to hide ignorance.
This particular assignment was expected to be hard for them—I had not done the scaffolding for it that I had originally planned, but threw them into it with very little preparation. I told them that, but also that I was trying to get them used to looking things up and figuring them out, rather than waiting to be told exactly what to do. Again, I’m trying to get them out of the “regurgitate what the teacher said” mode that K–12 education has trained them into. If I accomplish nothing else this quarter, I hope to increase their willingness to ask questions (of their teachers and of the things they read).
We did get the program written, with some digressions into the difference between “==” and “=” in C++ and the convention in C and C++ that 0 is false and any other value is true. I also managed to work in the importance of good variable names to tell people what things meant, though this particular program doesn’t need any variables. The students now have the notions of serial execution, conditional expressions, if-statements, digital I/O, serial communication (we had a digression into baud rate), and the Arduino setup/loop structure, which may be enough for their projects—they may also need analogRead(), which I should be sure to demo on Monday.
I then typed in the program we had created together and demoed it with Arduino. I had deliberately left in a bug that I had spotted (no space between the printing of the different fields), and the class spotted it and came up with a reasonable correction when the first output came out.
We only had about 10 minutes left, so I gave them feedback on their project proposals:
- Type homework for college classes! Two of the groups had turned in hastily scribbled notes.
- Give explicit specifications for the project. How big an incubator? How precisely does the temperature need to be controlled? How fast does temperature have to change for PCR? What temperatures are needed and how precisely? How many tubes need to be run through the PCR machine at once? How much acceleration does the centrifuge need to produce? How precisely does the speed need to be controlled?
- Provide a block diagram giving all the components of the system (power supply, motor, fan, rotor, temperature sensor, … ) and lines showing the connections. I talked about the importance of specifying the interfaces between components so that people could work simultaneously on different parts, and the need to renegotiate interfaces if the initial specification of them caused problems.
We talked a bit about prototyping—I want them to build something and learn enough to make an improved design, even if they don’t get a fully functional prototype.
For Monday, I assigned them the task of fleshing out the specifications for their project and producing a block diagram, filling in as many details as they could. The group tutor is going to try to find time to meet with each group for an hour before then, to help them with flesh out their designs.