I gave two lectures back-to-back today, which I found a little stressful.
The first lecture was a guest lecture in “Molecular biomechanics” on the basic of protein structure. I spent some time earlier this week picking out protein structure to show the students; digging out my old Darling models protein chain, which I last used for assigning homework in Spring 2011( see also my instructions for building protein chains with the Darling models); and trying to boil down the basics of protein structures to one 70-minute talk. I was up at 3 in the morning setting up the proteins I wanted to show on my laptop, even though I planned to rely mainly on the chalkboard and the Darling model kit.
The protein talk went ok. I covered such basics as primary=covalent, secondary=H-bond, tertiary≈packing, quaternary=multiple chains; hydrogen bonding patterns for helices, antiparallel sheets, and parallel sheets; supersecondary structure; domains; CO-R-N mnemonic for chirality; s-twisted and z-twisted helices (left- and right-handed in the confusing nomenclature used by biochemists); SCOP and PFAM; and maybe a handful of other topics. I only showed two structures on the screen: a TIM-barrel and alpha-hemolysin, and I pointed them to the PDB education pages, which are actually quite good.
The most exciting thing during the lecture was that we had the fire alarm go off, and had to vacate the room for 10–15 minutes. I might have covered a little more if there had been more time, but I did not have a set topic list I had to cover, so it didn’t really matter—I was just giving an extemporaneous dump of protein structure information. I certainly told them all the stuff I had decided ahead of time was essential—I’ve no idea what else would have come out if I’d had 10–15 more minutes. I also managed to get in a plug for the library—they have Darling model kits that the students can check out—and for the information sessions that I arranged for the library to run for bioengineering majors next week.
Right after that talk, I went to the classroom for my applied circuits class and set up for another gnuplot demo. I had about 10 minutes to get some candy from the vending machine also.
In the applied circuits class, I started out by showing them the result of fitting models to (some of) the data I had collected:
The linear-scaling version of the graph the students should produce (they should also plot it on a log-log scale, for a better view of the resistive region).
I had to lend my data to a couple of the students who had not managed to finish the lab yesterday—I assured them that they could continue the lab tomorrow, and that I would stay until everyone had completed both parts of the lab. They will have to use their own data in the design report. While they were copying the data, I took some time to talk about the “zone of proximal development”, imposter syndrome, and how my goal in the class was not to “weed them out”, but to help them achieve difficult success. My goal is to maximize their learning, which means that they will often be struggling with concepts or skills that seem just a bit too difficult. I’ll help them, but it might be such “unhelpful” help as telling them “your breadboard doesn’t match your schematic” and leaving them to find where the mismatch is, rather than debugging for them. Sometimes I’ll have to do more, when the problems are beyond reasonable expectations (like finding the blown fuses in the multimeter and the broken clipleads yesterday). I promised to stay in the lab until everyone finished, even if it took them a long time.
Sometimes I’ll goof on the difficulty of a homework or lab, and they’ll be pushed into frustration rather than just being challenged, but my goal is to get them to persevere and to achieve that very rewarding feeling of finally accomplishing something that seemed too difficult when they started. This course is only 3% of their college education, but I’m going to try to make it accomplish a lot more than that share.
Fortuitously, in my email today I got a story about someone (a marketing manager for an electronics parts company) learning to solder for the first time. I shared that story with my class by e-mail, as I thought that they could sympathize with him (having just learned to solder themselves last week), but also recognize the symptoms of imposter syndrome.
Getting back to the main material for the day, I started the guts of the gnuplot lesson. Building up the plot a little at a time, we first plotted the raw data from one PteroDAQ, then scaled the y values first to amps, then to microamps. Because each group used a different resistor in their test setup, they couldn’t blindly copy what I was doing, but understand at least enough to put in the correct resistance value. I showed them how to switch between linear and log scales on each axis with the plot-window keyboard shortcuts (“L” toggles the scaling on the nearer axis) and we noticed that the data from the first data set (the red one above) was rather sparse at the low end.
I then showed them how to get two plots on the same set of axes, and I managed to get them to tell me what the plot would look like if we had been testing a resistor instead of the electret mic. We then fit a simple resistor model to the low end (the resistive region) of the curve.
I then took a break from gnuplot to explain how an electret mic works. They were a little astonished at how many transformations of the information occurred in a simple device like a microphone: pressure to force to displacement to capacitance to gate-source voltage to drain-source current (and I promised that we would convert back to voltage in tomorrow’s lab). We managed to follow the transformations and see that they were all linear (well, displacement to capacitance to gate-source voltage was a pair of inversions, and I had to wave my hands at , since we don’t have a model of FETs yet, and may not get to one complicated enough to derive that this quarter.
I then went back to gnuplot and showed them how to fit the Isat model to the data, first deliberately trying to fit the whole curve (which gives an obviously wrong result). I had deliberately omitted the amp-to-microamp scaling, and gotten a straight line at zero for my fit—I had them debug that as a group before we got a constant line that was in the middle of the graph. I got them to figure out what went wrong there also. Once they realized I was fitting the whole curve, I showed them how to limit the range of their fitting, and got a reasonable Isat value. My goal here was not to “show them how to use gnuplot”, but to show them that they could debug mistakes that they were likely to make, and that they should not shut down when things went wrong. (A lot of today’s class was this sort of meta-cognition stuff, while still getting in a reasonable amount of technical material.)
I then gave them the blended model, with , converting it to a current model on the board, then trying to fit the data. The result was (unexpectedly) a terrible fit—I did not have them try to debug this, because were were almost out of time, and just showed them that the problem was one of units: my initial guess for R was in Ω, but my currents were all in µA, so I needed to make the resistance in MΩ to have consistent units. After scaling the guess for R by 1e-6, I reran the fit and it worked fine. This gave me a chance to talk about the importance of starting fitting procedures with reasonable guesses, since they might not otherwise converge.
I’ve been getting good participation from the class, only occasionally having to get them to speak up (I’m getting a bit deaf, and when they mumble a guess, I can’t hear them). I’ve been trying not to suppress students who provide incomplete or wrong answers, but encourage them to amplify on or correct each other. So far it seems to be working.
We did not have time to fit the 3-parameter empirical model, but they have the model in the lab assignment and they should be able to fit it using gnuplot now. One student asked me if I was going to distribute a script, as I did last week. I assured him that I was not going to do that. The goal was to build up their gnuplot scripting capabilities, not provide them with crutches. There was very little “new” in this week’s lesson as far as gnuplot was concerned, and gnuplot does have an adequate help system for the sort of stuff they need (though I find the hierarchical help system to be quite poor for finding out about features you’ve not been exposed to—you have to know precisely what names things are hidden under).
I still haven’t gotten to complex impedance, but that will have to be Friday’s lecture. I also wanted to get to load lines today, so that they could select an appropriate size for their load resistors that do the current-to-voltage conversion, but I’ll do that at the beginning of lab tomorrow, when they’ll be scratching their heads about how to choose the resistor. Just-in-time teaching can be a powerful motivator, if they get concepts just after they realize the need for them, rather than months earlier in anticipation of need. I may at the beginning of lab if anyone figured out on their own how to choose the resistor, and get them to present first.