Showing posts with label traditionalists. Show all posts
Showing posts with label traditionalists. Show all posts

Wednesday, January 4, 2023

Perihelion Post (Yule Blog Challenge #10)

Table of Contents

1. Introduction
2. Yule Blog Prompt #15: What's on My To-Be-Read Pile for 2023
3. The Traditionalist Malcolm Kirkpatrick
4. My Soccer Player in Malcolm World
5. My Calculus Student in Malcolm World
6. Why I Can't Fully Support Malcolm World
7. Rapoport Question of the Day
8. Conclusion

Introduction

Today is perihelion -- the day when our planet is closest to the sun. Earth is, believe it or not, closer to the sun in the winter than in the summer. Of course, in the Southern Hemisphere it really is summer during perihelion (and winter during aphelion -- the opposite of perihelion), but in the Northern Hemisphere the relation between the seasons and the distance to the sun is counterintuitive.

Yule Blog Prompt #15: What's on My To-Be-Read Pile for 2023


It's the new year, and so I choose one of Shelli's Yule Blog topics that refers to 2023. But unfortunately, the books that I read, or plan to read, don't match the ones that Shelli and other MTBoS members read.

For example, I'm still waiting for Eugenia Cheng's newest book, The Joy of Abstraction. Of the two local libraries in my area, one of them has all her older books but has yet to order this one, while the other has just barely ordered -- How to Bake Infinite Pie, her last (children's) book before Joy. So I'm still waiting for a copy of Cheng's latest book to arrive at the library -- and I'm hoping that it will be in 2023, so it does count as being on my to-be-read pile for the year.

But Cheng's fifth adult book, like her first book, is on category theory -- a college-level math topic. Even though her books are in a more recreational format (as opposed to a dry textbook), it's still not the sort of book that MTBoS members blog or tweet about. Instead, their favorite topic usually isn't recreational math, but educational math -- as in better ways to teach math to K-12 students.

For example, one popular book is Necessary Conditions by Geoff Krall, foreword by Fawn Nguyen -- and Nguyen, of course, is one of the leading ladies of the MTBoS. As the title implies, Krall describes the necessary conditions for learning math at the middle or high school level, and he states these conditions right in the subtitle: "academic safety, quality tasks, and effective facilitation." This goes along with the three C's  at the heart of the MTBoS -- collaboration, communication, and connection.

Shelli, the leader of the Yule Blog Challenge, responded to this prompt in her eleventh challenge post:

http://statteacher.blogspot.com/2022/12/books-on-my-eduread-list-for-2023.html

Here are the books that she lists in that post:

  • The Imperfect and Unfinished Math Teacher by Chase Orton
  • Teaching Math in the Visible Learning Classroom by John T. Almarode et al.
  • Math Games with Bad Drawings and other books by Ben Orlin
Who knows -- maybe I should search for one of these books instead of the Eugenia Cheng book. It might arrive sooner than the Cheng title.

And then maybe, for once, I'll be reading the book as the MTBoS, rather than isolating myself with my reading choices.

The Traditionalist Malcolm Kirkpatrick

While I don't read too many books, I do read lots of blogs. But not all of those blogs are affiliated with the MTBoS -- indeed, some of them are traditionalists who are fully opposed to MTBoS methods. As I've pointed out before, I don't fully agree with the traditionalists, but I do partly agree, and I like to know what they are thinking in any case.

Lately, the blog of choice for many traditionalists is the Joanne Jacobs website. Jacobs is the blog's only official authors, but she links to lots of articles, and many traditionalists post comments. While I've referred to several traditionalists on my blog before, there's one such commenter who's much more controversial than the others -- Malcolm Kirkpatrick.

Recently, Jacobs changed her website, and for some time the commenters' names weren't appearing, so I didn't know which comments were Kirkpatrick's. This week, she finally fixed it, and so the name Malcolm Kirkpatrick now appears in the comment thread at the following website:

https://www.joannejacobs.com/post/if-schools-pay-students-will-they-come

The original article is about declining high school attendance and a possible solution -- pay students to go to school, or at least hire them to work on campus between classes.

One of the commenters there is another well-known traditionalist -- Bruce Smith. He often writes about how juniors should take Calculus, just like their same-aged European peers. Here he mentions another European idea -- having two separate high schools, one academic and one vocational.

But our focus here is on Kirkpatrick. He's a traditionalist when it comes to math instruction, but when it comes to how schools should be operated, he's anything but traditional. But there are several students in my class (and I suspect, most of our classes) who would strongly agree with Kirkpatrick. Yesterday he made the following comment:

Malcolm Kirkpatrick:

US DOE NCES District Directory

Boston school district

2018-19 revenue per pupil: $28,454

Why not: ...

  1. Mandate that all Boston District schools must hire parents of enrolled children, on personal service contracts, to provide for their children's education if (1.1) the parents apply for the contract and (1.2) the child is at or above age-level expectations on standardized tests of Reading (any language) and Math and

  2. Mandate that all Boston District schools must administer an exit exam (the GED or SAT will do) that students may take at any age and subsidize private-sector employment or post-secondary tuition to age 18 from the $28,000 that the district would have spent.

So as we see, Malcolm would completely change how schools are funded. His "personal service contracts" are sort of like vouchers, except that the money is paid directly to parents. He expects some parents to spend the money on private school tuition, but he also expects many just to homeschool.

Before we continue, some readers might expect Malcolm to be yet another anti-teacher commenter (like Bruce Smith, possibly) who opposes anything that we teachers do. And so I must point out one important thing: Malcolm Kirkpatrick is a teacher -- indeed, a high school math teacher. For that reason alone, his opinion carries more weight than most non-teachers who comment there.

In previous comments (that he wrote before Jacobs changed her website), Malcolm explains a bit more on how his funding will work. He writes about a hypothetical fraction a/b < 1 of funding that normally would go to the school -- instead, that amount is paid to the parent.

In this post, he mentions that one particular district (Boston, since the original article is about that district) spends $28K per student. If we assume that his a/b < 1 fraction is 3/4, then that works out to be $21K paid to each parent. Malcolm's theory is all about incentives -- districts have an incentive to do this because they save $7K per student, while parents have an incentive to sign up since any amount above $0 is more than what they normally receive.

Notice that another commenter mentions paying $5K per student, but this refers to Texas. There are numerous political reasons (that I don't care to discuss here) why Bostonian schools cost five times as much per student as Texan schools. That guest proposes paying the student the entire $5K and then having the student pay the school if he "agrees that the school has helped him prepare." I suspect that Malcolm's idea is more like paying private school tuition -- the tuition is paid to the school before any classes are taught, out of the amount that the family received.

All of the money is contingent on passing some sort of standardized tests along the way. Malcolm mentions a capstone test in his comment -- in previous comments it's usually the GED, although in this comment he also mentions the SAT. Once the capstone test is passed, the student is considered to be fully educated. The same amount of money (the a/b < 1 fraction above) continues to be paid to the student, except it's now in the form of a wage subsidy or college tuition -- that is, the student must show proof of employment or enrollment in order to get the money. The money ends at age 18 -- that is, when the student would have graduated from a traditional public high school.

Notice that while the lower tests are based on "age-level expectations," the capstone test can be taken at any age. If a one-year-old (however unlikely) can pass the GED, then that child is considered fully educated and thus qualifies for the wage subsidy.

Several other commenters in the past besides Malcolm have proposed not requiring the last few years of high school. In response, I've blogged about a "Dickens age" -- below a certain age, I believe that sending students to work instead of school would be torture, similar to a Charles Dickens novel.

In parts of Europe, students are allowed to leave school after the equivalent of sophomore year. (Once again, my knowledge of the British educational system comes from Harry Potter -- the O.W.L.s that wizards in that book are known as "O-levels" or "GCSEs" for Muggles. After they complete them, students are allowed to leave Hogwarts -- and in fact, the Weasley twins do exactly this in Book Five, well after they completed their O.W.L.s in Book Three.) This implies a Dickens age of 16. In my posts, I allowed for dropping the Dickens age one year below the British standard, or 15. (The vocational schools mentioned by Bruce Smith often start at age 15 as well.)

But Malcolm disagrees with the idea of a Dickens age altogether. To him, it's having to go to school, not having to go to work, that is Dickensian. He believes that the students who hate going to school would enjoy working more, even if the work is hard.

So Jacobs asks the question, "if the schools pay students, will they come?" -- and the answer that Malcolm provides is a resounding yes. According to him, schools should definitely pay students -- or at least their parents -- money via the "personal services contract" to learn, and the students will come if they know that money is on the line.

I often wonder what my education would have looked like if I'd grown up under Malcolm's vision. I point out that on the original timeline, I took the SAT in January of my seventh grade year as part of a special program, Johns Hopkins. My math score was 710, but my verbal score was 400. My verbal score wasn't high enough to qualify for Johns Hopkins.

Malcolm never states what his cutoff score for the SAT capstone test would be. He likely wouldn't be as strict as Johns Hopkins -- maybe my 400 would have been good enough for him.  If it's good enough, then that means I would have qualified for the wage subsidy midway through my 7th grade year (just after my thirteenth birthday).

If 400 isn't good enough, I might have taken the test in October of my freshman year -- the last month before I moved to another city (and thus a convenient time to try to qualify). I believe that I would have scored high enough to qualify at that time -- if not on the SAT, then at least the GED. This would have been just before my fifteenth birthday (that is, close to my original Dickens age).

OK, so what would I have done with all that free time after qualifying for the subsidy? Since I would ultimately attend UCLA on the original timeline, I'd likely try to attend some college. So I might try to spend some money on a college class or two. If I were to go for employment instead -- hmm, I'm not sure whether I'm up for any sort of physical labor (which is what made Dickens Dickensian). For example, on CBS tonight is the season premiere of Tough as Nails, where players compete to finish tasks in factories and on construction sites. I'm not "tough as nails," so I don't think I can do anything I see on that show. On the original timeline, I ultimately work at the UCLA library, so maybe if I could get hired at a library, then I'd take the employment.

It's a good exercise to see what Malcolm's vision would look like for some of my students -- especially those who are struggling in my actual class.

My Soccer Player in Malcolm World

Let's start with the guy in my sixth period Math I -- the guy who's argued the most about not enjoying math and believes that he shouldn't have to take it. So what would Malcolm World look like for him?

In December, he was asking me to round his grade up to a D- so that he could be academically eligible to play soccer -- at the time, his grade was in the high 50's. But he ended up never taking the final exam, and his grade dropped to the low 50's. He blamed this struggles and absences on the soccer practice and games that took place during sixth grade.

Now let's take him to Malcolm World. First of all, in Malcolm World he wouldn't be asking me to round up his grade -- instead, he'd be asking me to help him pass the GED so he can get the wage subsidy.

Some teachers lament the increase in standardized tests required in school. Many often see them as encroaching on teacher autonomy -- they think teachers can't be trusted to grade students, so those in power have to find ways to evaluate students themselves.

But for Malcolm (who, I remind you, is a teacher himself), standardized tests are good because they use incentives to change the direction of discussion. In the real world, my student asked me to make the class easier so that he can pass with less work. In Malcolm World, he knows that I lack the power to make the GED any easier. So he'd instead ask me to give him more work so he can pass the test, instead of less work.

I've glanced at the GED test. It appears that the math required to pass it is on the level of Math I -- there are many linear equations to solve and functions to graph. The Geometry section is mostly on measurement formulas. So the math I'm teaching my student now will appear on the GED.

Once he passes the GED, my student will be out of my class and out of our school forever. But how would he be able to play soccer? Well, soccer clubs exist, but they cost money. (Of course, some clubs, like the champion LA Football Club, pay its players to play soccer. But my student isn't as good as the professionals, so he'd have to pay the club to let him play.) So he'd have to earn enough money from the wage subsidy to pay the club -- meaning he'd have to have a job, since there's no subsidy without a job.

In our world, he practices during first period, and matches are played in the afternoon. But the coach will know that in Malcolm World, most of his players would have jobs. So instead, practice would be held the same time of the day as competitions, which is more convenient for employers. My guy might get, say, a fast food job during breakfast and lunch hours, so he can play soccer after work.

Malcolm knows that many businesses will be reluctant to hire teens. And so he provides another incentive to hire them -- eliminate the minimum wage entirely for teens (which is why he's giving them a wage subsidy), and have their wages be determined by the free market only. Since the California minimum wage is $15.50, let's just drop the 1, and say that the going wage for teens at fast food joints would be $5.50 per hour in the absence of a minimum wage. That isn't very much money, but if we add this to the wage, this might be enough for him to afford the soccer club.

By the way, I was considering telling this class about Malcolm World before winter break. But in the end, I didn't -- it would only lead to an argument. I reckon that this guy would have told me that he wished he were living in Malcolm World -- and then that's it. It's not as if I have any power to make Malcolm World a reality.

My Calculus Student in Malcolm World

Another case study is that girl who was in my AP Calculus class last year. During the pandemic, she took an after-school job, and she continued to work there once the schools reopened. Once she turned 18 in early January (yes -- this week is probably her nineteenth birthday), she began working full-time.

Oh, and here's the kicker -- her job was at a factory. And she didn't work just 2-4 hours after school -- it was more like 10-12 hours. I'm reminded of the Square One TV song "Time Keeper," where Tempestt Bledsoe sang about how she had to work ten hours, from 4 to 2 (since 4 + 10 = 2 on the clock). Well, for my student, this wasn't just a song -- her actual work hours were 4 PM to 2 AM.

You may ask, how did she manage to work long hours, go to sleep, and show up to school on time? The answer is that she didn't. She regularly showed up to our third period Calculus class very late -- or, more often, not at all.

She's a bright math student, or she wouldn't have been placed in AP Calculus. The few times I saw her, I was able to get her to catch up quickly. But as the AP exam approached, she attended class less often -- and she ended up not taking the AP. She did return for finals -- I allowed her to make up the final project, and I gave her enough points to get a D- and pass the class. But I still feel guilty for not making enough effort to get her to show up for the AP exam. Perhaps I could have sent her or her an email message each day in April, reminding her that the AP was coming soon.

OK, but all of this is in the real world. How would things be different for her in Malcolm World? Well, a student in an AP class is likely to have passed the capstone GED or SAT before entering the AP class, and so she would already have the wage subsidy.

I often wonder whether AP classes and exams would even exist in Malcolm World. Well, Malcolm often writes that credit by exam will apply to the entire K-PhD system. so there must be some way for my student to take a Calculus exam, even if it's not specifically called AP.

But she might take the class directly at some sort of college. In Malcolm World, colleges might allow her to take just one class in a semester -- the Calculus class. If the class is at, say, 9 AM, she might then be able to work at the factory from noon to 10 PM. Then she can get home at a reasonable hour, study for math, and wake up in time for her class. It's only because high schools, not colleges, require a full (or nearly full) schedule that she's having so much trouble. Perhaps if she works at the factory for a year, her wages plus the subsidy for that year may be enough to pay for a full load at a college.

Why I Can't Fully Support Malcolm World

I often point out that work is Dickensian -- especially long hours of factory work. To me, going to school protects students from having to work long hours. But we saw above that school didn't save my Calculus student from long hours at the factory -- she had to go to school and work there.

But still, there are a few reasons why I can't agree with Malcolm Kirkpatrick. For one thing, I wonder what math classes will look like in Malcolm World.

We already know that many students don't enjoy math. If math were an elective rather than required, they'd drop math the instant they can. Of course, STEM will require more math than the GED, but those students will just say that they don't want a STEM job.

I can easily see the following -- the math haters will drop math as soon as possible. Some stronger math students might consider continuing math, but peer pressure is strong at this age -- they see their friends dropping math, so they decide not to take math as well. In the end, no one takes math past GED-level.

Then what would happen to the STEM jobs? Well, STEM jobs will still exist, but no teenagers will be studying math. Instead, more mature people will realize that it's more important to learn what's needed for jobs than what their friends are learning -- but they might be well into their 30's.

The Fields Medals are given to the top mathematicians in the world who are under 40 years old. But by the time anyone in Malcolm World studies enough math to do research, they're already over 40. So no one will win Fields Medals at all in Malcolm World.

Of course, the type of person who would earn a Fields Medal is someone who's always enjoyed math from an early age. But then again, the word "nerd" exists as well. Requiring everyone to take math removes some of the stigma of being a strong math student -- not requiring it discourages even strong students from continuing in math as peer pressure takes over.

In Malcolm World, incentives matter. A STEM student might apply to an easier non-STEM job, which means that there are fewer jobs for non-STEM workers. The only way to convince a STEM worker to take the STEM job is for the STEM job to pay more money.

Now there's another thing to consider -- gender and racial gaps. As we already know, there are more males than females in STEM, and more whites and Asians in STEM jobs. Thus a world where STEM jobs pay more money is one where whites, Asians, and males make more. This is already true to some extent, but it's even stronger in Malcolm World. But in a world where everything is determined by the capstone and other gatekeeper tests, many will accuse the tests of being biased in favor of males, whites, and Asians.

Malcolm himself has addressed this in some of his comments. His generic term for "gender or race" is "variety of human." But all he says is that different varieties of human have different interests or even abilities -- eliminating the gaps is not a problem worth solving.

This takes us right back to my old "magic red button" analogy. If these exists a red button that, when pressed, increases gaps between groups yet improves outcomes for all, should we press the button,

Malcolm would probably press that magic button -- and indeed, he might even consider his world (where personal service contracts with districts exist) to be the world of the magic button.

But as I said before, I'm not sure I can press that button. As long as gaps exist, people will be skeptical that they are really better off. I want to see my students -- most of whom are Hispanic, nearly half of whom are female -- be successful at STEM and earn those high paying jobs. In Malcolm World, they might not even choose to study math. In my world, I want them to study math and go into STEM.

Rapoport Question of the Day

Today on her Mathematics Calendar 2023, Rebecca Rapoport writes:

-x^4 + 16x^3 - 96x^2 + 256x - 256 = 0

Our first question on the new Daily Epsilon of Math calendar is a quartic equation. We can solve this quartic by using trial and error. We first try +1, -1, +2, and -2, and skip +3 and -3 because 3 doesn't divide 256 evenly.

Let's try 4. (Here I've already factored out -1 from the original quartic.)

-(x - 4)(x^3 - 12x^2 + 48x - 64) = 0

So 4 is a solution -- and of course, today's date is the fourth, so we're already done.

In reality, of course we can't just find one root of a polynomial and claim that we're done. We should continue with the cubic x^3 - 12x^2 + 48x - 64 to find the other three roots.

At this point, we might suspect that the other roots are negative or imaginary -- but Rapoport doesn't say "find the positive real solution." In fact, now we might suspect that 4 is a root of multiplicity 4 -- that is, the original factors as -(x - 4)^4. And that turns out to be the case.

Polynomial equations like this one will appear in Chapter 8 in my Math III classes, which is why I decided to highlight today's question.

Conclusion

I have no power to implement Malcolm's World -- but then again, neither does Malcolm. He must deal with the fact that his students need his class to graduate, and there is no capstone test or wage subsidy that they can take to avoid it.

He writes that there is one thing that he can give his classes right now -- free time. His Exit Passes are real Exit Passes -- if they pass, he writes them a pass to the library. He says that his students are then motivated to work harder because they know they can get out of class faster.

In fact, he often writes that "a hour of class" is a a complete nonsense term, similar to an inch of love or a pound of friendship. Class should end when the lesson is learned, not when a bell rings. (His GED at any age idea is an extension of the idea that learning shouldn't be mentioned by time.)

Of course, as a new teacher, if I wrote too many library passes it would look suspicious, so I won't try to implement this idea. Still, it gives me something to think about as our planet starts to move farther away from the sun on its annual journey.

Tuesday, November 22, 2022

Floyd Thursby Day: Previewing Chapter 3

Table of Contents

1. Introduction
2. Math III Chapter 5 Test
3. Geometry in Math I Chapter 3 and Beyond
4. A Complete Lesson Plan
5. The Problems With Tech 55
6. More on Checking for Understanding
7. The Next Three Weeks in Math I
8. Rapoport Question of the Day
9. NOVA: Zero and Infinity
10. Conclusion

Introduction

In past years on the blog, I would label my first Thanksgiving break post as "Floyd Thursby Day," but what does this mean? Well, Floyd Thursby Day is the Tuesday before Thanksgiving. The name refers to a certain traditionalist commenter who would go on websites and complain that too many teachers take the day off and call for a sub on Tuesday -- the last day of school before the holiday in his district.

But, that name is outdated. A Google search for Floyd Thursby and "Tuesday before Thanksgiving" leads mainly to this blog -- it's been so long since he's posted that his old comments no longer appear in any search results. And it's obvious that "Floyd Thursby" is a pseudonym -- the name refers to a certain character in The Maltese Falcon. So maybe I should stop calling this day "Floyd Thursby Day."

Perhaps a better name for today is "Thanksgiving Adam" -- the day before "Thanksgiving Eve" (as we've seen before with "Christmas Adam"). In recent years, I've also seen the name "Friendsgiving," referring to a meal eaten with friends on or just before Turkey Day. Even one of my favorite game shows, The Price Is Right, is scheduled to have a Friendsgiving episode tomorrow.

It's often believed that "Friendsgiving" comes from the TV show Friends, just as "Festivus" (the same as Christmas Adam) comes from the contemporary show Seinfeld. But the true origin is unknown -- and besides, many TV shows have a group a friends meeting and eating in late November. Perhaps the first Friendsgiving meal on TV consists of the toast, popcorn, and jellybeans eaten on The Peanuts.

Anyway, in today's post I wish to preview Chapter 3 of the CPM text for Integrated Math I. That's because this chapter covers a topic that's near and dear to my heart, ever since I started to blog. Chapter 3 is a Geometry chapter, and it specifically covers transformations -- you know, as in translations, reflections, and rotations.

Math III Chapter 5 Test

As much as I really want to get to the upcoming Math I lessons, I promised that I'd write the Chapter 5 Test for the Math III class -- and that I'd write the test before doing any blogging this week. Well, I did finish writing and uploading the test, so let me describe a little about the test right here. This chapter, by the way, is on inverses and logarithms.

First, I was instructed to write a test with two parts -- a paper section and a DeltaMath section. You might recall that last year at the old magnet school, I attempted to write several Calculus tests with both written and online sections, but only once did I pull it off successfully. Anyway, this year, nearly all of our Math III tests will contain two sections.

And according to my instructions, the DeltaMath section should have ten questions, while the paper section should have three questions, with multiple parts each. Indeed, at least one of the questions should require a rubric to grade -- a continuation of the problem I discussed in my last post, where students must evaluate each other's answers and attempt to grade them via a similar rubric.

The DeltaMath section is the easiest to write -- just set up the topics, and then DeltaMath will assign each student a different problem on test day. Here are the ten topics that I chose:

  1. Multi-step Function Inverses (Level 1)
  2. Multi-step Function Inverses (Level 2)
  3. Multi-step Function Inverses (Level 3)
  4. Multi-step Inverses w/Logs (Level 4)
  5. Multi-step Inverses w/Logs (Level 4)
  6. Inverse of Various Functions (M.C.)
  7. Identifying Inverses Graphically
  8. Evaluate Logarithms (Level 1)
  9. Evaluate Logarithms (Level 3)
  10. Features of Exponential and Log Functions

The trickier task is for me, of course, is to write the paper exam. The key is that the paper exam should assess topics that aren't covered well (or at all) on DeltaMath.

For the first question, I have the students find the inverse of a certain function, not by interchanging x and y (as DeltaMath emphasizes) but by writing out and reversing the steps in the reverse order. I often think of this as the "socks and shoes" or "wrapping and unwrapping" method. Moreover, the function I chose is a quadratic (written in vertex form) which requires that the domain be restricted in order to find the inverse. The polynomials on DeltaMath are all of odd degree and are invertible without any need to restrict the domain.

The second question involves finding the inverse of exponential and logarithmic functions. It has two parts, one for each type of function. For this question, any method can be used to find their inverse, including x-y interchange.

The third question involves finding some simple logs without a calculator (based on their knowledge of powers of ten for common logs, and perfect powers up to 5^3 = 125). Since no calculator is needed, it's best to put this on a paper test (as opposed to DeltaMath, where anyone could just open up a second tab for Google Calculator).

I'm the one writing this test for my own students and the rest of the Math III cohort. So I hope that my own students are successful on this test.

Geometry in Math I Chapter 3 and Beyond

As I wrote earlier, I've been waiting for years to teach a high school Geometry course -- and then when I finally get to a Geometry chapter, it ends up getting squeezed. Chapter 3 is supposed to be one of the three chapters we cover this semester, but the other Math I teachers keep saying "let's spend an extra week in Chapter 1 (or 2)," which then takes time away from Chapter 3.

At times like these, sometimes I wish we still had traditional Algebra I/Geometry/Algebra II rather than Integrated Math. But then again, if we were still traditional, I'd most likely be teaching the freshman and junior classes -- that is, Algebra I and II (just as I did back when I was a student teacher) with no Geometry at all. Thus it's only because of Integrated Math that I'm teaching any Geometry this year.

Still, it's worth it to compare the material coming up in Chapter 3 of the CPM text to the Geometry in the text that I discussed during the earliest years of this blog -- the U of Chicago text. Since I already mentioned transformations, you may think that CPM Chapter 3 corresponds to Chapters 4 (reflections) and 6 (other transformations) of the U of Chicago text. Well, let's look at CPM Chapter 3 in detail:

3.1.1 Spatial Visualization and Reflections
3.1.2 Rotations and Translations
3.1.3 Slopes of Parallel and Perpendicular Lines
3.1.4. Defining Isometries
3.1.5 Using Transformations to Create Polygons
3.1.6 Symmetry
3.2.1 Modeling Area and Perimeter with Algebra Tiles
3.2.2 Exploring an Area Model
3.2.3 Multiplying Polynomials and the Distributive Property
3.3.1 Multiple Methods for Solving Equations
3.3.2 Fraction Busters
3.3.3 Solving Exponential and Complex Equations

So as you can see, this isn't a pure Geometry chapter, but is truly Integrated. Only Lesson 3.1 can be fully considered Geometry. In Lesson 3.2, we transition from area and perimeter Geometry (Chapter 8, if we're still comparing to the U of Chicago text) to polynomials in Algebra. By the time we get to Lesson 3.3., I'm wondering whether this even belongs in a Math I text -- after all, 3.3.3 mentions solving exponential equations -- but notice that we're currently working on exponentials in Chapter 5 of the Math III text (as mentioned above)! Of course, the difference is that 3.3.3 doesn't expect us to use logarithms to solve the equations -- instead, we do so by inspection and equating exponents.

Indeed, the leader of the Math I curriculum team tells us that it's OK to push back Chapter 3 to after Thanksgiving, since only Lesson 3.1 on transformations is important for Math I. So my goal is to cover 3.1.1 through 3.1.3 the week we get back and 3.1.4 through 3.1.6 the following week, and only skip to Lessons 3.2 or 3.3 if someone tells me that material from these lessons will appear on some sort of Chapter 3 Test or final exam.

Believe it or not, some material from this chapter appeared on the District Benchmark Test. The lead teacher's original pacing guide had the Chapter 2 Test ending the week of October 24th, then a single transformations lesson -- a Halloween Transformations worksheet -- before giving the Benchmarks during the November 1st-2nd block.

Instead, not only did we take longer to finish Chapter 2, but we were required to give the Benchmarks a week earlier than expected. I still gave the worksheet on Halloween -- thinking that we were just days away from starting Chapter 3 so that the worksheet could serve as a preview. (Halloween was a Monday and hence a non-blogging day.) Then we kept delaying the start of Chapter 3 by inserting a midterm and extra Chapter 2 project.

There were three transformations questions on the benchmarks -- one question each on translations, reflections, and rotations. My students did well on the translation and reflection questions but struggled on the rotations. They likely remember a little about transformations from their Math 8 classes.

Indeed, only once have I taught transformations before -- in Math 8 at the old charter school. Back then, rotations were the most difficult for my eighth graders as well. (At my long-term school, the regular teacher returned before Math 8 reached the Geometry chapters.)

There are two more Geometry chapters coming up in the Math I text. Chapter 7 is on Congruence and Coordinate Geometry, and Chapter 11 is on Constructions and Closure.

And of course, there's plenty of Geometry coming up for the students next year in Math II. Indeed, about a month ago I had to cover a Math II class during my conference period (since in our district, most subs must work at elementary schools). The students had a DeltaMath assignment to work on that day, but I could easily see triangles on their screens.

(As usual, most teachers are out on Mondays and Fridays, and so most days when I must cover classes will be non-blogging days. As for last Friday -- our Floyd Thursby Day -- there were indeed a number of teachers out, but somehow I managed to avoid being called upon to cover one of their classes.)

A Complete Lesson Plan

Since I've been looking forward to teaching Geometry for so long, I'm really hoping that Chapter 3 will be successful for my students. But as I mentioned last week, a number of Math I classes haven't gone well lately, culminating in a disastrous Linear Art project. There's no way I want my Chapter 3 lessons to go as poorly as my Chapter 2 lessons.

Back when I was student teaching -- or, more precisely, when I was working as part of the special BTSA program for unemployed teachers (as explained years ago on the blog) -- my master teacher mentioned the ten parts of any successful lesson:

  1. Anticipatory Set
  2. Objective
  3. Purpose
  4. Input
  5. Modeling
  6. Checking for Understanding
  7. Guided Practice
  8. Independent Practice
  9. Homework
  10. Closure
She stressed that the most important part of any lesson is step 6, Checking for Understanding. There's no reason for me to teach at all if I don't know whether my student understand what I'm telling them.

Of course, back when she was teaching, this was before Desmos activities, tests that are half paper and half DeltaMath, and other new uses of technology. My challenge is to figure out where exactly Desmos and DeltaMath fit above so that there's enough time for the important Checking for Understanding.

Actually, DeltaMath is easy to figure out -- it is Homework, maybe Independent Practice. What's tricky is to figure out where Desmos belongs in the lesson plan.

Some Desmos activities introduce students to a new topic. In this case, Desmos serves as Anticipatory Set, with Objective and Purpose thrown in there. The problem is that sometimes my Desmos activities end up spanning the entire period. We might get to one example of the new material (Input and Modeling), but not much Checking for Understanding (especially if Desmos is on a Monday rather than a block day).

In last week's project, the students had to find equations for lines given two points, and so it's dependent on the success of the two points lesson. But finding a equation given two points is itself a two-step process -- first students must find the slope, and then they must use that slope and either of the two points to find an equation. Thus the previous lessons on slope and point-slope must also have gone well in order for the project to be successful.

I still remember the two points lesson, given just before Halloween. In sixth period, I started the Desmos lesson for two points. But then a few students wanted to know the purpose of this lesson -- after all, Desmos showed the graph of the lines for them on the screen, so they could just count squares on the grid to find the slope (instead of using the slope formula) and see where they cross the y-axis (instead of plugging into y = mx + b), and so the lengthy algebraic process was a waste of time. This led to yet another one of my recent heated arguments. (It goes without saying that this was on a Thursday, the day when most of my arguments occur.)

The problem, of course, was that my students still didn't understand how to find slope, so of course they'd be frustrated with a more difficult problem involving slope. And looking further back at the slope lesson, it also began with a lengthy Desmos activity with very little Checking for Understanding.

The Problems With Tech 55

One possible reason that my students are struggling is that they might be distracted with phone use during my lessons. If the students were staring at phones during the slope lesson, then of course they won't learn anything.

And indeed, on the first day of the project, some groups didn't draw anything at all -- instead, they took out phones and spent 100% of the period on entertainment. They might have been thinking, "I don't know what it means to draw a line with a fractional slope, so I just won't do anything."

So that's why I declared it to be Tech 55 -- put all phones away. Recall that "Tech 55" here refers to "Technology 1955" -- in other words, don't use technology that didn't exist when the 1955 generation attended school. But, as I found out, this didn't help -- even the students who obeyed Tech 55 still had trouble calculating slopes and just sat there waiting for me to tell them what the slope is.

Of course, it's likely that they did have phones out during the slope lesson. But I couldn't have declared Tech 55 during the slope lesson, because it was on Desmos, which didn't exist in 1955. The students needed to have their Chromebooks out to access Desmos.

Of course, I could have chosen a different year other than 1955 in my tech declaration. In 1999, for example, cellphones existed but not smartphones, so I could try "Tech 99" and say that all phones must be put away unless they're '90s-style phones that can't fit in your pocket. But if I were to say that, a savvy student would argue that Chromebooks didn't exist back then either -- yes, laptops did, but a Chromebook isn't a '90s-style laptop. The iPhone came out a few years before the first Chromebook, and so no single year can encapsulate what I really want -- Chromebooks out, smartphones away.

When I first came up with "Tech 55," I didn't realize how dependent regular lessons would be on Desmos and DeltaMath. As I wrote before, the reason for so much technology is to benefit students who must stay home for two weeks after testing positive for COVID -- they still need a way to access their lessons when they're stuck at home. But what it means is that "Tech 55" won't work.

The official rules at most schools usually state that all phones must be put away unless they're being specifically used for class -- in other words, the default position is that phones must be away, except for those very few times when they are used for the lesson. But for too many students, the default position is that phones are allowed except for those very few times when they must be put away -- which is why a counterargument to "put your phones away" is "But I already finished my work!" (when according to the official rules, "because I'm done" is exactly why the phones should not be out).

I actually have no problem when phones being out after the students are done (except for district or state tests where they must stay away) -- it reminds students that the math comes first before there can be technology. But they really must have completed the work first.

Looking at the lesson plan outline above, perhaps phones should stay away through Modeling. Yes, Checking for Understanding is the most important step. But having no phones out until after Checking might result in one student telling everyone else the answer so that phones will be allowed faster -- and that's exactly what I don't want. So I should let them take their phones out at Checking time -- the ones who understand will do the work even with phones out, and the ones who don't will just use their phones, signaling to me that they don't understand.

More on Checking for Understanding

So what exactly should Checking for Understanding look like in a Desmos/DeltaMath world? Once again, it all depends on the lesson.

First of all, Desmos should only take place on block days. But this is tricky, because often the pacing guide will place a lesson with Desmos on a Monday -- and I can't delay it to the Tuesday/Wednesday block because there's another lesson to be taught that day. So I should look at the pacing guide in advance and figure out whether I can rearrange the lessons so that Desmos falls on a block day.

If the Desmos lesson takes the place of the Anticipatory Set and the next few steps, then Checking for Understanding will be separate from Desmos. So I should have the students take out their notebooks and start doing some practice problems.

I keep going back to the slope lesson, since that's where it all began to go wrong. The Desmos lesson I did that day started out with the four types of slope (positive, negative, zero, undefined), then gave two examples on the slope formula -- and then it jumped to Marbleslides.

In hindsight, that's clearly not going to cut it as far as Checking for Understanding is concerned. While the Desmos does Check for Understanding for identifying positive/negative slope, it doesn't Check for the slope formula.

At this point, I should have had the students take out their notebooks, given them a few random slope problems, and had them start working on them. Keep asking more and more slope problems until I can assert that at least two-thirds of the students know how to do two-thirds of the problem. They might make common errors such as putting x and y in the wrong place or confusing the minus signs -- but I'd much rather them make those errors than see a slope and ignore it with "I don't know the first step" when they get to the project.

Sometimes the dry-erase boards that I mentioned last week can be used for Checking. Some teachers also have quick Checks such as "thumbs up if you agree" -- but my students aren't accustomed to such Checks and will ignore me if I tell them to use their thumbs.

The Next Three Weeks in Math I

Now that I know what an effective lesson looks like, let's apply it to the upcoming Geometry lessons in Math III to figure out how I'll teach them. The first week will be Lessons 3.1.1, 3.1.2, 3.1.3, and then perhaps some sort of quiz on Friday.

Lesson 3.1.1 introduces reflections. There is no Desmos for this lesson (good, since it's a Monday) -- instead, there's a worksheet based on problems from the text. The students are asked to reflect polygons over a horizontal, vertical, and diagonal line (slope 1), without coordinates. Then there are T-tables such that the coordinates can be labeled, and the rules for reflecting over the axes and y = x discovered. The only concern here is whether there are enough examples on the worksheet to Check for Understanding.

One interesting thing about Lesson 3.1.2 is -- like Lessons 6.2.and 6.3 of the U of Chicago text, but unlike many other Geometry texts -- rotations and translations are originally introduced as composites of reflections. This lesson begins with a Desmos activity, "Transformation Golf" -- and this should immediately bring to mind Lesson 6.4 of the U of Chicago text, on miniature golf. But the two golf games aren't identical. The U of Chicago version has only reflections, but on Desmos, all three transformations are available to move the "ball" (actually a L tetromino) into the "hole." Since there is a Desmos here, the notebook should be used to Check for Understanding of transformations.

Lesson 3.1.3 is the lesson I'm worried the most about. It's on slope -- and as we've seen, my students are really struggling to understand slope. The slope formulas for parallel/perpendicular lines are derived on a worksheet -- recall that these derivations are now emphasized in the Common Core Standards. At least only point-slope (not two points) appear on the worksheet. With no Desmos on this block day, it might be a good day to get out the dry erase boards -- both to derive the perpendicular formula (where rotating the dry erase board 90 degrees will help) and to get more practice with slope. Once again, there will be some sort of quiz on Friday.

The other lessons are straightforward. Lesson 3.1.4 is a worksheet where coordinate planes are brought back for translations and rotations. Both 3.1.5 and 3.1.6 have Desmos lessons landing on block days -- 3.1.5 has a Polygraph and 3.1.6 has more tetrominos that are transformed in order to play Tetris. Once again, the end of the semester is dependent on what will be included on the final exam -- so it's possible that we might not make it all the way to 3.1.6.

Again, Lesson 3.1 of the CPM text corresponds to Chapter 4 and 6.1-6.4 of the U of Chicago text. We will pick up Lesson 6.5 of U of Chicago when we reach Chapter 7 in CPM.

Rapoport Question of the Day

It's been some time since we looked at the Rapoport calendar -- it's often difficult for me to discuss it on school days. Anyway, on her Daily Epsilon of Mathematics 2022, Rebecca Rapoport writes:

What is the maximum number of regions into which 6 lines can divide the plane?

I've seen this problem and so I know the answer, but not its complete proof. After checking out the relevant Twitter thread, I see the following strategy based on induction:

The initial case is n = 0 -- with no lines, there is only one region, the entire plane itself.

Now we consider the induction case from n - 1 to n -- that is, the nth line is added. To maximize the number of new regions, the nth line should intersect all of the previous n - 1 lines. The intersection of each of those lines is a point -- and these points can divide the line into n sections (two of which are rays -- one on each end -- and n - 2 segments between the n - 1 points).

Thus the nth line can pass through at most n previously formed regions (one for each line section), thus dividing them to form n new sections (that is, the n old sections become 2n new sections, but the net gain is only n).

So the maximum number of sections after the nth line must be 1 + 1 + 2 + ... + n -- that is, it's one more than the nth triangular number (assuming this maximum is achievable, which isn't exactly obvious when you try to draw them). The sixth triangular number is 21, so therefore the maximum number of regions with six lines is 22 -- and of course, today's date is the 22nd.

NOVA: Zero and Infinity

Earlier today, I caught a rerun of the NOVA episode that I missed last week. While I'm trying to get away from long descriptions of books I'm reading or shows that I'm watching, I still want to give a summary of this episode -- focusing on the mathematicians who appear on the show.

"Zero and Infinity" opens with an attempt to communicate with hypothetical Martians about how Earth Time works. Then our host introduces herself as Talithia Williams, a math professor and statistician from Harvey Mudd College right here in Southern California. I've heard of Williams before -- she also has a Great Courses DVD on statistics, similar to the Michael Starbird video I showed my Calculus class last year. As one of the few black female statisticians I know of, I was considering ordering her DVD and playing it for my Ethnostats class last year. (Even though her lectures focused on the software "R" which we weren't using in that class, just seeing a minority woman involved in Stats would have been great for those students).

Williams tells us that one of the first cultures to develop the number zero was in India, perhaps almost two thousand years ago. Here she interviews Manjul Bhargava, a Princeton mathematician of South Asian descent. He explains that the original zero -- a dot -- originated as a linguistic symbol similar to a modern apostrophe, and then it became a musical rest before turning into the number zero. The seventh century mathematician Brahmagupta discovered some of the properties of zero -- adding, multiplying, and even subtracting from zero to develop the forerunner of negative numbers.

The host proceeds to interview Waleed El-Ansary of the Hispanic Society of America. He discusses how Indian mathematics were expanded upon by the Muslims about a thousand years ago. The ninth century mathematician al-Khwarizmi -- who created Algebra, for whom algorithms are named -- used zero in his writings. Slowly, algorithms began to replace the abacus as the main tool for doing various types of calculations, and Hindu-Arabic numbers, including zero, would supplant Roman numerals (after Fibonacci introduced them to Europe in the early 13th century).

Williams now discusses Zeno's paradox of the arrow as a transition from the concept of zero to the concept of infinity. She interviews Eric Bennett, a Paralympian archer, in the Arizona desert. He shoots an arrow with his single arm and points out that at every instant, the arrow is not moving, and yet the arrow is moving. The paradox is caused by a division by zero error, and it's resolved by considering limits to infinity. (Michael Starbird mentions this paradox in his lectures, and I tried to demonstrate it in last year's Calculus class by using a pencil for an arrow and moving it closer and closer to one of my students -- without actually reaching him, of course.)

The host proceeds to interview Stephen Gogatz, a Cornell professor, at the Museum of Math (MoMath) in New York City. He talks about infinity and how the rigorous consideration of infinity leads to the development of Calculus. Also, he divides a pizza into infinitely many slices in order to derive the formula for the area of a circle (which we've discussed on the blog before).

Recall that a few years ago, I read "Beyond Infinity" -- the second book written by Eugenia Cheng. And who's a better choice to speak with Williams regarding the infinite than Cheng herself? Unlike the other guests who meet on a college campus, the two lady mathematicians meet at "Hilbert's Hotel" -- the infinite hotel where even if it's full, one, two, or even infinitely many guests can be accommodated, as Cheng explains in her book. She also talks about Cantor's diagonal argument and how there are many more real numbers than integers (even though there are just as many rational numbers as integers).

By the way, Cheng released her fifth adult book about a month ago. Titled "The Joy of Abstraction," it expands upon the category theory that she introduced in her first book, "Baking Pi." I haven't seen it at any local library yet -- as soon as I do, I'll mention it on the blog.

(Oh, and I just happened to find the old book where I first learned about infinity -- a math text by Joseph Breuer that my high school gave away for free when I was a young student there. I decided to reread the book in anticipation of watching this NOVA episode.)

And I look forward to seeing more from Talithia Williams as well. I still might get her Great Courses DVD one of these days, even though I'm no longer teaching Ethnostats (or any Stats for that matter).

Conclusion

In Chapter 5 of the CPM Math III text, there is an "Ancient Puzzle" given there. The text states that the puzzle originated in India in the second century BC (thus making it older than the number zero) and it was solved by Muslim mathematicians about 700 years ago (sorry, al-Khwarizmi -- you missed solving this one by a few centuries).

The text gives the puzzle in modern notation, using the symbol "log." That's right -- the puzzle is all about the discovery of the logarithm.

While Math III never had a project go awry the way the Linear Art project did in Math I, some of the same issues regarding my teaching have come up in this class too. Logs are a difficult topic at this level, and so it will be more important than ever for me to Check for Understanding throughout.

Reducing and eliminating arguments is my biggest communication issue right now, but Checking for Understanding is my biggest academic issue. And the two aren't unrelated -- when my students understand the material, there are less likely to be arguments about having to do the work.

I have one Thanksgiving break post forthcoming. I wish everyone a happy Floyd Thursby Day -- or Friendsgiving, or how about Fibonacci Eve, since tomorrow is Fibonacci Day, 11/23.

Tuesday, August 10, 2021

Lemay Lesson 19: Streams and I/O

Table of Contents

1. Introduction
2. Blaugust: Go on a Math Walk
3. Links to Other Bloggers: Bear St. Michael
4. Links to Other Bloggers: Sara(h) Season
5. A Rapoport Geometry Problem
6. Another Rapoport Geometry Problem
7. Lemay Lesson 19: Streams and I/O
8. Coding Using I/O
9. Politics: California Governor Recall Election
10. Conclusion

Introduction

OK, I've made my final decision regarding the blog calendar -- in particular, which school district I'll be following as I count the days.

I've chosen to follow the blog calendar for my LA County district -- believe it or not. Recall that earlier this summer, I wasn't sure whether I'd even be working in LA County this year -- and indeed, as of now I'm still not sure.

But as you might recall, school in my LA County district usually starts on a Wednesday -- in other words, tomorrow -- while my Orange County districts start next week. And so if I end up not working in LA County, it will be easier for me to take a few days off from blogging and wait for the OC calendars to catch up. It's better than doing the reverse -- skip days in the count if I start out with the OC calendar and suddenly decide to switch to LA County.

Anyway, due to today's last-minute decision, this is now suddenly my last post of the summer. I'll do one last day of coding in Java -- and it's one I've been looking forward to. To those who aren't familiar with C++, the word "streams" sounds mysterious, but I know what it really means -- input and output.

Blaugust: Go on a Math Walk

Let's get to today's Blaugust topic. Since today's date is the tenth, we'll just take the tenth topic from Shelli's old list from 2019.

  • Go on a “math walk” - take a photo to share with us… What do you notice? What do you wonder?  How could you use this photo in your classroom

Oops -- as you already know from previous years, I don't have a camera or smartphone to be able to take the photos with. And so any challenge topic involving photography is already eliminated for me.

But what exactly does Shelli mean by "math walk" anyway? I often see on Twitter math problems drawn on the street in chalk by young children. I really did take a short walk around the block today, and sure enough, I saw some numbers written in chalk on the walkway to a house. The numbers are written in boxes in a vertical column:

3
4
2? (I'm not quite sure!)
? (I can't tell what this is at all)
?
1
1
1
1
1

I don't know this family at all, and at this point a car pulled up, so I had to walk away at this point or be accused of loitering. It wasn't as if I could ask them what the significance of these numbers are. So that answers Shelli's question -- I notice the stack of numbers and wonder what they are for.

Probably, the chalk math problems I see on Twitter are posted by the young children of math teachers, who deliberately ask their children to do math on the sidewalk. Since I don't have any young children (as I've stated often on the blog), I had to walk around the block to find sidewalk math. Oh -- and directly across the street from the mysterious numbers is some other chalk writing. I easily recognize one of the words written there on the sidewalk -- "ART."

This is the only "math walk" I participated in today. But I did walk around to some mathematically significant points over the summer, so these could count as "math walks."

Earlier on the blog, I've discussed the Degree Confluence Project, and how I sometimes walk to the LA County confluence at 34 degrees N, 118 degrees W:

https://confluence.org/confluence.php?lat=34&lon=-118

Note that at the time of the last official visit to the confluence (Christmas Adam 2017 by a Russian father and son), there was a "parking spot" near the point (and many of the previous visitors have mentioned the parking spot as well).

But unfortunately, that parking spot no longer exists. First, a "No Parking" sign was placed there -- and then a little later, a fence was placed there. No one has made an official visit to the confluence since the fence blocked the old parking spot.

And so last week, I tried to find the closest place I could park (no questions asked) near the confluence and walk. Well, in Hacienda Heights, off of Turnbull Canyon Road, is a certain street called Orange Grove Avenue. On that street are Orange Grove Middle School and Orange Grove Park, so this is a valid public parking spot.

Interestingly enough, there is a compass rose painted on the ground in the park. And considering that the park address is 14517 while the address of the house at the confluence is 14478, it's possible that the north-south line of this compass lies right on the 118th Meridian West, perhaps at latitude 34 degrees 1 minute North -- that is, about one mile north of the confluence.

Unfortunately, I can't just walk one mile south to the confluence. Instead, I must start out by going east on Orange Grove. In fact, there's another possible parking spot to shorten the distance slightly -- in front of a hiking area. I don't enter the hiking area -- that trail takes us too far south and is also too steep, taking us to a higher elevation than the confluence. Still, it's possible to park there -- as long as the trail is open, no one can prove that I'm not on the trail.

I take Orange Grove to Las Tunas, then to Avocado, and then to Oak Canyon Drive. All of these are right turns. The walking distance each way is about 1.3 miles -- once I reach Oak Canyon, it's about 0.6 miles to the confluence. There's about a 300-foot rise in elevation, with most of the ascent on Las Tunas and Avocado.

Perhaps one of these days I'll contribute to the Degree Confluence Project -- while 34N, 118W is one of the most visited confluences, no one has visited since the removal of the parking spot, so maybe I should come in and let others know how to hike there due to the parking problem. And it's been years since I've travelled anywhere -- before I knew what a confluence was. And so I've never been to the other confluences besides 34N, 118W.

There's another mathematically/geographically significant walk that I've taken lately. Many people don't know that the flattest state is Florida -- its highest point is a mere 345 feet above sea level. There are Miami skyscrapers that are double this height. And in California, it's possible to walk from the shore to a point above 345 feet in less than one hour.

And so last month, I took such a walk. (There are many places along the California coastline where such a walk is possible.) I completed the hike, then declared that I'd walked the entire state of Florida in under an hour (vertically, that is).

Those are just two of what I'd consider to be possible "math walks." Perhaps another way to take a mathematical walk is to treat the city as a coordinate plane, where addresses are listed by a number followed by N, S, E, or W. In many cities, the origin is placed near city hall -- this includes the city of LA, which starts at 100 at First and Main.

https://eng2.lacity.org/techdocs/permits/11_2.pdf

An interesting walk would be along the line y = x -- not literally, since that would cut across blocks. But we might start at 100 First Street and go to 200 W (or E) 2nd St., then 300 3rd St., and so on. We might make it all the way to 1000 before getting tired. An alternative (since parking downtown is expensive) would be to figure what the closest point to the origin along y = x where parking is free, and then walk from that point back to First and Main. It's interesting to see exactly how long each block really is.

Links to Other Bloggers: Bear St. Michael

Once again, there is no official Blaugust challenge this year. But there's one author, linked from Shelli's blog, who has posted almost everyday this month -- Bear St. Michael:

https://questionsaboutmath.blogspot.com/

St. Michael is doing his own side-along reading this month:

As part of a summer professional reading group, some colleagues and I elected to read Grading for Equity, by Joe Feldman. It's a big topic, so I wanted an excuse to do some reflective writing on it, so I can try to understand it more deeply. Fortunately, Feldman wrote some "Questions to Consider" at the end of each chapter, and so I hope to use those to guide regular reflections.

As the title implies, the book is all about more effective ways to grade and evaluate students. But St. Michael himself questions whether we should even give grades at all:

https://questionsaboutmath.blogspot.com/2021/08/grading-for-equity-reflection-questions_10.html

  • Judge? Or coach? At one point, Feldman discusses the difference between "feedback" and "grading" as the difference between what a "coach" does, and what a "judge" does. I won't go into it, but I think that's a really meaningful way to think about it. And I'm pretty sure that I'm trying to go the way of "teacher-as-coach." And then I only engage in "teacher-as-judge" to the extent that I'm required to engage in the system of grades by external factors. This feeling is a big part of why I increasingly consider myself a grade-abolitionist, and hope to learn more in the future about "un-grading."

Naturally, most traditionalists would be opposed to abolishing grades entirely. They'd argue that if we didn't give grades, most students would leave every assignment blank. And as evidence, they point to the pandemic, especially its first few months from March to June 2020. Many schools stopped giving grades during this time -- and many students responded by doing absolutely no work during this first stint of distance learning.

Links to Other Bloggers: Sara(h) Season

Blaugust is also known as Sara(h) season -- that is, the time of the year when the two famous math teacher-bloggers, Sarah Carter and Sara Vanderwerf -- post their favorite opening week activities. And many math teachers would blog or tweet pictures of their students being engaged and having fun with the Sara(h) activities.

Here is a link to Sarah Carter's first day of school post. Her students return tomorrow, and of course she has planned a full day of activities:

https://mathequalslove.net/first-day-of-school-activities-2021/

Sara Vanderwerf, on the other hand, has made zero posts so far in calendar year 2021. She did post last year around Week 1 of school regarding one of her opening week activities:

https://www.saravanderwerf.com/the-100-number-task-during-a-pandemic-is-it-possible/

Both Sara(h)s write about how to adapt their activities to the ongoing pandemic.

A Rapoport Geometry Problem

Today on her Daily Epsilon on Math 2021, Rebecca Rapoport writes:

What is the area of the shaded trapezoid?

As usual, all of the givens are in an unlabeled diagram, so I must provide the labeling. Let's label the given trapezoid as ABCD, with AB | | DC. There is also a circle drawn such that A and D are on the circle, and BC is tangent to it. Side AB is longer than CD -- in fact, there exists a point E on AB such that E is on the circle, while no such point lies on CD. Finally, AE = 3, BE = DC = 1, Angle B is right.

Technically speaking, it isn't stated that AB | | DC. We are given that ABCD is a trapezoid, and so two of its sides are parallel, but we don't know which ones. But AD and BC appear to be not even close to parallel, and so it's considered valid to assume that AB and DC are the parallel sides. Since Angle B is a right angle, this also makes C a right angle.

We're asked to find the area of this trapezoid, so we should already be thinking in terms of the trapezoid area formula, (1/2)h(b_1 + b_2). Notice that the two bases are essentially given -- DC is 1, while AB is found as 1 + 3 = 4. So the meat of this problem is to find the height of the trapezoid -- and that, as it turns out, is a bit tricky. It took me time to figure it out.

First, we consider Quadrilateral BCDE, with right angles B and C and sides BE = DC = 1. This is enough information to conclude that BCDE is a rectangle. (We've discussed this proof on the blog before, in the context of Saccheri quadrilaterals. First, Triangles EBC and DCB are congruent by SAS, and so CE = BD and Angles BCE = CBD by CPCTC. Thus the angles complementary to these, which are ECD and DBE, are also congruent. This is enough to conclude Triangles ECD and DBE to be congruent also by SAS, and so Angles CED and BDE are congruent by CPCTC. Then combining this with Angles BEC and CDB from the first congruent pair, we get Angle BED = CDE -- and since two of the angles of quad BCDE are right, this leaves 180 degrees for BED = CDE, and so each of those angles is also 90.)

With BED a right angle, this also makes the angle supplementary to it, AED, also a right angle. Notice that all of A, E, D lie on the circle, making this an inscribed right angle. Thus AD is a diameter -- and so let's label its midpoint O, in order to emphasize that this is the center of the circle.

Let's now label another point -- since BC is a tangent, let's call the point of tangency F. Now we look at the segment OF. It's clearly a radius of the circle -- but it's also a midsegment of the trapezoid. (To see why, we already know that O is the midpoint of AD. As for F on BC, first we notice that in OED -- isosceles since OE and OD are radii -- Angle OED = ODE. Combining this with the known right angles BED and CDE gives us Angle OEB = ODC. So Triangles OEB and ODC are congruent by SAS, leading to OB = OC by CPCTC. Of course OF = OF, and OF is perpendicular to BC by Radius-Tangent, and so we have Triangles OBF and OCF congruent by HL. Hence BF = CF -- and with O and F the midpoints of AD and BC respectively, OF is a midsegment.)

Recall that the length of the midsegment is the (1/2)(b_1 + b_2) that appears in the area formula -- and so the midsegment OF = (1 + 4)/2 = 5/2 -- and this, if you recall, is also the radius of the circle. And so we know that the diameter AD = 5.

Finally, we consider Triangle AED -- a right triangle with the right angle at E. It has leg AE = 3 and hypotenuse AD = 5, and so ED = 4 by the Pythagorean Theorem. And since ED is perpendicular to both bases of the trapezoid, ED = 4 is the sought-after height that we've been working hard to find.

We put this into the formula -- multiplying the midsegment by the height gives (5/2)4 = 10. Therefore the desired area is 10 -- and of course, today's date is the tenth.

As I check this problem out on Twitter, one respondent saved some time by using Power of a Point -- the power of point B is AB * EB = 4 * 1 = 4, and this is also the square of the tangent BF, hence 2. So we get BF = 2 much more easily, but there is still work to get ED twice as long as BF. The one who tweeted this solution also saved some time by noting that radius OF must bisect ED (from one of our theorems from Lesson 15-1 of the U of Chicago text).

Another Rapoport Geometry Problem

Here's another recent problem from the calendar:

How many convex deltahedra are there?

This is a research problem -- we can't even begin unless we know what a deltahedron is. The word sounds like "polyhedron," so it's probably some 3D figure:

https://mathworld.wolfram.com/Deltahedron.html

A deltahedron is a polyhedron whose faces are congruent equilateral triangles (Wells 1986, p. 73). Note that polyhedra whose faces could be triangulated so as to be composed of coplanar equilateral triangles sharing an edge (such as the truncated tetrahedron, whose hexagonal faces could be considered as six conjoined equilateral triangles) are not allowed.

Thus the "delta" here means equilateral triangle -- the shape of that Greek letter. It has nothing to do with the "delta variant" of the coronavirus that we've been hearing about so much lately.

We can see at the link that there are eight convex deltahedra. Three of these are already familiar -- the tetrahedron, octahedron, and icosahedron.

Two more are "bipyramids" (that is, two pyramids joined at the base) -- triangular and pentagonal. So you might wonder, why aren't there other bipyramids, such as square or hexagonal? Well, there already is a square bipyramid -- it's also known as an "octahedron." As for a hexagonal bipyramid, it would have to be flat, since six equilateral triangles make a flat hexagon (and flat sides are expressly forbidden by the definition above). We can't have a hexagonal bipyramid unless we stretch the faces -- at which point they'd no longer be equilateral.

Lemay Lesson 19: Streams and I/O

Here is the link to today's lesson:

http://101.lv/learn/Java/ch19.htm

Lesson 19 of Laura Lemay's Teach Yourself Java in 21 Days! is called "Streams and I/O." Here's how the chapter begins:

The package java.io, part of the standard Java class library, provides a large number of classes designed for handling input and output to files, network connections, and other sources. These I/O classes are known as streams, and provide functionality for reading and writing data in various ways. You got a glimpse of these classes on Day 14, "Windows, Networking, and Other Tidbits," when we opened a network connection to a file and read the contents into an applet.

Once again, I've been looking forward to learning more about input and output, so let's go.

A stream is a path of communication between the source of some information and its destination. This information can come from a file, the computer's memory, or even from the Internet. In fact, the source and destination of a stream are completely arbitrary producers and consumers of bytes, respectively-you don't need to know about the source of the information when reading from a stream, and you don't need to know about the final destination when writing to one.

Once again, this is just like C++.

All the classes you will learn about today are part of the package java.io. To use any of these classes in your own programs, you will need to import each individual class or to import the entire java.io package, like this:

import java.io.InputStream;
import java.io.FilteredInputStream;
import java.io.FileOutputStream;

import java.io.*;

All the methods you will explore today are declared to throw IOExceptions. This new subclass of Exception conceptually embodies all the possible I/O errors that might occur while using streams. Several subclasses of it define a few, more specific exceptions that can be thrown as well. For now, it is enough to know that you must either catch an IOException, or be in a method that can "pass it along," to be a well-behaved user of streams.

OK, this is one difference between Java and C++. Stream methods in C++ don't necessarily have to throw exceptions, although it's a good idea. But these methods in Java do. That's why we had to wait until learning exceptions in Lesson 17 before we could learn about streams, while a C++ user can learn streams without knowing exceptions.

Lemay begins with input streams:

Input streams are streams that allow you to read data from a source. These include the root abstract class InputStream, filtered streams, buffered streams, and streams that read from files, strings, and byte arrays.

And then we learn how these input streams can read our data:

The most important method to the consumer of an input stream is the one that reads bytes from the source. This method, read(), comes in many flavors, and each is demonstrated in an example in today's lesson.

Here's the first form of read():

InputStream  s      = getAnInputStreamFromSomewhere();
byte[]       buffer = new byte[1024];   // any size will do

if (s.read(buffer) != buffer.length)
    System.out.println("I got less than I expected.");

The author tells us that in addition to reading the data and storing it in buffer, the read() method also returns a value -- the number of bytes read. If we're at the end of the file, it returns -1 -- and she explains another difference between Java and C (including C++) here:

Don't forget that, unlike in C, the -1 case in Java is not used to indicate an error. Any I/O errors throw instances of IOException (which you're not catching yet). You learned on Day 17, "Exceptions," that all uses of distinguished values can be replaced by the use of exceptions, and so they should. The -1 in the last example is a bit of a historical anachronism. You'll soon see a better approach to indicating the end of the stream using the class DataInputStream.

We move on to some other input methods:

skip()

What if you want to skip over some of the bytes in a stream, or start reading a stream from other than its beginning? A method similar to read() does the trick:

if (s.skip(1024) != 1024)
    System.out.println("I skipped less than I expected.");

available()

If for some reason you would like to know how many bytes are in the stream right now, you can ask the following:

if (s.available() < 1024)
    System.out.println("Too little is available right now.");

mark() and reset()

Some streams support the notion of marking a position in the stream and then later resetting the stream to that position to reread the bytes there. Clearly, the stream would have to "remember" all those bytes, so there is a limitation on how far apart in a stream the mark and its subsequent reset can occur. There's also a method that asks whether the stream supports the notion of marking at all. Here's an example:

InputStream  s = getAnInputStreamFromSomewhere();

if (s.markSupported()) {    // does s support the notion?
    . . .        // read the stream for a while
    s.mark(1024);
    . . .        // read less than 1024 more bytes
    s.reset();
    . . .        // we can now re-read those bytes
} else {
    . . .                   // no, perform some alternative
}

close()

Because you don't know what resources an open stream represents, nor how to deal with them properly when you're finished reading the stream, you should (usually) explicitly close down a stream so that it can release these resources. Of course, garbage collection and a finalization method can do this for you, but what if you need to reopen that stream or those resources before they have been freed by this asynchronous process? At best, this is annoying or confusing; at worst, it introduces an unexpected, obscure, and difficult-to-track-down bug. Because you're interacting with the outside world of external resources, it's safer to be explicit about when you're finished using them:

InputStream  s = alwaysMakesANewInputStream();

try {
    . . .     // use s to your heart's content
} finally {
    s.close();
}

ByteArrayInputStream

The "inverse" of some of the previous examples would be to create an input stream from an array of bytes. This is exactly what ByteArrayInputStream does:

byte[]  buffer = new byte[1024];

fillWithUsefulData(buffer);

InputStream  s = new ByteArrayInputStream(buffer);

This last one is a lot different from anything I know from C++. Most of the time, the istreams in C++ are files -- I don't think we can make a C++ array into a stream. The author comments:

Finally, you've seen your first examples of the creation of a stream. These new streams are attached to the simplest of all possible sources of data: an array of bytes in the memory of the local computer.

FileInputStream

One of the most common uses of streams, and historically the earliest, is to attach them to files in the file system. Here, for example, is the creation of such an input stream on a UNIX system:

InputStream  s = new FileInputStream("/some/path/and/fileName");

OK, that's more like what I was expecting -- files as input streams. The author warns us that we can't use files as input streams in applets.

FilterInputStream

This "abstract" class simply provides a "pass-through" for all the standard methods of InputStream. (It's "abstract," in quotes, because it's not technically an abstract class; you can create instances of it. In most cases, however, you'll use one of the more useful subclasses of FilterInputStream instead of FilterInputStream itself.) FilterInputStream holds inside itself another stream, by definition one further "down" the chain of filters, to which it forwards all method calls. It implements nothing new but allows itself to be nested:

InputStream        s  = getAnInputStreamFromSomewhere();
FilterInputStream  s1 = new FilterInputStream(s);
FilterInputStream  s2 = new FilterInputStream(s1);
FilterInputStream  s3 = new FilterInputStream(s2);

... s3.read() ...

Let's skip down to data input streams, since those are important -- we use streams to input data:

DataInputStream

All the methods that instances of this class understand are defined in a separate interface, which both DataInputStream and RandomAccessFile (another class in java.io) implement. This interface is general-purpose enough that you might want to use it yourself in the classes you create. It is called DataInput.

The DataInput Interface

When you begin using streams to any degree, you'll quickly discover that byte streams are not a really helpful format into which to force all data. In particular, the primitive types of the Java language embody a rather nice way of looking at data, but with the streams you've been defining thus far in this book, you could not read data of these types. The DataInput interface specifies a higher-level set of methods that, when used for both reading and writing, can support a more complex, typed stream of data. Here are the methods this interface defines:

void  readFully(byte[]  buffer)                           throws IOException;
void  readFully(byte[]  buffer, int  offset, int  length) throws IOException;
int   skipBytes(int n)                                    throws IOException;

boolean  readBoolean()       throws IOException;
byte     readByte()          throws IOException;
int      readUnsignedByte()  throws IOException;
short    readShort()         throws IOException;
int      readUnsignedShort() throws IOException;
char     readChar()          throws IOException;
int      readInt()           throws IOException;
long     readLong()          throws IOException;
float    readFloat()         throws IOException;
double   readDouble()        throws IOException;

String   readLine()          throws IOException;
String   readUTF()           throws IOException;

And finally, we look at an important common exception -- end of file:'

EOFException

One final point about most of DataInputStream's methods: When the end of the stream is reached, the methods throw an EOFException. This is tremendously useful and, in fact, allows you to rewrite all the kludgey uses of -1 you saw earlier today in a much nicer fashion:

DataInputStream  s = new DataInputStream(getAnInputStreamFromSomewhere());

try {
    while (true) {
        byte  b = (byte) s.readByte();
        . . .    // process the byte b
    }
} catch (EOFException e) {
    . . .    // reached end of stream
} finally {
  s.close();
}

PushbackInputStream

The filter stream class PushbackInputStream is commonly used in parsers, to "push back" a single character in the input (after reading it) while trying to determine what to do next-a simplified version of the mark() and reset() utility you learned about earlier. Its only addition to the standard set of InputStream methods is unread(), which, as you might guess, pretends that it never read the byte passed in as its argument, and then gives that byte back as the return value of the next read().

OK, so let's get to the first -- and only -- listing of the lesson:

Listing 19.1. A simple line reader.
 1:import java.io.*;
 2:
 3:public class  SimpleLineReader {
 4:    private FilterInputStream  s;
 5:
 6:    public  SimpleLineReader(InputStream  anIS) {
 7:        s = new DataInputStream(anIS);
 8:    }
 9:
10:    . . .    // other read() methods using stream s
11:
12:    public String  readLine() throws IOException {
13:        char[]  buffer = new char[100];
14:        int     offset = 0;
15:        byte    thisByte;
16:
17:        try {
18:loop:        while (offset < buffer.length) {
19:                switch (thisByte = (byte) s.read()) {
20:                    case '\n':
21:                        break loop;
22:                    case '\r':
23:                        byte  nextByte = (byte) s.read();
24:
25:                        if (nextByte != '\n') {
26:                            if (!(s instanceof PushbackInputStream)) {
27:                                s = new PushbackInputStream(s);
28:                            }
29:                            ((PushbackInputStream) s).unread(nextByte);
30:                        }
31:                        break loop;
32:                    default:
33:                        buffer[offset++] = (char) thisByte;
34:                        break;
35:                }
36:            }
37:        } catch (EOFException e) {
38:            if (offset == 0)
39:                return null;
40:        }
41:          return String.copyValueOf(buffer, 0, offset);
42:     }
43:}

I did end up fixing one error in Lemay here -- her first line is import java.io where she clearly means import java.io.* here.

Of course, there's no output here -- the other read methods are missing, there's no main method, and most importantly, there's no input stream.

Lemay now moves on to output streams:

An output stream is the reverse of an input stream; whereas with an input stream you read data from the stream, with output streams you write data to the stream. Most of the InputStream subclasses you've already seen have their equivalent OutputStream brother classes. If an InputStream performs a certain operation, the brother OutputStream performs the inverse operation. You'll see more of what this means soon.

Just as the primary task of a input stream is to read, the primary task of an output stream is to write:

The most important method to the producer of an output stream is the one that writes bytes to the destination. This method, write(), comes in many flavors, each demonstrated in the following examples:

OutputStream  s      = getAnOutputStreamFromSomewhere();
byte[]        buffer = new byte[1024];    // any size will do

fillInData(buffer);    // the data we want to output
s.write(buffer);

flush()

Because you don't know what an output stream is connected to, you might be required to "flush" your output through some buffered cache to get it to be written (in a timely manner, or at all). OutputStream's version of this method does nothing, but it is expected that subclasses that require flushing (for example, BufferedOutputStream and PrintStream) will override this version to do something nontrivial.

close()

Just like for an InputStream, you should (usually) explicitly close down an OutputStream so that it can release any resources it may have reserved on your behalf. (All the same notes and examples from InputStream's close() method apply here, with the prefix In replaced everywhere by Out.)

All output streams descend from the abstract class OutputStream. All share the previous few methods in common.

ByteArrayOutputStream

The inverse of ByteArrayInputStream, which creates an input stream from an array of bytes, is ByteArrayOutputStream, which directs an output stream into an array of bytes:

OutputStream  s = new ByteArrayOutputStream();

s.write(123);
. . .

In fact, many of the input streams that we've seen have "inverse" output streams, and so we don't need to keep cutting and pasting all of them.

Processing a File

One of the most common idioms in file I/O is to open a file, read and process it line-by-line, and output it again to another file. Here's a prototypical example of how that would be done in Java:

DataInput   aDI = new DataInputStream(new FileInputStream("source"));
DataOutput  aDO = new DataOutputStream(new FileOutputStream("dest"));
String      line;

while ((line = aDI.readLine()) != null) {
    StringBuffer  modifiedLine = new StringBuffer(line);

    . . .      // process modifiedLine in place
    aDO.writeBytes(modifiedLine.toString());
}
aDI.close();
aDO.close();

PrintStream

You may not realize it, but you're already intimately familiar with the use of two methods of the PrintStream class. That's because whenever you use these method calls:

System.out.print(. . .)
System.out.println(. . .)

you are actually using a PrintStream instance located in System's class variable out to perform the output. System.err is also a PrintStream, and System.in is an InputStream.

This is something that happens in C++ as well. In fact, the first C++ program that we learn, the Hello World program, usually contains the following line:

cout << "Hello World!\n";

It's not until much later that we learn that this cout is actually a stream -- and it can do almost anything that any other ostream can do. So of course the same is true in Java -- System.out is a print screen, and so its primary task is to print to standard output, the screen.

Lemay's final topic in this lesson is object serialization:

A topic to streams, and one that will be available in the core Java library with Java 1.1, is object serialization. Serialization is the ability to write a Java object to a stream such as a file or a network connection, and then read it and reconstruct that object on the other side. Object serialization is crucial for the ability to save Java objects to a file (what's called object persistence), or to be able to accomplish network-based applications that make use of Remote Method Invocation (RMI)-a capability you'll learn more of on Day 27, "The Standard Extension APIs."

Here's a simple example from the object serialization specification that writes a date to a file (actually, it writes a string label, "Today", and then a Date object):

FileOutputStream f = new FileOutputStream("tmp");
ObjectOutput  s  =  new  ObjectOutputStream(f);
s.writeObject("Today");
s.writeObject(new Date());
s.flush();

To deserialize the object (read it back in again), use this code:

FileInputStream in = new FileInputStream("tmp");
ObjectInputStream s = new ObjectInputStream(in);
String today = (String)s.readObject();
Date date = (Date)s.readObject();

Coding Using I/O

I want to try a simple input/output program. Instead of input files, let's just use standard input -- in other words, the keyboard:

import java.io.*;
public class CylinderVolume {

double Volume (int r) {
final double pi = 3.1415926535897932;
return 4.0 / 3.0 * pi * r * r * r;
}
public static void main (String args []) {
byte [] radius = new byte[1];
CylinderVolume cv = new CylinderVolume();
final int zero = 48; //ASCII code for "0"
try {
System.out.println("Radius?");
System.in.read(radius);
System.out.print("Volume:");
System.out.println(cv.Volume((int)radius[0]-zero));
} catch (IOException e) {
System.out.println("Error!");
}
}
}

This program works, but it's messy -- it only reads one byte at a time, so we can only find the volume for radii from 1 to 9. I couldn't figure out how to get it to read more than one byte -- so in particular, it can't read a height into a second variable. Thus it actually finds the volume of a sphere -- I was too lazy to change the filename from CylinderVolume to SphereVolume. So while I finally did some input, this proves that I still have much to learn about it.

Politics: California Governor Recall Election

I try to keep politics out of my school year posts -- since this is my last official summer post, it's my last chance to discuss politics. I live in California, and many of you outside our state might be aware that there is a recall election coming up on September 14th. I feel that I might as well try to explain what is going on with this election.

Why is Governor Gavin Newsom facing a recall election. The simplest explanation is this -- many people feel that Newsom has implemented many restrictions in order to keep us safe, but then he hypocritically breaks them himself. I won't discuss the main example of this hypocrisy in much detail -- you can Google the terms  Newsom French Laundry to learn more about this. But there's one example that's directly related to schools and education, and this is what I wish to discuss here on the blog.

Remember that Newsom had implemented a four-tier system for openings, including schools. Those counties in the purple tier must have distance learning only, but those in the red and other tiers can open for some in-person instruction. Many urban or suburban counties dropped from purple to red around October 2020 -- including Sacramento, where the capital is.

But not all schools reopened right away. Some schools did open in October, but others preferred to wait until the start of the second quarter, trimester, or semester. It's generally believed that teacher unions are a factor -- public schools with strong unions would wait until the start of a term. This includes San Juan Unified, where the capital is -- it opted to wait until the second semester in January. Private schools without strong unions tended to open in October -- this includes the private school where Newsom's children attend. He has four children -- the oldest is starting sixth grade this year, while the youngest is starting kindergarten.

Unfortunately, in November, the third wave of coronavirus surged, and counties that had entered the red tier regressed to purple. But schools that have opened before the third wave could remain open. Thus San Juan Unified, which was waiting for January, had to stay closed even longer, while the private school that the young Newsoms attended stayed open.

I believe that most parents don't know what quarters or trimesters are. In particular, middle schools follow either calendar, but most parents couldn't tell you which one their school follows (except for those parents who work for the district). They only know that report cards come when they come. And so they don't understand why schools should wait for the next quarter or trimester to reopen -- especially parents of elementary school children (around the Newsoms' ages), who are the most likely to prefer in-person instruction. They don't think, "There's only a week or so left in the trimester, so let's just reopen at the second trimester." They see, "The young Newsoms are going to school and my kids aren't, and I blame Newsom."

Parents do respect long breaks, so they might validly say "There's only one week until Thanksgiving or winter break, so let's wait until after break to reopen" as opposed to the trimester. Notice that San Juan was waiting for the second semester, which is after the long winter break. Then again, October was much too early for parents to say "Let's just wait until after break to reopen."

And then this was followed a few weeks later by the French Laundry scandal. French Laundry was the straw that broke the camel's back, but the frustration over hypocrisy began with the schools.

What should Newsom have done with the schools? In past posts, I wrote of Presidential Consistency and the idea that what's good for the our leaders' children is good for the rest of us. So we might consider Gubernatorial Consistency here.

Here's what Gubernatorial Consistency might have looked like -- on the very first October day that his children attended in-person private school, Newsom announces a change to the four-tier system. In particular, schools are immediately allowed to reopen even in the purple tier. This applies to all schools serving students of the same ages as the young Newsoms at the time (that is, PK-5). Secondary schools serving students older than the Newsoms will stay closed in the purple tier (even if they reopened, many parents would opt out and keep their teens at home anyway).

If a district chooses a hybrid schedule but the Newsoms' private school is open five full days, then parents would blame the district -- not Newsom. If a union chooses to wait until the next term to reopen, then parents would blame the union -- not Newsom. And if a county (say LA County) decides to keep schools closed even after Newsom allows them to open, then parents would blame the county -- not Newsom. By allowing purple-tier elementary schools to reopen in October 2020 (and by avoiding French Laundry), I believe that Newsom faces no recall.

The last successful recall election occurred in 2003, when Arnold Schwarzenegger replaced the recalled Gray Davis. I was a grad student at UCLA at the time. I couldn't decide upon any of the candidates, and so I voted "No" on the recall and left the candidate blank. I'd only have voted "Yes" if I had decisively chosen a candidate to replace Davis. On the other hand, there was a move by Lt. Gov. Cruz Bustamente to have voters say "No" on the recall yet choose him as the replacement. I didn't do this either -- if I was going to mark any candidate, then I would have voted "Yes."

The same is true for this year's recall. I'll vote "No" on the recall, and no candidate, unless one of the candidates suddenly stands out to me. Then I'll vote "Yes" and for that candidate. Oh, and if even that happens and I vote for a candidate, I won't announce that candidate on the blog (or Twitter), so don't expect me to endorse any candidate here. I admit that as I said earlier in this post, I have no young children, and my middle school reopened in October, and so I can't truly feel the frustration of those parents of elementary schools that stayed closed (otherwise I might have a replacement candidate now).

During the past presidential election, I came up with a color spectrum to show the partisan leanings of the various candidates. Blue is a mainstream Democrat, while red is mainstream Republican. Those who are more moderate in each party is a particular shade of purple. Meanwhile, Democrats to the left of the mainstream are shades of green (that is, approaching the Green Party), while Republicans to the right of the mainstream are shades of yellow (approaching the Libertarian Party).

Newsom is the Democratic incumbent, so he is blue. Kevin Paffrath is a moderate Democrat, and so would be some shade of bluish-purple. (He is a Millennial who would become the youngest governor, edging out Ron DeSantis of the flattest state of Florida, a Gen Xer.)

Most of the Republicans running in the recall are pro-Trump, and so are red, since I consider the last standard bearer of the party to be red. (An argument was made that Trump, at the time of his election, wasn't part of the GOP establishment, making him more orange than red. But his views are more in line with the mainstream now, and so he and his supporters are red.) Some more libertarian-leaning candidates might still be considered some shade of reddish-orange or yellow (such as Larry Elder).

Conclusion

And so that concludes my final post of the summer. My first school year post, which will follow my LA County school district, will be tomorrow.