At TMC13 I got the courage to present during the My Favorites session on Sunday morning. For the first Explore the MTBoS Challenge (a bit late, I know) I am going to write about the project that I presented then: a computer programming challenge using the TI calculator. [Please note: I did not create this totally on my own, Hollis Easter @adkpiper helped quite a bit.]
Full disclosure: I am not a programmer. I know very little about computer programming. That does not stop me from assigning this project. (I would like to learn more about programming at some point, but it hasn't risen high enough on my lists yet.)
The setting: Ninth grade math. My school teaches an integrated curriculum, so the course includes units from traditional Algebra 1, Geometry and a bit of Algebra 2. My units are as follows--
• Linear models (basic algebra review, linear models from points/slopes, linear regression, systems of linear equations, systems of inequalities)
• Coordinate geometry proof (Pythagorean, using distance, midpoint and slope to prove types of triangles and quads, transformations)
• Trigonometry (intro to basic right triangle trig, special triangles, simplifying rads, intro to radians)
• Geometry (congruency, similarity, parallel line conjectures, traditional proof)
• Exponential models (exponent rules, modeling using changing rates, comparison to linear)
The coordinate geometry unit is where this project falls. I love starting geometry on the coordinate plane. We have spent a great deal of time graphing in the first unit, and for the most part students are comfortable graphing lines. By starting geometry as "what happens when several of these lines intersect?" makes a really nice transition. We look at what we need to know in order to determine whether or not lines are perpendicular. We do a bunch of proofs of the Pythagorean Theorem. We extend to distance and midpoint formulas. We draw tons of quadrilaterals and categorize them based on first the characteristics of their sides and then the qualities of their diagonals.
In essence, students know how to classify quadrilaterals. In comes the project! On the first day, I really hype up the idea of programming. I ask students to name the top careers in terms of job satisfaction. A lot of kids come up with doctors, lawyers and other jobs that their parents have. Sometimes one or two will mention something about software or programming. I then share the stats about programmers being some of the most satisfied employees. Many students are not exposed to much in the way of computer programming in their high school years, so this project gives kids a taste and helps them to know if it's a field that they may want to explore in the future.
I hand out a sheet that walks students through the parts of an algorithm and gives explicit directions for what to enter into the calculator [from the Core Plus curriculum]. I go very slowly together with the whole class. If students want to work ahead, or start writing other programs, that's fine, but if they have questions, they have to wait until I get to that point. So, we all have success with entering a program into the calculator.
Next I ask them if they can think about how to write code for the midpoint and slope equations. Most of them are quick to figure that out and write a couple more small programs. Then I hand out the project requirements. Assignment: Write a program that when four coordinate pairs are input, the calculator outputs the correct quadrilateral classification. In addition to writing the program, they need to include code notes for each line and a justification of why their process is the best method. They also need to hand in three examples worked by hand that agree with the calculator outputs.
Another key to this project working so well is that I give two options. Students can do the programming project, or they can write a grant proposal to the Mathematical Association of America in support of an exhibit on Escher. For that project they need to research his work (we have also just finished studying geometric transformations), create their own art piece, write a compelling grant proposal, research some other artists who use transformations, and explain it all in terms of mathematical language. So, it's also a rigorous project, and appeals to most students who don't seem inspired by the programming.
There is quite a bit of lore about this project at my school at this point. We are very small (80 students in grades 7-12). This is my fourth year teaching Math 9, so all of the upper classmen at my school have been through this unit. So, students are also welcome to ask older students to help with the debugging.