Gas station without pumps

2015 August 30

Ask better questions

Filed under: Uncategorized — gasstationwithoutpumps @ 15:29
Tags: ,

There is a new blog, intended for K–12 math teachers, that is dedicated to “trying to get a little bit better at questioning”: https://betterqs.wordpress.com/

I read a number of math-teacher blogs, even though I’ve not taught a math course since Spring 2003 (Honors Applied Discrete Math), because a lot of the teaching discussion is relevant to what I do teach. I also read some physics teacher blogs, for the same reason.

It would be nice if there were blogs discussing precisely the same courses and teaching challenges that I face, but I don’t know if there is anyone else in the world who teaches the same eclectic mix of courses that I do. Last year I taught a first-year grad course on bioinformatics, a how-to-be-a-grad-student course, a freshman design seminar for bioengineers, a senior thesis writing course, a grad course on assembling the banana-slug genome (co-taught with another faculty member), and a lecture/lab course on applied electronics.  Over the decades I’ve been a professor, I’ve created and taught courses on an even wider range than that, including bicycle transportation engineering, desktop publishing, VLSI design, technical writing, digital synthesis of music, and most of the core computer engineering courses. At the moment, I don’t see myself creating any more new courses before I retire, unless I can hand off some of the existing courses to younger faculty.

The “better at questioning” theme of betterqs.wordpress.com is an interesting one for a teacher blog, as it focuses on one rather narrow aspect of teaching, but is open to a diversity of different subjects, different age ranges for the students, and different teaching styles.  I’ve considered joining that blog as a contributor (it is open to any teacher, I believe), but I’m not sure how much I have to say about asking questions that is relevant to the math teachers who are the main audience.

I have much less time with students than K–12 teachers do (35 hours for a standard course, 95 for my intense Applied Electronics lecture+lab course), so I don’t have the luxury of slowly developing a classroom culture—I fully expect some students to still be uncomfortable with the way I teach even at the end of the course, though I attempt to get them to buy into the main purposes of the course within the first few hours of class time.

My goal in lecture classes is not to ask questions, but to get students to ask me questions—I’d rather that they figured out what they needed to know, rather than me trying to guess what holes they have based on what they get wrong on questions. I’m also not very interested in what students can do in 30 seconds—I want to know what they can do if they have adequate time to think and to look things up, so in-class questions don’t tell me much about what students need.  I rely on week-long homework and papers to do that.

I mainly use in-class questions to keep students engaged in the class—asking for the next step in a derivation, for example—rather than to test their knowledge or understanding. Since engagement is my goal, I don’t generally ask students who raise their hands, but do cold calling—selecting students randomly after asking the question.

Questions in the lab are a different matter. There I’m either trying to understand what the student is attempting (“What is the corner frequency you were trying to get?”) or prompting them to learn to do debugging (“Where is your circuit schematic?” “Have you compared your wiring to your schematic?” “What voltage did you expect to see there?”).

 

2015 August 22

Don Cohen, Calculus by and for Young People: 1930–2015

Filed under: Uncategorized — gasstationwithoutpumps @ 08:58
Tags: , ,

I just found out that the author of Calculus by and for Young People died this year:

Donald “The Mathman” Cohen was a great educator and influenced thousands of children and adults throughout his life. He began teaching in the 1950s and continued his work through The Math Program which started in 1976 in Champaign/Urbana, IL with partner Jerry Glenn. Don continued teaching right up until he passed away in 2015 at age 85. Don’s books and other materials continue to be treasures for all who are interested in math or math education.[Don Cohen – “The Mathman” – 1930-2015]

His family is making his books available as free PDF downloads, as a memorial: Don Cohen – “The Mathman” – 1930-2015

We didn’t use his books (by the time we found out about them, our son had already acquired enough calculus not to benefit from the books), but lots of kids did get an early start on calculus using them.  He aimed is material at middle school students, rather than college students. His approach to teaching math seems to have been highly regarded both by math teachers and in home-school circles. More info about his math program at his web page.

2014 April 11

Arthur Benjamin: Teach statistics before calculus!

I rarely have the patience to sit through a video of a TED talk—like advertisements, I rarely find them worth the time they consume. I can read a transcript of the talk in 1/4 the time, and not be distracted by the facial tics and awkward gestures of the speaker. I was pointed to one TED talk (with about 1.3 million views since Feb 2009) recently that has a message I agree with: Arthur Benjamin: Teach statistics before calculus!

The message is a simple one, though it takes him 3 minutes to make:calculus is the wrong summit for k–12 math to be aiming at.

Calculus is a great subject for scientists, engineers, and economists—one of the most fundamental branches of mathematics—but most people never use it. It would be far more valuable to have universal literacy in probability and statistics, and leave calculus to the 20% of the population who might actually use it someday.  I agree with Arthur Benjamin completely—and this is spoken as someone who was a math major and who learned calculus about 30 years before learning statistics.

Of course, to do probability and statistics well at an advanced level, one does need integral calculus, even measure theory, but the basics of probability and statistics can be taught with counting and summing in discrete spaces, and that is the level at which statistics should be taught in high schools.  (Arthur Benjamin alludes to this continuous vs. discrete math distinction in his talk, but he misleadingly implies that probability and statistics is a branch of discrete math, rather than that it can be learned in either discrete or continuous contexts.)

If I could overhaul math education at the high school level, I would make it go something like

  1. algebra
  2. logic, proofs, and combinatorics (as in applied discrete math)
  3. statistics
  4. geometry, trigonometry, and complex numbers
  5. calculus

The STEM students would get all 5 subjects, at least by the freshman year of college, and the non-STEM students would top with statistics or trigonometry, depending on their level of interest in math.  I could even see an argument for putting statistics before logic and proof, though I think it is easier to reason about uncertainty after you have a firm foundation in reasoning without uncertainty.

I made a comment along these lines in response to the blog post by Jason Dyer that pointed me to the TED talk. In response, Robert Hansen suggested a different, more conventional order:

  1. algebra
  2. combinatorics and statistics
  3. logic, proofs and geometry
  4. advanced algebra, trigonometry
  5. calculus

It is common to put combinatorics and statistics together, but that results in confusion on students’ part, because too many of the probability examples are then uniform distribution counting problems. It is useful to have some combinatorics before statistics (so that counting problems are possible examples), but mixing the two makes it less likely that non-uniform probability (which is what the real world mainly has) will be properly developed. We don’t need more people thinking that if there are only two possibilities that they must be equally likely!

I’ve also always felt that putting proofs together with geometry does damage to both. Analytic geometry is much more useful nowadays than Euclidean-style proofs, so I’d rather put geometry with trigonometry and complex numbers, and leave proof techniques and logic to an algebraic domain.

2014 March 22

What makes teaching programming difficult?

I’ve been following Garth’s CS Education Blog for a while, and his post Teaching programming is not getting easier resonated with me, particularly the lines

In programming memorization is a trivial part of the skill set needed to succeed. The primary skills needed are problem solving, strategizing, devolving problems into sub-tasks, interpreting, and general full bore head scratching. Those are an absolute bugger to teach, especially to kids that are not all that interested in learning those difficult skills.

I am not primarily teaching programming to beginners—my bioinformatics course has three programming courses as prerequisites and my applied circuits course does not require students to do any programming—but the same issues come up in all my courses.

Even after three previous programming courses, a lot of students have not had much practice at breaking a problem into subproblems or intelligent (rather than random) debugging. The block diagrams and “systems thinking” for the applied circuits class are precisely analogous to the decomposition of a software problem into modules, classes, or subroutines. Even in the senior thesis writing course that I taught for the last couple of years, a lot of the feedback is on getting students to structure their writing—to look at the thesis as having parts that communicate different information or with different audiences and getting the interfaces between the parts to work.

Almost all engineering requires similar problem-solving skills of decomposition into subproblems, designing and debugging parts independently, and debugging the interactions between parts. Teaching these skills in any context is difficult, and many teachers end up teaching special-purpose tricks that solve one type of problem but that does not help the student learn to solve novel problems.

Garth recognizes the problem in his own teaching:

I used to be a math teacher and math has somewhat the same thinking requirements and the same issues.  The big difference is the kids would have 10 home work problems a night, 8 of which were very easy to do so they would do those and ignore the hard ones.  The result would be an 80%.  With math there are a lot of problems with incremental steps of difficulty for almost any new concept.  Those students that can do the 70 or 80% in math survive just fine.  In math I usually have several different teaching strategies for a concept.  I have multiple “gimmicks” for devolving problems to make them easier to solve.  I have other math teachers to ask for new approaches and a whole lot of cool stuff on the internet to use as resources.   Programming on the other hand has diddly.

He learned some strategies for teaching math: assigning large numbers of small problems of gradually increasing difficulty, giving up on teaching most of the students to reach mastery, and providing gimmicks for students to memorize for the common problem types. These approaches have not worked for him teaching computer science—why not?

One difference is that the computer is not very forgiving of students who get things almost right—one punctuation mark wrong and the computer does the wrong thing or rejects the student’s attempt. Getting 70–80% of the way is not enough—students have to get the details right and not just the general picture.

Another difference is the one he notes: there are a lot more math teachers than CS teachers, particularly in K–12, so there is a lot more pedagogical content knowledge (knowledge of how to teach a subject) available in math. He notes that many CS teachers rely on a rather simple pedagogy:

After watching a number (3) of programming teachers teach it seems the teaching strategy is pretty consistent: show and tell and hope.

I wonder how much of the math pedagogy is really effective, though. A lot seems to be of the memorize-this-trick form, which gets students through their standardized tests, but does not develop transferable skills in problem decomposition or debugging.

The content in math and physics courses is also much more stable than in CS courses—what is taught at the high-school level has not changed much in the last century.  The main differences have been a loss of some tools (slide rules and trig tables) in favor of tools that are easier to use and teach with (calculators). Having a stable subject to teach allows teachers and textbook writers to experiment with how to teach, rather than what to teach. Although a lot of pedagogical experimentation fails (and the field of education is not very good at separating the successes from the failures), there are a lot of techniques available to choose from.

CS, however, keeps changing what is considered essential for a first course.  Fortran, LISP, Pascal, C, C++, Java, Python, Perl, Scratch, Processing, Alice, and other languages have all been proposed as “first” languages, and the programming language is often chosen for social rather than pedagogic reasons.

What topics are taught and in what order are often driven by the choice of language.  For example, LISP makes it easier to talk about recursion early, but makes it difficult to talk about strict type checking. Java and C++ force spending a lot of time on explaining data types and data type declaration. Python allows easy handling of sets and associative maps (“dict” in Python), but makes talking about information hiding and data abstraction somewhat more difficult. Scratch allows early discussion of race conditions in parallel programs, but not of complex data structures or program syntax.

CS teachers disagree about what order is most appropriate to present the topics in—not just the week-by-week order, but even what belongs in the first year and what in the second or third year. I think that in many cases the order doesn’t matter all that much—there are several different ways to get to a similar endpoint, and different students will respond well to different approaches. In the new bioengineering curricula that I’ve proposed, different concentrations have different programming requirements, with the bioelectronics track requiring bottom-up programming that teaches low-level interfacing to microprocessors in C, and the biomolecular track starting with bioinformatics-like programming tasks in Python.

Some of the teaching practices at colleges have not been helpful for developing desired skills.  For example, automated grading programs, which look just at I/O behavior of programs, are becoming more popular in huge college CS classes (and especially in MOOCs). But with automated grading students get almost no feedback on the decomposition into subproblems and clarity of documentation—those skills that are most needed for advancing in the field or transferring the learning to other domains.

I did end up teaching a tiny amount of programming in my freshman design seminar this past quarter: Arduino programming in C for gathering information from a thermistor or phototransistor and using it for simple on-off control (Twelfth day of freshman design seminar and Sixteenth day: Arduino demo).  I did not spend enough time on the programming, and a lot of it was “show and tell and hope”, so I suspect that only one or two of the students can do any programming independently now, but several who were not interested in programming became more interested in learning, which is all I expected of the course. The 2-unit course is only about 1% of their undergraduate education, so I can’t expect to make huge changes in their competence.

Next year I will spend more time on programming and on physical prototyping in the freshman design course, as those are areas that the students identified as having the most effect on them. So I may get to the point in the freshman seminar where I’ll also be facing the challenges of teaching CS concepts to beginners, rather than just piquing their interest.

One thing I think I will do in the freshman design seminar next year is to make the students actually wire up a thermistor or phototransistor to an Arduino board early in the quarter.  Having both a hardware and a software component to a design should help students learn problem decomposition and debugging, as there are obvious hardware/software boundaries—it can’t all be just one mushy “thing” in their heads.

The thermistor is particularly attractive as it requires several changes of representation—from temperature to resistance, to voltage, to ADC reading, back to  a numerical representation of temperature. Since the course is intended for bioengineers, the notion of sensors and different representations of what they sense is an important concept to build on, and temperature is a concept that they are familiar enough with that they can easily check whether what they are doing is working. Note that the data representation here is not just a software concept—the main constraint on the design is the analog-to-digital interface on the Arduino, which only measures voltage between 0 and 5V.

Having a thermistor lab early also works as part of a build-a-physical-prototype theme. I’m not going to use lab fees and handing out a lab kit, either, but make them find and order their own parts. One of the problems this year was students not realizing that getting parts requires a lot of lead time—having them experience that early in the quarter will make them more diligent about getting parts in time later in the quarter. To reduce shipping costs, I may have everyone look for parts separately, but then have them pool the orders, if they can agree on which parts they want to get.

In the coming quarter, in the Applied Circuits course, I’ll be trying to work more deliberately on both systems thinking and information representation, getting the students into being explicit about both earlier in the quarter.  (The first lab is a thermistor lab, which I am in the process of rewriting the lab handout for, which may be why it was the example I thought of using for the freshman design course.) I’ve heard discouraging reports about how little transfer there is of problem-solving skills between different subject domains, but I’m hopeful that having students encounter the same problem-solving concepts in several different domains will help them make the transfer.

2013 December 5

Unconcern at Berkeley about math education

Filed under: Uncategorized — gasstationwithoutpumps @ 09:08
Tags: ,

On Tuesdays I buy the New York Times (in hard copy) to get the Science Times section, but I often read other parts as well, since they are sitting around on the breakfast room table as I eat.  I was struck by one quote I saw this morning:

Richard Rothstein, a research associate at the liberal Economic Policy Institute and a fellow at the University of California, Berkeley School of Law, said he put little stock in the PISA results. He said educators and academics should “stop hyperventilating” about international test rankings, particularly given that students are already graduating from college at higher rates than can be absorbed by the labor market.

(online as  American 15-Year-Olds Lag, Mainly in Math, on International Standardized Tests).

I don’t know Rothstein, but I’m not surprised at a law school “fellow” being worried about over-production of  graduates—law schools have been producing many more lawyers than any sane society could absorb for decades. (And generally making their students take on far more debt than honest work would allow them to repay—perhaps he is in favor of students not having enough math to understand compound interest.)

He also has not been trying to teach engineering majors who can barely do algebra—”graduating from college” is no longer a sign of competence in math, if it ever was.  Unlike many, I’m not overly concerned with the standing of the average students relative to their counterparts in other countries.  The average American has never been noted for intelligence or wisdom.  I believe it was H.L. Mencken who said “Nobody ever went broke underestimating the intelligence of the American public.”

What I am more worried about is the shrinking number of students at the top levels.  Again from the New York Times article:

In the United States, just 9 percent of 15-year-olds scored in the top two levels of proficiency in math, compared with an average of 13 percent among industrialized nations and as high as 55 percent in Shanghai, 40 percent in Singapore, and 17 percent in Germany and Poland.

We may not need huge numbers of scientists and engineers (probably not as many as the NSF and STEM educators would like to have people believe), but we do need for them to be good at their jobs.  The American education system is not succeeding in producing sufficient numbers of highly capable people in STEM fields (though more than enough marginally competent ones).

Getting a few more, or even a lot more, students to be “college-ready” or to “graduate from college” is not going to help much—particularly if it comes at the expense of cutting standards so that the colleges are flooded with marginally competent students and honors courses are eliminated in favor of remedial course (which seems to be the trend at state-supported schools).

I don’t have a simple solution to offer—perhaps there is no solution in a culture that despises math and worships athletes.  As long as basketball and football coaches are the most highly paid employees in academia, I have no hope for improvement.

What could be done, by those colleges who have not indebted the next two generations to pay for unneeded football stadiums? Maybe having admissions officers who cared more about academic strength and less about extracurriculars, sports, and diversity would help a little.  Having competitive scholarships that were tied to high performance, rather than just need-based grants? Having endowment funds that could only be spent on teaching honors courses or undergraduate research? Reversing grade inflation, so that the average grade was once again a C, rather than an A (so that the students at the top were distinguishable by  their records from the run-of-the-mill students)?

High schools could help by making honors courses and AP courses really challenging, and not just playgrounds for students whose parents think they ought to be there.  Eliminating social promotion, so that a high school diploma means that a student can take college courses without remedial classes and not just that they managed to keep a seat warm for 4 years without being expelled.

I guess I’m just dreaming here—I see no indication that anyone except a few curmudgeons like me has any interest in raising standards.  The rallying cry is “college for everyone”, which requires putting a lot of educational resources into getting those who aren’t really capable of the work up to a level where they can appear marginally competent.  The US gave up years ago on providing training for those who could benefit the most from it (except in sports, of course, the real religion of the US).

Next Page »

Blog at WordPress.com.

%d bloggers like this: