You are here

Mathematical Thinking through Web Programming - Introduction

Author(s):

Dennis DeTurck

Ideas in Mathematics is a liberal-arts mathematics course at the University of Pennsylvania, taken by many humanities, nursing, and elementary education majors to satisfy a distribution requirement. Over the last several semesters, I have been teaching two versions of the course. The first is a regular, "in-class" version for Penn undergraduates. The other is an online "distance learning" course for a varied audience consisting of high school students, adult continuing education students, Penn alumni, and a few regular Penn students. The online version involves weekly webcasts in place of regular class sessions and features chatroom-based office hours. Both versions rely on a suite of web-based courseware for student collaboration, communication, and assessment. For the in-class version I have relied on the Blackboard system, and for the distance learning version I have been using software developed by eCollege.

The goal of the course is to get every student excited about and involved in at least one aspect of the mathematics that we do. The curriculum of the course is loosely based on the COMAP textbook, For All Practical Purposes, involving strands that include

graph theory,

number theory,

combinatorics,

probability and statistics,

geometry and fractals,

game theory,

voting and apportionment,

data encoding, and

encryption.

Often two or more of the strands are running simultaneously, in an effort to appeal to most of the students at least some of the time -- and to address the related issues of impatience and short attention spans! For example, the course begins with graph theory -- which is covered in the COMAP book -- and number theory -- which is not.

The point of this article is not to describe the distance learning or e-communication aspects of the course, but rather to describe one of the strands that runs through and supports the entire course, simultaneously providing a medium for experimentation with various concepts and, more importantly, a framework for mathematical thinking. The advertised purpose of this strand is to teach a little web-based programming in HTML and Javascript. The deeper purpose is to involve students in the highly mathematical activity of programming and -- as a subconscious byproduct -- proving theorems.

Throughout the course, students engage in activities that simultaneously

prepare them to write their own programs,

teach the mechanics of web-based programming, and

force them to think algorithmically and/or reinforce or extend mathematical concepts from other strands of the course.

This is done in several "phases" in the course of the semester. In the following sections, I describe each phase, together with the corresponding activities.