A Programming Course or a Geometry Course

This is a comment I wrote on this cool blog – Quomodocumque.

Arguing for the replacement of a classical Euclidean plane geometry course with a beginning programming course requires attention to issues of collateral learning.  Both writing effective programs and proving new theorems are creative acts.  The median successful student in either course would not have that level of competence.  Even if the rare student wanted to, an extended apprenticeship and many more courses would be needed before becoming either  a productive programmer or a mathematician.

The important question is what generalizable skills might come from either course.  As taught or at least as I remember them being taught not so much.  The content, the facts of plane geometry and syntax of various programming tools would certainly be there.  The beauty of the axiomatic approach to mathematics and the structure and operations of digital computers might be given slight notice.  The programming course may end with a project and the geometry class move toward increasingly sophisticated proofs.  Both demonstrations are designed to show just that, that a student can write a program or prove a theorem, skills that most of them will never use again.

A reoriented pedagogy would make a big difference.  After a set of preliminaries, students could be taught to read a program or a proof.  Start with a fully remarked program and an annotated proof (The column method would work fine for this.) and have students answer a series of questions like how many iterations does this loop perform or why is the line segment bisected.  Then give a series of unremarked programs or unannotated proofs and ask the student to provide the remarks or annotation.  Then spend plenty of time debugging programs and finding flaws in proofs.  Along the way discuss various program structures or methods of proof.  In either case students will spend their time developing close reading habits and critical thinking skills.

Couched this way both courses have similar ends.  For the general student, a programming course makes more sense.  The variety of problems could be much broader (graph theory, probability, etc) and computers are ubiquitous.  Also, somewhere somehow we also need to be teaching high school students the fundamentals of system theory.


About jrh794

I am a sixty-five year old math instructor at Southern Oregon University. I taught at the College of the Siskiyous in Weed California for twenty-six years. Prior to that I worked as a computer programmer, carpenter and in various other jobs. I graduated from Rice University in 1967 and have a MS in Operations Research from Stanford. In the past I have hand-built a stone house and taken long solo bicycle tours. Now I ride my mountain bike and play golf for recreation.
This entry was posted in Curriculum, Pedagogy, Teaching. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s