Gas station without pumps

2015 September 17

Getting ready for a new year: before and after

Filed under: Uncategorized — gasstationwithoutpumps @ 14:01

Classes start next week, so I spent a little time this morning getting myself ready for classes: here are before and after pictures:





2015 September 16

H-bridge Class-D works

Filed under: Circuits course — gasstationwithoutpumps @ 23:09
Tags: , , , ,

The simplified class-D amplifier using a cMOS H-bridge works! Using an inverter chip (in this case a 74HC14N Schmitt trigger chip) to provide separate amplifiers for each nFET and pFET allows using the TLC3702 rail-to-rail comparator, despite its rather wimpy current output. Using an H-bridge allows 10V swing with only a single 5V power supply (in my case, just USB power from my laptop).  Driving an inductive load (a 220µH inductor in series with an 8Ω loudspeaker) got clean 800ns rise and fall times, and the LC filter design made almost all the PWM carrier frequency disappear from across the loudspeaker.  I got no noticeable shoot-through current, and I couldn’t see the Miller plateaus on the gate voltages (I’ll check that again tomorrow with my faster analog oscilloscope—I was just looking at the signals with the Bitscope B10 with the DP02 differential probe).

I was getting a rather annoying amount of 60Hz hum, probably from the microphone preamplifier.  I’ll have to play with it a bit tomorrow to see if I can avoid the hum pickup.

The high frequency triangle waves from the FG085 function generator are not very good, but I cleaned up the digital-to-analog converter steps by adding a 10nF capacitor across the output.  With the ~47Ω output resistance of the FG085, this makes a 340kHz low-pass filter, which is fine for triangle waves around 50—100kHz.  Any larger capacitor and the waveforms started getting too sinusoidal.

I think I’ll rewrite the Class-D lab around an H-bridge design, rather than the open-collector comparators and 3 power supplies. The parts are about $1.50 more (extra nFET and pFET, more expensive comparator, extra inverter chip), but the design is much simpler, and the PWM waveform clearer.


Class-D power amp lab revamp

Filed under: Circuits course — gasstationwithoutpumps @ 11:06
Tags: , ,

I’ve been struggling all summer with half-baked ideas to try to improve the class-D power amp lab in the applied electronics course.  Since the first run of the course, there have been too many concepts packed into that one week, and too much stuff to do for students to understand it all.  It also has been the one that been most difficult to convert to a home-lab exercise, because it used a triple power supply.

One idea that I have implemented, though I’m a bit worried about whether it will work, is to make the first amplifier lab, the microphone pre-amplifier, require soldering, so that the class-D lab can use the microphone pre-amp as a pre-built module, without having to rebuild it. I’ll need to think about the possibility of reordering the labs, to do a breadboard lab before the soldered pre-amplifier.  Perhaps the transimpedance amplifier can come before the microphone amplifier??

The other idea I’ve been toying with, and that I’ll have to build and test this week, is to use a single power supply and an H-bridge for the loudspeaker.  That way I could keep the voltage down to 6V (in spec for the op-amp in the preamplifier) and still get enough power to the speaker (4.5W for an 8Ω speaker).  Because the voltage range is now ok for many cMOS parts, I can eliminate the open-collector output comparators, and use a rail-to-rail comparator like the TLC3702.  I’ll need an inverter for controlling the two sides of the H-bridge, so I could use a hex inverter package and use a separate inverter as a driver for each of the four FETs.  I could even have students get a second 74HC14N Schmitt trigger chip, as they have the same drive capability as 74HCU04 inverter chips, and increasing the number lowers the cost below buying one of each for the students. I estimate that the gate rise and fall times will be faster than what we’ve been getting with the open-collector designs, so shoot-through current should not be a major problem.

H-bridges are probably more useful to the bioengineers than open-collector circuits, because many of them will be taking the mechatronics class and building motor controllers. Having seen and designed H-bridges before will make their motor control seem more natural.

For the argument in favor of open-collector circuits: Many students will be learning how to do I2C interfacing in the sensors class, which uses open-collector (or open-drain) wiring, but the reasoning for the pullups needed in those designs is somewhat different from what is needed in the class-D amplifier anyway.

I’ve drawn up a schematic for a possible design and will try building it tonight or tomorrow.  The last time I tried using a TLC3702 comparator in a class-D amplifier, I did not have much success, but I was trying to swing a much larger voltage then and did not have inverters as extra amplifiers for each gate—the inverters seem to have about twice the drive capability of the TLC3702 output.  The combination of smaller voltage swing and greater current should make the transitions on the gates fast enough that shoot-through current should not be a problem (fingers crossed).

2015 September 10

Teaching, Service, and Research

Filed under: Uncategorized — gasstationwithoutpumps @ 10:56

As part of my review for a salary increase, I need to write a personal statement about everything I’ve done during the review period, Sept 2011–Sept 2015.  I’ve found these personal statements quite difficult to write in the past, and I’ve got only a couple of days to do this one, after putting it off all summer.  Yesterday I found that doing my 3-year-overdue sabbatical leave report as a blog post helped me write it—having an audience to talk to rather than just writing a report to be stuck in an electronic filing cabinet made it easier to write the report.

My blog also served a useful function as a rough diary of things I was thinking about—I went through the titles of the sabbatical year’s posts and remembered a lot of things I did then that I had since forgotten about. Having three years of perspective to note which things I did went somewhere and which ones were dead ends made it much easier to cull the material and boil it down to a 4-page report.  Of course, I need to redo it, since I was told today that I can’t mention anything that happened after the sabbatical was over, even if that context is essential for explaining the relevance of the item in the report.

So here is my first draft of my Teaching/Research/Service statement covering September 2011–September 2015.

The time period for this report (Sept. 2011–Sept. 2015) started with three quarters of sabbatical, during which time I taught no classes.  Rather than detail my sabbatical here, I point the reader to my sabbatical leave report for that year, but I’ll point out some connections that may not be obvious from the sabbatical leave report.

As my sabbatical ended in June 2012, my teaching load for 2012–13 changed.  Because I no longer was scheduled to do an introductory programming course for biologists as I had been preparing for during the sabbatical, I decided to take on the creation of a new course as an overload.  The one I saw the most need for in the bioengineering curriculum was an applied electronics course, so I spent most of the summer and fall of 2012 teaching myself analog electronics and designing a course for bioengineers, which is explained below under BME 101/L.

For my academic activities since then, I will not use a chronological format, but will organize my statements according to the three fields faculty are evaluated in: teaching, research and service.  As explained in my sabbatical leave report, I decided to focus on teaching and curriculum development for the past several years, so I will put teaching first and research last in this summary.


Each Fall (except for my 2011–12 sabbatical year) , I teach BME 205, Bioinformatics: Models and Algorithms (5 units) and BME 200, Research and Teaching in Bioinformatics (2 units), which I prefer to think of as How to be a successful graduate student. Both these courses are ones I’ve taught many times, and the main challenge for me in the courses is providing good feedback on the many required papers and programs.  I allow students whose work is not up to standards (theirs or mine) to redo the work after feedback, which increases the grading load.

BME 200 Bioinformatics Research and Teaching

Student comments on BME 200 indicate that they would like more direct instruction on learning to use LaTeX, which I will try to provide this year.  Some students saw the instruction in teaching techniques as pointless, though this may reflect a research-only focus that may not match their future careers.  Several students would like a clearer schedule of topics, which I will try to provide this year.  I’ve had a schedule on the syllabus each year, but things have always had to be rearranged to accommodate guest lecturers, some of whom the students appreciated and some of whom the students saw as unnecessary.

BME 205 Bioinformatics: Models and Algorithms

Typical comments from students in BME 205: “I learned more about python in this class than in any other course I have taken. It is a very fast paced course that takes a lot of effort, but I got a lot out of it because of how it was structured.”  “Most I’ve ever learned in course and most interesting course I’ve taken at UCSC. My only complaint is that I wish there was an undergrad version of the course, as it is a little intimidating taking grad courses.”

One student complained “I’m used to not spending more than 5–10 hours per week on a course (including attending classes), and this class was easily 15–20+.” The class is a 5-unit class and so is intended to take 15 hours a week.  I may have erred a little on the high side, but a student expecting classes to take only 5–10 hours a week as a senior or grad student has not been properly challenged as a university student.

One concern expressed by more than one student was that the requirements for the assignments were often difficult to determine.  In some cases this was because the students lacked required prerequisite material, and in others because I provided too much background information in the assignment, obscuring the task. I’m still working on finding the right balance between explanation and minimal task specification.

I’ve also found it difficult in BME 205 to communicate my commenting and coding standards to the students, many of whom have never had anyone read their code before and have no idea that the style they have developed is way below standards. I do some instruction on common problems ahead of time, but the students always seem to forget or ignore it—only the feedback on their own work seems to get their attention.  It would, perhaps, be good to give them a written worked example as a model for what I’m looking for, rather than just in lecture format, but I’m not sure how much that would help.

One student complained that “The course is not supposed to require any programming experience, however a lot of experience was assumed,” but the course does have another programming course as a prerequisite, and students are advised that two prior programming courses are recommended.  Where the student got the misinformation that the course is not supposed to require programming is a mystery, since the syllabus points to a list of prerequisites.

BME 101/L Applied Electronics for Bioengineers

I spent a lot of Summer and Fall 2012 designing a new course, a first electronics course for bioengineers.  I taught that course for the first time in Winter 2013 as BME 194/F, Group Tutorial, using the existing course code to prototype the course and refine it before seeking approval of the Committee on Educational Policy. I taught the course thereafter as BME 101/L (7 units combined) in Spring 2014  and Spring 2015. The class is now named Applied Electronics for BIoengineers, and is now a required course for bioengineering majors in all concentrations, replacing EE 101/L.

The course was originally created because the EE 101/L, Circuits, course was not working for bioengineers in the biomolecular concentration. EE 101 is basically an applied math course, providing the foundations for engineering design in future EE courses, but not teaching much engineering design itself.  Bioengineers taking only a single EE course are not well served by EE 101, because they were prepared to do something that they then never did.  BME 101/L in contrast was designed to reduce the mathematics, but emphasize engineering design. The goal was to provide bioengineers with strong design experience (missing from most of their courses, which have a strong science focus) using projects that would resonate with bioengineers.

BME 101/L is organized around the labs, and there are only three major EE concepts for the course: voltage dividers, complex impedance, and negative-feedback op amps.  They use those building blocks over and over to characterize devices and to design circuits for  temperature measurement, blood and breath pressure measurement, optical pulse monitoring, salinity measurement, and electrocardiograms. They also design and build both a microphone preamplifier and class-D power amplifier (the class-D amplifier has a lot in common with motor control circuits).

In addition to the three core EE concepts, the course emphasizes modeling mathematical models to summarize data that the students collect, and plotting both data and models.  For some reason, the bioengineering curriculum was curiously lacking in both plotting data and modeling. The models we use are not just the clean linear models of the typical circuits course, as some of the data is distinctly non-linear, such as the loudspeaker impedance vs. frequency and the current-vs-voltage curve for the electret microphone.

The printed-circuit board design that I learned during my sabbatical has proved to be useful for BME 101/L, as I use custom PC boards of my own design as prototyping boards for the students to use for soldering amplifiers.  In Summer 2015, I redesigned the amplifier prototyping board, so that it would be easier to use and could be used for the microphone pre-amplifier lab as well as the EKG lab.  The previous prototyping board had been used for the instrumentation amplifier lab and the EKG lab, but the instrumentation amplifier was not really reusable within the course, unlike the microphone preamplifier, which will be used again in the class-D power amplifier lab, decreasing the complexity of that lab somewhat, as well as reinforcing the concept that designs are building blocks for larger designs.

The Arduino programs used for home-schooling physics during my sabbatical were developed by my son into an Arduino data logger, which I used in the first offering of the applied electronics course. That software has since developed further into the open-source PteroDAQ data acquisition system, maintained by my son and me at I have been using PteroDAQ extensively in the labs for BME 101.

Improving BME 101/L and encapsulating the pedagogy for it in a textbook has become my main scholarly pursuit. The lab handouts that I developed in the first two offerings of BME 101/L became a draft textbook that I gave (in PDF format) to the students in the third offering.  I have continued to work on this textbook, distributing it through Leanpub, a self-publishing company that encourages authors to release unfinished work and get reader responses before seeking wider distribution. The book is now available at, and I included the most recent draft in the Scholarly/Creative Work section of my review material.

I have been blogging about the development of the course since I first started work on it, and now have 363 posts on my blog related to the course, listed at

Student comments on the first offering of the electronics course were generally positive: “This class was great. I learned tons of material of the course. The effort professor Karplus puts into the class and students is incomparable to any other teacher experienced here at UCSC. It was a great class, learned tons of material and it was fun. I have a fun time doing all the circuits and cool sensors!” “His style of teaching this subject with the emphasis on design and implementation was very useful for someone with little to no experience in electrical engineering.”

But there were some specific criticisms that were addressed in subsequent offerings.  For example,  that offering turned out not to have enough lab time at 3 hours a week, so I redesigned the course to have 6 hours a week of lab, in addition to the 3.5 hours a week of lecture. Complaints about the lack of clear standards for the lab reports were addressed by preparing guidelines, which now form a chapter of the text book.

On the second offering of the course(Spring 2014), comments were again generally positive, “Forcing us to work through problems on our own was definitely more effective than route memorization and ‘cookbook’ lab procedures. The emphasis on creating our own designs and finding something that works, followed by evaluation of our system and discussion of results was an excellent strategy to move engineering students away from finding ‘the right answer’. The chance to re-write lab reports and fix their flaws was great, too; it allowed us to become better writers and to cut down on laziness in explanation and analysis.” But students rightly complained about the workload—many of the labs took longer than I had expected, because students came to the lab unprepared, and ended up wasting a lot of lab time doing the homework they were supposed to have done before lab.  On the third offering of the course, I moved to requiring the prelabs be turned in the day before the lab, rather than the day of the lab, which resulted in much better prepared students.

On the third offering of the course (Spring 2015), the feedback from the students was a bit more negative, complaining about the total time, the scheduling of the due dates, and my attitude towards students.  Some of the increased negativism came from the class being larger (so I had less one-on-one time with individual students) and from the class now being required of all bioengineers, rather than an option for avoiding EE 101/L.

But some of the complaints are valid. The total time spent on the course is still a bit too high, and I’ll try to reduce that this year by providing a bit more scaffolding for some of the more time-consuming assignments. The due dates worked better this year than in previous offerings, because I could get student work back to them on Monday after a Friday due date, rather than having a week delay.  Also students had the weekend to work on the prelab assignment for the next lab, rather than coming to lab unprepared. I’ll try to get the students to write the reports as they go, rather than leaving it until the night before it is due.  Perhaps requiring a preliminary report on Wednesday, between the labs, would get this point across.  It is quite likely that I was more irritable than usual with students, as I was getting very little sleep that quarter—I was spending 14 hours a week in the lab with students, 3.5 hours lecturing, about 15 hours grading, and about 12–15 hours a week rewriting the labs to be more comprehensible.  This was all in addition to the other class I was teaching and the time spent on advising and administrative tasks.

I am hopeful that Spring 2016 will be less stressful for me and for the students, as I will not have a program self-study to work on and will only be teaching one course.  I am a bit worried that the grading load will grow even larger as the class grows, as I am still not scheduled to have a TA for the course, and the level of feedback and speed of grading required is more than I can expect of an undergraduate grader.

BME 123T Senior Thesis Presentation

In Spring 2013 and Winter 2015, I taught BME 123T, Senior Thesis Presentation, a writing course for bioengineering students doing senior theses. Although the course is a 2-unit course, it took far more of my time than most 5-unit courses would, as I scheduled weekly 20-minute meetings with each student, and I read multiple drafts of each student’s thesis (5 rounds for Spring 2013, 4 rounds for the larger class in Winter 2015).  Most of the students had never had a faculty member pay that much attention to their writing, even in the required technical writing course that they had taken.

Students seem to appreciate the effort I put in: “Kevin is a fantastic Instructor, I feel like he is one of the best to be teaching this course, he gave informative constructive criticism on each thesis draft. He also was very patient and kind as well. Reading everyone’s thesis every week took a considerable amount of time and effort and I think all of his efforts will greatly show in the quality of the theses from the class.” “The feedback on our theses was extremely helpful, as was meeting once a week to talk about the project and practice elevator talks. I feel like I became a more effective science communicator.”

But there were suggestions for improvement:

  • In the Spring 2013 round, one student suggested doing one fewer draft, which was implemented in Winter 2105.
  • One student recommended requiring learning LaTeX, rather than just suggesting it strongly. I did not adopt this suggestion, because many of the students were working with faculty who insisted on Microsoft Word document.  I did not want students to have to do two versions of the thesis in different formats, though I did encourage them to use LaTeX if their adviser would permit it, as the automatic figure numbering and cross-referencing works much better in LaTeX.
  • In Winter 2015, one student requested more explicit information about the expectations of the thesis before the course started, which I have put on the web at I point all bioengineering students to that page in Fall quarter, well before the winter quarter offering of BME 123T.
  • To address the concern about students starting Spring quarter with no draft of their thesis, I moved the course from Spring to Winter, so that most students are doing the thesis writing in the middle of their research, rather than at the end.  This change has had a very positive effect on the quality of the theses (in part because writing about what they are doing has made them think it through more carefully). I have also emphasized as Undergraduate Director that students must write a draft of their thesis every quarter, before I sign off on the independent study forms.
  • The peer editing that we did in class did not get positive reviews from the students in the comments. I’m also not convinced it was a good use of time, as most of the comments that students provided to other students were not very helpful. I have never gotten peer editing to work well in a technical writing course, though I have tried several different approaches, and I probably will not attempt it if I teach BME 123T again.
  • Some students complained that the workload was too high for 2-unit course, which is probably true—the thesis writing is supposed to be part of the 15 units of BME 195, Thesis Research, they are registered for over the year, with the extra two units just for polishing the writing. Unfortunately, too many of the students do not see writing as part of their research and so attributed all their writing effort to the 2-unit course, rather than spreading it over the 17 units of senior thesis courses.

Several of the students doing bioengineering theses have gone on to get Dean’s or Chancellor’s Awards for their research, and I have received comments from other faculty that the bioengineering theses are much better written than the engineering capstone projects in other majors. Although most of the credit for this goes to the hard work of the students, I think that the close attention to both the content and the writing of their theses in BME 123T is an important component.

BME88A Freshman Design Seminar

In Winter 2014, I created a new 2-unit Freshman Design Seminar, based on suggestions from bioengineering seniors. I taught the class first with the generic number BME 94F, Group Tutorial, as a prototype run of the course before getting Committee for Educational Policy approval.

The goal of this course is to change students’ thinking patterns into a more engineering, problem-solving framework (rather than memorize-and-regurgitate).  The course is based around student-selected group projects—mainly in electronics and programming, because I have access to the tools and can teach these subjects. The Baskin School of Engineering still lacks any sort of fab-lab with easy access for students—I couldn’t even get students access to a drill press either time I taught the course.

This was the first lower division course that I had taught in over a decade, and I had forgotten insecure freshman could be, so my reviews for the first offering indicated that many of the students found me intimidating, which was not the impression I wanted to give.  Things were a little better then second time, though students still felt that the course was not organized enough and that I did not appreciate how little they knew.

Part of the problem was the mismatch between student expectations (that a course would be a preselected set of topics presented in a fixed order) and my intent to have a course that involved just-in-time teaching of what the students needed to do the projects they selected.  For the second offering of the course, I had prepared an extensive set of lectures and materials before the quarter based on the assumption that students would choose to design an incubator with tight temperature control, but none of the students wanted that project, choosing instead to design EKGs or pulse monitors, so I had to scrap everything I had prepared and start over from scratch.

I did know that I was pushing the students out of their comfort zone, and I was explicit in explaining the reasons for that to students.  One goal was to get them out of the habit of being spoonfed “answers” and to get them to learn how to ask questions and gather resources themselves.  This is a tall order for a single 2-unit course, and I was only partially successful in getting them there.

This Winter I will provide more tutorial material on simple programming and electronics near the beginning of the quarter, under the assumption that those will form the basis for the projects they will choose. But I will still send them to the web to find ideas and resources for projects, rather than assigning them specific projects of my choosing, and I will still respond to what they need at the moment, rather than charting out a simple path for them to follow.  This approach will continue to make them uncomfortable, but I can live with that as long as they learn from it.

On 23 April 2014, I presented “Designing Courses to Teach Design”  discussing both BME88A and BME 101/L at the Academic Senate forum “So you think your lecture course is better than a MOOC?”.  The text of my talk was posted to my blog at and the video is on the Academic Senate website at

BME 235 Banana Slug Genomics

The Banana Slug Genomics course for Spring 2015 was taken on by another professor and me as overload in response to a funding push for the 50th anniversary. He ended up organizing the course without consulting with me, but was out of town a lot during the quarter, with the result that we were sometimes at cross purposes and confused about what needed to be done.  Because this course was the same quarter as the very heavy load of the BME 101/L course, I did not have the time to correct any of the organizational problems, and so course was indeed as disorganized as the students reported in the teaching evaluations.

Some of the design choices the other professor made for the course were quite different from the ones I would have made—I would have spent more time up front getting the students to organize the wiki, and I would not have arranged the class around a competition between different groups.

Partway through the quarter, I had the other professor designated as the sole official instructor, since he had structured the course and arranged for the guest lecturers, and my contribution to the class was substantially less than 50%, though I continued to attend the class and taught some classes where he had not arranged for student presentations or guest lecturers.

It would, perhaps, have been better to offer this course in a different year, when he and I were not so overloaded, but the 50th-year celebration made this a one-time opportunity to get the funding needed for the genome sequencing.

Some of the data for the banana-slug genomics course did not become available (such as the RNAseq data) until after the end of the quarter, and I have continued meeting with students over the summer who are interested in continuing to work with the data and produce a more complete genome assembly.

One of the things I had done on my sabbatical—the assembly of the banana slug genome from the small amount of sequence data we had then, turned out to be useful in BME 235.  The assembly in 2015 was done with much more and much cleaner data, and the students got a mitochondrial genome in two contigs that pretty much agreed with the assembly that I had pieced together.  The region where I was most dubious about my assembly was at the boundary of one of the new contigs, so could not be resolved in the new assembly.  One possible explanation is that there are indeed repeats there, and that the shotgun assembly can’t resolve the repeats.  A student is now trying to do PCR to close the gaps and see what is really there. Preliminary evidence suggests that there might even be something interesting—the banana slug mitochondrial genome might be in two chromosomes, rather than one, though that conjecture is based on a single PCR experiment that resulted in a PCR product that couldn’t be Sanger sequenced, raising some questions about the correctness of the PCR.

Bioengineering BS curriculum redesign

In 2013–14, in my first year as both Undergraduate Director and Program Chair for the bioengineering BS program, I decided that the entire BS curriculum needed to be revamped. A lot of the impetus for this redesign came from exit interviews with seniors, who liked some parts of the program but were deeply unhappy with others.  Another part came from the concern that only the biomolecular concentration made pedagogic sense—the bioelectronics and rehabilitation concentrations had too little difference from the biomolecular concentration, and did not provide enough depth in the concentrations.  Many of the students in the bioelectronics concentration had felt compelled to take an extra year to get an electrical engineering minor, in order to have enough electronics to do anything with.

I put together and consulted with a curriculum committee, but pretty much ended up single-handedly designing the new curriculum, which now has four concentrations that are different enough from each other that they are essentially four different majors.

  • The biomolecular concentration is the least changed from the old curriculum, mainly upping the statistics and bioinformatics requirements so that a bioinformatics minor is automatically included in the major, decreasing the physics requirements slightly, increasing the biology requirements slightly, and reducing the number of electives.
  • The bioelectronics curriculum was completely gutted, reducing the chemistry and biology to a bare minimum, in order to make room for enough electronics courses to be useful.  All the required electronics courses were chosen around the theme of connecting sensors to computers, which is the heart of bioelectronics.
  • The rehabilitation concentration was eliminated, being replaced by two new concentrations: Assistive Technology: motor and Assistive Technology: cognitive/perceptual.  The motor concentration is close to the Robotics Engineering major, but replaces some of the more specialized robotics classes with chemistry, biology, and anatomy courses. The cognitive/perceptual concentration is an all-new concentration based primarily on the interests of Prof. Sri Kurniawan, who helped in the design of the concentration and who advises the students selecting it.

The new curriculum has met with approval from the graduating seniors, many of whom have expressed regret that it was not in place soon enough for them to have followed it. A more detailed description of the curricular changes is included in the bioengineering self-study that I prepared in 2014–15.


The search for  bioinformatics resources for high-school biology courses that I did while on sabbatical lead to an unfunded project with a few grad students to develop our own units for teaching bioinformatics in Advanced Placement bio courses. We taught one set of the units  at Pacific Collegiate High School on 23 and 24 May 2012 and  revised and expanded sets on 16,17 January  2013 and 27, 28 February 2013. Though the units were successful both time, there was a lot of work needed to update them from one year to the next, as the underlying web tools changed so rapidly. The maintenance work for keeping the units up-to-date was too much for the volunteer effort, and the difficulty of either training high-school biology teachers or of making the units usable by untrained teachers was high, so the project was abandoned.

I was graduate director for the Bioengineering and Bioinformatics program for 2012–2013, continuing the role that I had played before my sabbatical. I did not get faculty consensus for the changes that I had thought about during my sabbatical—in fact the faculty voted to adopt some changes that I did not agree with. Because I did not feel that I could effectively manage the program with policies that I did not agree with, I stepped down as grad director in June 2013, in favor of a faculty member who was enthusiastic about the new directions.

In exchange for no longer doing service as grad director, I picked up the undergraduate director position for the bioinformatics BS (a fairly small role, as the program is stable and has few majors) and also agreed to take on both the undergraduate director and program chair roles for the bioengineering BS program, a rapidly growing program that is in constant flux.

Even before taking on the bioengineering administrative roles, in September 2012 I had started an email list for sending announcements to bioengineering majors and premajors, to keep them informed about what was going on in the major (especially course changes and curricular changes), special events (like the UCSC bioengineering symposium), scholarship and job opportunities, and other general advice (like how to get into research projects). Since then, I have sent about 300 email messages to the students (100 a year).  I had started a similar mailing list for bioinformatics undergraduates in 2005.

For 2013–14, as undergraduate director, I concentrated on revising and rationalizing the curriculum, as described in the teaching section of this personal report.  I also served as essentially the sole faculty adviser for over 100 bioengineering majors, which kept my office hours busy all year.

Maintaining the bioengineering curriculum is a never-ending problem, as there are thirteen different departments that contribute required courses to the major, and so every year at least one department makes a change to their curriculum that affects bioengineering majors.  I rarely get informed of these changes until after the catalog copy has been approved (even when I request advance information from the departments), and so the bioengineering catalog copy is almost always a year behind, and standardized exceptions have to be created each year to patch the requirements to compensate for the unheralded changes.

For 2014–15, my main job as Program Chair for bioengineering was to do a self study of the program for the external review that is scheduled for 2015–16. Although this report is intended to be a joint effort of all the faculty in the department, I got almost no help from other program faculty—to the best of my knowledge only two other faculty in the program even read the drafts that I wrote.  One of the difficulties of the program chair position for an interdepartmental major is that there are no resources—I had no carrots or sticks to encourage other faculty to take on tedious tasks like preparing self-study reports.  A copy of the 20-page report is included in my review folder under “Other Materials”.

I also wrote the undergraduate portion of the BME departmental self-study, but that was a much smaller task, as the bioinformatics BS is small and stable, without the challenges that face the bioengineering program.

In 2014–15, I took on the role of Vice Chair for the BME department, splitting the chair duties with an emeritus professor, as no one in the department wanted the role of chair.  As vice chair, I worked primarily on the curricular matters (hiring instructors, the curriculum leave plan, shepherding course proposals and revisions through the bureaucratic approval process) as well as meeting weekly with the department manager and chair, to discuss other administrative matters.  The dean was not willing to continue this arrangement of a split chair position for another year, though it seemed to be working well for the department, and I was not willing to take on the full chair position.  I am not the right person to be department chair, as there are intractable problems with space allocation on campus that are the number one priority for the department, and I lack the tact for dealing with upper-level management that will be needed for solving those space problems.  Luckily another faculty member agreed to be chair this year, so I could step down from the vice chair position without leaving a big hole in the department administration.

As vice chair, I created a new technical writing course, BME 185, in 2014–15 and hired an instructor to teach it, since I already had a teaching overload.  I also applied for and was granted an Academic Senate grant to continue development of the course.  The new tech writing course is needed because the current course (CMPE 185) has reached its maximum capacity.

As undergraduate director for bioengineering and for bioinformatics, I have worked closely with the School of Engineering advising staff to improve the advising of our majors.  I helped present the programs at freshman summer orientations in 2014 and 2015, and held a 1.5-hour training session for the full advising staff on the bioengineering curriculum 10 August 2015.  I have also recruited other faculty to do some of the student advising, reducing somewhat my advising load, though I generally do have several students a week still seeking my advice on the bioengineering program, even during the summer.

One disappointment in 2014–15 is that the BME Department applied for textual-analysis (TA) general-education credit for two courses in which students are taught to read scientific papers and how a scientific argument is properly formed, but the Committee on Educational Policy rejected the designation, apparently because we don’t have the keywords like “semiotics” in the description. I’ll be working with the faculty responsible for those courses to improve their descriptions of what they are teaching, so that we can convince CEP this year that the courses do indeed meet the intent and letter of the rules for the TA designation.


During the review period, I published only five papers, all of them collaborations.

My contributions to the Clustal Omega paper (J5) were rather modest, consisting of a couple days conversations with the primary authors, who did all the implementation and testing of the techniques.  I had a couple of good ideas that ended up being incorporated, but none of them were the key ideas for making Clustal Omega successful.

The Pyrobaculum oguniense genome paper (J4) was primarily David Bernick’s work, but I contributed quality checking on his assembly, analysis of inversions, and analysis of insertion sites for the virus-like retrotransposition element.  The work was mainly done in 2009 and 2010, but not published until much later.

The three nanopore papers (J1, J2, and J3) are all a result of collaborations with the UCSC nanopore group.  My contributions were primarily in machine-learning and statistical analysis of the results, making sure that they were not fooling themselves in their interpretations of the results.  On each of these papers, the first author gets most of the credit, though I provided significant guidance and instruction to Jacob Schreiber on the two papers where he is first author.

Although I have not written any grant proposals since my sabbatical, I was included as a co-PI on a successful proposal written by the nanopore group.

I also still have an active collaboration with the Helicobacter pylori groups at UCSC and UCD, and we hope to get a joint paper out later this year.

J1. Jacob Schreiber and Kevin Karplus. Analysis of nanopore data using hidden Markov models. Bioinformatics. 2015; 31(12):1897–1903. doi:10.1093/bioinformatics/btv046

J2. Jacob Schreiber, Zachary L. Wescoe, Robin Abu-Shumays, John T. Vivian, Baldandorj Baatar, Kevin Karplus, and Mark Akeson. Error rates for nanopore discrimination among cytosine, methyl- cytosine, and hydroxymethylcytosine along individual DNA strands. Proceedings of the National Academy of Sciences of the United States of America. 2013;110(47):18910–18915. doi:10.1073/pnas.1310615110

J3. Gerald M. Cherf, Kate R. Lieberman, Hytham Rashid, Christopher E. Lam, Kevin Karplus, and Mark Akeson. Automated forward and reverse ratcheting of DNA in a nanopore at 5-Å precision. Nature Biotechnology, 30(4):344–348, April 2012. doi:10.1038/nbt.2147

J4. David L. Bernick, Kevin Karplus, Lauren M. Lui, Joanna K. C. Coker, Julie N. Murphy, Patricia P. Chan, Aaron E. Cozen, and Todd M. Lowe. Complete genome sequence of Pyrobaculum oguniense. Standards in Genomic Sciences, 6(3):336–345, July 30 2012.

J5. Fabian Sievers, Andreas Wilm, David Dineen, Toby J. Gibson, Kevin Karplus, Weizhong Li, Rodrigo Lopez, Hamish McWilliam, Michael Remmert, Johannes Söding, Julie D. Thompson, and Desmond G. Higgins. Fast, scalable generation of high-quality protein multiple sequence alignments using Clustal Omega. Molecular Systems Biology, 7(539), 11 October 2011. doi:10.1038/msb.2011.75

2015 September 8

Sabbatical leave report

Filed under: Uncategorized — gasstationwithoutpumps @ 22:22

I’m up for a review for a salary increase this year (it has been 4 years since the last time), and I have to get all the paperwork filed by Friday.  I spent most of today getting my c.v. updated and getting the files properly uploaded to the DivData site (I don’t think that the bureaucrats have any idea how long it takes to get everything formatted the way they want it, copying information from a variety of sources).

I was going to spend today writing my “personal statement” about teaching, research, and service, but the bureaucratic part of the paperwork ate up all my time.  I also found out that I apparently did not file a sabbatical leave report after my last sabbatical (I thought I had, but I can’t find one on any of my computers, not even after half an hour of searching through thousands of e-mail messages), so I have to write that leave report now, trying to remember what I did over 3 years ago.  Luckily I had already started blogging then, so I could go through the year’s blog posts and pick out some of the more salient activities.

Here then is a draft of my sabbatical leave report for September 2011–June 2012:

Although I started the sabbatical with a short trip to Italy to give some invited talks, I decided to spend most of time in Santa Cruz, picking a new direction for my research and my career as a professor.  I had been beating my head against the wall for several years, trying to get funding for my protein-structure prediction research, but I never seemed to hit the sweet spot.

My protein-structure prediction methods were doing well in the CASP contests, but my funding proposals were always turned down.  I saw protein-structure prediction as a field where the low-hanging fruit had been picked, and what remained was hard work to get small improvements—but that is not what NIH wanted to hear.  They preferred giving funding to people who promised silver bullets and delivered nothing.

The protein-structure field was getting crowded, with many more groups chasing funds than could possibly be funded, and while I was willing to work on some of the hard problems that could lead to incremental improvements, I wasn’t willing to do it without funding—the problems were not that exciting any more.

The funding situation in bioinformatics is generally fairly bleak for individual investigators, as most of the funding agencies prefer to issue huge grants to large teams of researchers backed by professional grant writers.  That is not my style of working, and I’m very slow at writing grant proposals, so I decided that I would be at least as productive if I didn’t write any more research proposals, but put the time into doing research instead.  I wouldn’t be able to have grad students working with me any more, unless I was collaborating with someone else who was paying them, but I’ve never relied that much on grad student labor for my research.

Fairly early in my sabbatical I decided to leave both protein-structure prediction and grant writing, but I spent the rest of my sabbatical figuring out what I was moving towards, rather than what I was moving away from.

I spent a lot of my sabbatical learning new things and playing with ideas that were too small for funding agencies to be interested in.

For example, just before my sabbatical, I had taught a Banana Slug Genomics course, where we had attempted to assemble the genome for Ariolimax dolichophallus, though we did not have enough data to really do much with. I decided to try to assemble the mitochondrial genome, since there was more coverage of the mitochondrion in the sequence data that we had and the mitochondrial genome is short enough that hand effort on it could be successful.  I spent several weeks teasing out as much as I could from the data we had, eventually creating an assembly that closed the genome into a circle, though there was one region that I was very uncertain about—I put in several repeats in that part of the assembly, though I regarded population variation in the mitochondria as being as likely an explanation for the data we had.  I kept all my notes on the assembly process on the class Wiki, now on the web page

In 2015, we did another Banana Slug Genomics class with much more data, and got a mitochondrial genome in two contigs that pretty much agreed with the assembly that I had pieced together out of much less data.  The region where I was most dubious about my assembly was at the boundary of one of the contigs, so could not be resolved in the new assembly.  One possible explanation is that there are indeed repeats there, and that the shotgun assembly can’t resolve the repeats.  A student is now trying to do PCR to close the gaps and see what is really there—preliminary evidence suggests that there might even be something interesting—the banana slug mitochondrial genome might be in two chromosomes, rather than one, though that conjecture is based on a single PCR experiment that resulted in a PCR product that couldn’t be Sanger sequenced, raising some questions about the correctness of the PCR.

Another thing I learned during my sabbatical was to do printed-circuit board design using Eagle layout software.  Initially I was just doing this as a hobby, but I have since used custom PC boards of my own design as prototyping boards for the students in BME 101/L, Applied Electronics for Bioengineers (that’s the current number and title for the course—it has had different numbers and titles in different quarters).

I also taught myself (and my son) calculus-based physics during my sabbatical—I’d only had algebra-based physics previously, which I saw as a hole in my education. We used the textbook Matter and Interactions, which has the students writing simple Python programs to simulate physical systems, rather then relying only on simple situations for which closed-form solutions are easily derived.  The programming approach to learning physics was a good fit for both my son and me, as was the introduction of momentum and general relativity first, with simplification to Newtonian mechanics introduced as a modeling approximation.

In the process of teaching/learning physics, I developed several low-cost physics lab experiments (some of which were successful, some complete failures), and posted about them on my blog: Some of the experiments involved using an Arduino microcontroller board to gather data, which my son later developed into an Arduino data logger, that I used in the first offering of BME 101, my Applied Electronics course. That has since developed further into the open-source PteroDAQ data acquisition system, maintained by my son and me at I have been using PteroDAQ extensively in the labs for BME 101.

Also as a result of the self-taught physics course, I made improvements to the widely used Tracker tool used in physics classes for analyzing video data, to make the tracking handle bounces better. I posted information about the changes on my blog, and  I  provided the changes to the developers of the tool (who happen to be at Cabrillo College), who acceptd the changes into the code base.

I spent one day working on a Python program to fit a sphere to a number of data points (to determine the offset for a magnetometer that my son was using in a robotics project), and posted the method I used on my blog:  The code was released as open-source, and was later used by at least one other user, who commented on the blog post.

In toying with the idea of going back to doing research on digital music synthesis, which I had not done much in since about 1984, I posted on my blog about how to create minimal WAV-format files in C, which has since become one of my most searched-for posts, as the simple code is good for incorporating into programming courses using digital media as a theme:

Of course, a big chunk of my sabbatical time was spent on bioinformatics work—mainly on trying to reconstruct the cagY gene from a strain of Helicobacter pylori that had been sequenced at UCSC.  The cagY gene is almost impossible to assemble from shotgun sequencing data, because it has long internal tandem repeats that exceed the read length of the sequencers. We got early access to PacBio long reads and I found that I could assemble the gene from the noisy long reads, even with only modest coverage. I blogged about my techniques: and Although I did not publish the work formally, I shared it with the collaborators at PacBio, who have since developed their own tools based in part on these ideas.  The use of PacBio long reads for assembling prokaryotic genomes is now fairly standard, supplanting short-read shotgun sequencing for small genomes.  I’ve continued to do a little work on the H. pylori genome sporadically since then, and we plan to publish annotated sequences for two closely related strains soon, with some comparative genomics about the evolution of one from the other.

I spent a lot of my sabbatical thinking about teaching, reading a lot on pedagogy (mainly from teacher blogs, rather than from academic literature), and reflecting both on what I read and on my own teaching experience. I made quire a few blog posts with those reflections—here is a sampling of them:

I collected a number of resources for teaching bioinformatics to high-school students,, which lead to a project with bioinformatics grad students for the next two years to teach bioinformatics lessons at Pacific Collegiate High School.

I spent some time working on potential revisions to the grad curriculum for the department, and updating the frequently-asked-questions page for the grad program. These changes mostly did not get made, because I did not get sufficient consensus from the other faculty in the department. Eventually I turned the grad directorship over to a younger faculty member, who had very different ideas about the direction the grad program should take.

As my sabbatical ended in June 2012, my teaching load for 2012–13 changed.  Because I no longer was scheduled to do an introductory programming course for biologists as an overload, I decided to take on the creation of a new course (also as an overload).  The one I saw the most need for in the bioengineering curriculum was an applied electronics course, so I spent most of the summer and fall of 2012 teaching myself analog electronics and designing a course for bioengineers:

That course has since become one my main pedagogic and scholarly pursuits.  The lab handouts that I developed for the course have morphed into a textbook, which is available in draft form, with updates being released to purchasers of the draft every few weeks. Further developing the PteroDAQ software that my son created to help me teach the course has also started to take up a fair amount of my time.

My sabbatical helped me to refocus my career on teaching and curriculum development, as a more productive use of my time than writing futile grant proposals.  I continue to do some research as a collaborator on other people’s projects, but I’m focussing more now on the University’s teaching mission than its research mission.


« Previous PageNext Page »

%d bloggers like this: