You are going to write a blog post on one of the following two prompts:

What is one of your favorite open-ended/rich problems? How do you use it in your classroom? (If you have a problem you have been wanting to try, but haven’t had the courage or opportunity to try it out yet, write about how you would or will use the problem in your classroom.)

What is one thing that happens in your classroom that makes it distinctly yours? It can be something you do that is unique in your school… It can be something more amorphous… However you want to interpret the question! Whatever!

I’m not a math teacher blogger—looking back over my posts for the past couple of years, I only see a few that are really about math education:

I use math all the time in my classes (complex numbers, trigonometry, and calculus in the Applied Circuits class; probability and Bayesian statistics in the bioinformatics classes), and I do reteach the math the students need, as I find that few students have retained working knowledge of the math that they need. But it has been quite a while since I taught a class in which math education was the primary goal (Applied Discrete Math, in winter 1998).

So I fell a little like an imposter participating in this blogging exercise with the math teacher bloggers.

I don’t have any “favorite” open-ended or rich problems. Most of the problems that I given in my classes have a heavy engineering design component, in either the circuits course or the bioinformatics courses. Any good engineering design problem is an open-ended, rich problem. If I had to pick a favorite right now, it would be from my circuits class: either the EKG lab (look for many posts about the design of that lab in the Circuits Course Table of Contents) or the class-D power amplifier (see Class-D power amp lab went smoothly and other posts). But these are not the sort of “open-ended” problems that the MathTwitterBlogosphere seem to be interested in—the engineering design constraints that make the problems interesting are too restrictive for them, and a lot of them prefer videos to text (for reasons that seem to me to be based mainly on assumptions of the functional illiteracy of their students, though a few times a sounder justification is given). In any event, I doubt that any of the problems that I give to students would be appealing to math teachers, so they are not really germane to the MathTwitterBlogosphere challenge that Sam Shah put out.

It is hard to say what I do as a teacher that is “unique”. It is not a goal for me to be a unique teacher—I’d like to see more teachers doing some of the things I do, like reading student work closely and providing detailed feedback, or designing engineering courses around doing engineering design.

I may be unique in the School of Engineering in how much emphasis I put on students writing well, and how much effort I put into trying to get them to do so. I created a tech writing course for the computer engineers and scientists back in 1987 and taught it until 2000. More recently, I have provided many bioengineering students feedback on their senior theses, reading and giving detailed feedback on five drafts from each student in 10 weeks. In my bioinformatics classes, I read the students’ programs very closely, commenting on programming style and the details of the in-program documentation—these things matter, but students get very little feedback on them in other classes. In the circuits course, I require detailed design reports for each of the 10 weekly assignments (though I encourage students to work in pairs for the labs and reports). I evaluate the students almost as much on their writing as on their designs—engineers who can’t write up their design decisions clearly is pretty useless in the real world.

Centering engineering courses on doing engineering design is a very important thing, but it is not a unique contribution—I’m not the only professor in the School of Engineering who puts the lab experience at the center of a course design. Gabriel Elkaim’s Mechatronics course is a good example, as are most (all?) of the lab courses that Steve Petersen teaches. In think that, in general, the Computer Engineering department does a good job of highlighting design in their courses, as does the Game Design major. I just wish that more of the engineering classes did—especially those where it is much easier just to teach the underlying science and hope that students pick up the engineering later.

At the end of this post, I’m feeling the lack of a good conclusion—I don’t have any open-ended problems to share with math teachers, and I don’t have anything really unique about my teaching that will make math teachers want to emulate me. I just hope that even a weak contribution to “Mission 1″ is useful, if only to make other participants feel better about their contributions.

2013 August 8

Hard Math for Elementary School by Glenn Ellison: (ISBN 9781489507174) looks like a book I could have used with my son about 8 years ago (too bad it was just published a couple of months ago).

The premise is simple: it is a math enrichment textbook, intended to take the topics of elementary school math deeper for gifted students.

The presentation is good, but the students will have to be reading at the 4th grade level as well as doing math at that level to get much out of the book. This is not a flashy book with lots of illustrations and stories—it is just cool math, presented as cool math.

Disclaimer: I don’t have a copy of the book, and I haven’t read much of it. I used Amazon’s “Look Inside” feature to look at the table of contents and a couple of pages, and saw such gems as calculation tricks for computing some squares (like 552=3025) quickly. (The trick is based on , but the author wisely avoids algebraic notation.)

2013 February 3

A number of the students in my circuits class have been having difficulty with gnuplot, but did not turn in their gnuplot scripts with their lab reports, so I could not examine the scripts to look for misunderstandings.

Debugging class lessons is much harder than debugging programs, because the computers are much more deterministic, and I can usually add extra print statements to narrow down where things are going wrong. I can’t seem to get the students who are having difficulty to show me what they can and can’t do, which makes figuring out what to explain to them difficult. There are dozens of things that they might be hung up on, and shotgun techniques where I tried to cover lots of them have not been very successful.

I have a conjecture about what is causing the students greater difficulty than I expected: scope of variables. These students have had lots of math classes, but few or no programming classes, and their math skills seem to be mainly formal manipulation. They have probably not been exposed much to the notion that the same variable may have different values in different contexts, or that variables need to be given different names if they are to be used in the same context. Math classes either always use the same variable (all derivatives with respect to x, for example) or pick new variables for each equation. It is rare for math classes to use the same function repeatedly with different parameters, and plot that function several times on the same graph. It shouldn’t be rare, but it seems to be.

I was taking scope of variables for granted in my presentations of gnuplot, since all my previous students had already been well exposed to the idea. (Well, maybe not the 5th graders I taught Scratch to, but Scratch has a simple scope notion, tying variables to sprites that are the visible objects the students are manipulating, so the problem is finessed.)

The scope rules for gnuplot are actually fairly subtle, as there are expressions that are only applicable in connection with a particular data file (like the $1 and $2 column variables), there are variables whose scope is just the “plot” or “fit” statement (like “x”), there are variables whose scope is a function definition (the parameters of the function), and there are variables whose scope is global (the parameters being fit in a “fit” statement, for example). I never explained these scope rules to the students, and the tutorials on gnuplot don’t do so either, since they are all written by programmers for whom the scope of variables is “obvious” and doesn’t need much explanation.

How will I test whether this is indeed the sticking point for the students who are having trouble? What exercises or explanations can I give them to get them to understand scope well enough? The course is not a programming course, so the usual approaches of programming courses are probably not appropriate. This pedagogical problem requires more thought—suggestions are welcome.

Let’s say you have a sequence of 3 billion nucleotides. What is the probability that there is a sequence of 20 nucleotides that repeats somewhere in the sequence? You may assume that there are 4 nucleotides (A, C, T, G) and when coming up with the 3 billion nucleotide sequence, they are all equally likely to appear.

This is the sort of combinatorics question that comes up a lot in building null models for bioinformatics, when we want to know just how weird something we’ve found really is.

Of course, we usually end up asking for the expected number of occurrences of a particular event, rather than the probability of the event, since expected values are additive even when the events aren’t independent. So let me change the problem to

In a sequence of N bases (independent, uniformly distributed), what is the expected number of k-mers (k≪N). Plug in N=3E9 and k=20.

The probability that any particular k-mer occurs in a particular position is 4-k, so the expected number of occurrences of that k-mer is N/4k, or about 2.7E-3 for the values of N and k given. Oops, we should count both strands, so double that to 5.46E-3.

When the expected number is that small, we can use it equally well as the probability of there being one or more such k-mers. (Note: this assumes 4k ≫ N.)

Now let’s look at each k-mer that actually occurs (all 2N of them), and estimate how many other k-mers match. There are roughly 2N/4k for each (we can ignore little differences like N vs. N-1), so there are 4 N2/4k total pairs. But we’ve counted each pair twice, so the expected number of pairs is only 2 N2/4k, which is 16E6 for N=3E9 and k=20.

We have to take k up to about 32 before we get expected numbers below 1, and up to about 36 before having a repetition is surprising in a uniform random stream.