Block 5

SCROLL DOWN

Block 5

Expect to read the entire gamut of classroom activity, from "big picture" overviews to detailed reflections on one day's work. Posts are authored by faculty.

In Language Arts 1, we're examining literal and metaphorical keystones.

By popular demand, we're spending our final block on object-oriented programming.

In Number Theory, we're hunting for treasure, honing our proof-writing skills, and discovering mathematical delights.

Time is flying by as we investigate the mathematics of chance.

To get a taste of functional programming, we took a quick dive into Racket, a modern dialect of Lisp.

Students are building number theory from the definitions, discovering some "OP" results along the way.

Our first annual math festival gave Proofniks a chance to share their love of math with the broader community.

In Language Arts, we're considering the question of why the humanities are important in our lives.

Student are putting Proof School's high ceilings to good use.

Mentoring interns is part of Proof School's commitment to serving the broader community.

In Physics, we're exploring electromagnetism through experiments, simulations, and problems.

In Latin, we're synthesizing our learning through magic spells, historical orations, literature analysis, and board game creation.

Advanced computer science students studied data structures this block, tackling a broad range of coding projects.

"In the classroom" posts.

"In the classroom" posts.

In the classroom

In the classroom

In the past week, we talked a lot about teamwork in our language arts class. Admittedly, this isn't the usual subject of language arts, but our experience in LA1 this year has shown just how much students learn when they work together. For this last block, we're learning about ourselves through working with others.

To do that, we're taking the literal meaning of the class title and building things with books. One group proposed a book wall that uses the predominate color of the book spines to create a color gradient. Another group proposed making a book dome, again using the color of the spines for a visual effect, and the third group proposed making an arch. Each project required students to devise a plan, assign roles, and carry out the project.

Teamwork became key in learning how to build their respective proposals, and that meant each student needed to know how he or she could best contribute to the project. A large part of our work this block, then, involves social and emotional learning, from understanding our own strengths to understanding how to leverage the strengths of others.

At this point, you may wonder how such a class is making good on its language arts goals. The overall goal in Language Arts 1 is to help students become more confident and analytical writers and thinkers, and our writing prompt this block ties into our building activity. That has to do with building a book arch, an incredibly difficult task because of all the engineering and physics that go into an arch that doesn't collapse. We'll need to create enough friction that it withstands the temptation of gravity. As it turns out, the key to it all is the keystone, or what is typically the last piece of an arch that acts as a wedge, canceling out the various forces exerted on the arch.

For me, and for a language arts context, the keystone is a powerful metaphor, one that helps us see what holds it all together. Our prompt, then, is to write a paper that describes the keystone in our lives. Writing such a paper will be personal, but it is also analytical and even literary: students need to think about their metaphorical keystone, explain why it holds such power for them, and understand how metaphor can work in their lives. We'll collect these essays and assemble them in a three-ring binder, which just happens to be the perfect shape for a keystone. Our goal is to use this three-ring binder to hold up a book arch we'll build as a class.

To get there, both in terms of being able to engineer an arch and write a meaningful paper, we'll go through a process of building increasingly complex projects. I take as my cue the lead of the class: we start with the book wall, then move onto the dome, and finally try our hand at the arch. Along the way, we're documenting our process with both media and writing, and we're keeping track of our own interactions, both good and challenging, as we work together on it all.

*--Zachary Sifuentes*

In the classroom

In the classroom

By the end of block four, students in Introduction to Python had been exposed to all of the essential concepts of introductory computer programming: variables, input/output, conditional statements, loops, functions, strings, lists, text files, and dictionaries. So, there were a number of different paths that the course could have taken in block five. I described several possibilities to the students and took a class vote. By an overwhelming margin, the students chose to study object-oriented programming (OOP) in block five.

OOP is one of the major conceptual ideas in modern-day computer science. In the Intermediate Python class, it was the very first topic we studied, back in September. It is also a difficult topic to wrap your head around the first time you see it, so I am happy that the Introduction to Python students will be exposed to the basic idea this year, so that they will be prepared to study the material at a more sophisticated level in Intermediate Python. Additionally, when creating OOP lessons, it is easy to include a review of strings, lists, and dictionaries at the same time. I hope this will allow the students to fill in any gaps they might have in their knowledge of this basic material.

Introduction to Python students had already seen objects much earlier in the year, without really knowing it, when they created turtles and then gave their turtles commands to draw pictures on the screen. The code to create a turtle and have it draw a circle of size 50 on the screen looks like this:

*from turtle import **

*myturtle = Turtle()*

*myturtle.circle(50)*

where the "dot notation" on the last line is how you give the turtle named myturtle the command to draw the circle. In a similar way, students wrote code for a Die class, which allowed them to write this code to create a die with 6 sides and print out the result of rolling that die.

*from die import **

*mydie = Die(6)*

*print(mydie.roll()) *

We will spend the rest of the school year learning how to model increasingly sophisticated real-world objects in code, including a notebook (which will be implemented as a list of strings) and a scoreboard keeping track of how many points all the players on one team in a basketball game have scored (which will be implemented as a dictionary). I hope students will both enjoy and appreciate this topic.

*--Steve Gregg*

In the classroom

In the classroom

Our Introduction to Number Theory class is off to a fast start. We’ve covered an alarming percentage of the advertised topics (given that we’re only two weeks into a six-week block), including divisibility tests for small integers, counting divisors, perfect numbers, number bases, divisibility tests in other bases, prime factorization, GCD and LCM, and the Euclidean Algorithm. We’re planning to use the extra time on hand to delve more deeply into square numbers, irrational numbers, and especially congruences during the last two weeks.

Each of my courses this year has quickly developed a distinct character, in terms of class format, and number theory has been no exception. It’s become a tradition to hold quiz review “treasure hunts,” in which the class tackles a set of questions, then figures out how to interpret the answers as an encoded message, which then leads to the final goal. Number theory has a long history in the service of encryption, so this practice seems especially suitable for our class.

I’m also implementing a new means of incorporating writing into the mix. Approximately once a week we discuss the strategy for proving a number theoretic statement as a class, then each student writes out a short paragraph proof on a sheet of looseleaf. This paper travels back and forth between myself and the student, accumulating feedback and new drafts as often as necessary until the proof is beautifully polished, at which point it receives a “squircle-star” seal of approval and is filed in their folder.

One of the perks of teaching Number Theory is that it is such a delightful subject; kids who love math tend to gravitate to the clever and unexpected results that await us each week to an even greater degree (if possible) than in our other math classes. For instance, one afternoon I presented them with the first four perfect numbers; namely, 6, 28, 496, 8128, and challenged them to detect the pattern and find the fifth such number. A merry hunt ensued, which eventually led to the correct value of 33,550,336. We then made and proved a conjecture about how to build perfect numbers, which dates back to Euclid.

We still have a ways to go this block, of course, but I’m very pleased with the foundation that has been laid thus far. I believe that I'm speaking for everyone when I say that we're all looking forward to the last four weeks of math in the classroom this year.

*--Sam Vandervelde*

In the classroom

In the classroom

It’s hard to believe that Discrete Probability is half-over! Every class I’ve taught at Proof School has been fun and rewarding, but the time has never flown as quickly as it has this block; there’s so much enthusiasm for the subject in our little seminar that each two-hour meeting feels too short.

Probability was invented when gamblers consulted mathematicians on how to improve their odds. Proofniks may not be keen on gambling, but we all have our favorite games of chance, and much of our course so far has been devoted to analyzing games. We found the probability of drawing a hand with only three suits in bridge (a game some of us learned in Mr. Gregg’s Block 3 club). We worked out a baseball team’s chances of winning the World Series. We combed my very own “stats” in a trivia game to predict my chances of acing a six-question quiz, and marveled at how well the predictions matched the record. One member of the group used expected-value techniques to find the average length and preferred playing position in Umizumi, a game he learned at a math camp (and a descendant of the ancient Roman game of morra).

This was by no means the only student-created problem to date. Many serious gamers know that two 10-sided dice can substitute for a 100-sided die—just roll for the tens digit and the units digit—but can you design a spinner with the property that spinning it twice, and adding the results, simulates one spin on the spinner below?

Both this problem and its elegant solution are due to a member of the class who saw a creative way to apply the method of generating functions.

Indeed, fun problems in probability sometimes seem to condense out of thin air. At the morning community meeting two weeks ago, Dr. V led a mixer which had everyone look in a random person’s direction, peeling off the group when they made eye contact; many students were surprised at how many rounds went by with no pairs making contact, and just a couple of days later, we were able to demystify this observation in class. Another day, over my morning coffee, I checked the website FiveThirtyEight—which posts a weekly puzzle contest—and found a problem perfectly suited to the day’s lesson plan. At least one student ended up submitting his solution in the contest, along with a suggestion for an extension of the problem! And a Berkeley theater company’s unique production of Hamlet, in which seven very well-rehearsed actors draw their roles out of a skull at showtime, inspired us to figure out how many shows one would have to attend to see all seven play Hamlet. (In case you’re wondering: buy 16 tickets for a 50-50 shot at catching ’em all. By the last performance, you’ll be ready to play the role yourself.)

Students come to the Discrete Probability seminar with a range of backgrounds. Some are able to wring a little extra from the subject by using their knowledge of calculus. Some arrived with extensive skill working with infinite series; others have had to learn this skill as we go. Some have been writing proofs for years, while others are still learning the ropes. The varied knowledge of our students could have made for an atomized classroom. Instead, the opposite has happened, as Proofniks have seized the opportunity to teach each other the cool stuff they know! At the beginning of the block, given a choice between two available classrooms—the more capacious Lab or the smaller Fish Tank with its single seminar table—students voted for the more confined, intimate quarters, which set the tone for a class where conversation is the norm and everyone cares about what everyone else is doing.

In the next three weeks, we’ll model meteor showers and rains of fish, prove the Law of Large Numbers, and learn the mathematical definition of surprise. I’m excited, but I know it will be over much too fast!

*--Austin Shapiro*

In the classroom

In the classroom

Python is a programming language that supports "first-class functions." In such a language, functions can be assigned to variables, which can then be passed in as arguments to other functions. For example, Python has a built-in function map, whose input parameters are a function and a list of numbers. The function will return a new list, consisting of the values obtained by applying the function to the numbers in the original list. So for the function

*def addTen(x):*

*return x+10*

which adds ten to a number, the statement newlist = map(addTen, [ 1, 2, 3 ] ) will create a new list, containing the numbers 11, 12, and 13.

"Functional programming" is a style of programming that has become increasingly popular in recent years, and I felt it would be worthwhile to give my Intermediate Python students a little taste of what functional programming is all about. So at the end of Block Four, we spent some time investigating some of the functional programming ideas that Python supports, such as first-class functions, and "anonymous functions," which are function definitions that are not bound to any variable name.

However, Python is not a "pure" functional programming language. One of the features of a "pure" functional programming language is that writing loops is either impossible or frowned upon from a philosophical point of view. Instead, recursive functions are used to iterate over collections of data. I wanted my students to see what such a programming language is like, so at the start of Block Five, we left the land of Python and spent two weeks learning the basics of a language called "Racket", a modern dialect of Lisp.

Racket differs from Python both syntactically and stylistically. In Racket, all arithmetic expressions are written in prefix notation with full parentheses, so that, instead of writing 2 + 3, you write ( + 2 3 ). That takes a while to get used to! More importantly, recursive functions are used to perform all the most common operations on lists. For example, to find the sum of a list of numbers, you add the first number in the list to the recursive call that gives you the sum of the numbers in the rest of the list. People who believe in this style of programming truly believe that this is the "right" way to code. Recently I encountered this quote from one of the gurus of the field:

Loops per se are evil -- opium for the masses if you so wish

Now that we have reached the end of this unit, I must say that many of my students did not buy into the ideas of functional programming and will be more than happy to return to the more familiar land of Python for the rest of the school year. However, I believe that thinking about programming in this way is a worthwhile intellectual exercise that will serve my students well, especially if they plan to study computer science at a more advanced level in the future.

*--Steve Gregg*

In the classroom

In the classroom

I've learned a new word from my Multiplicative Number Theory students: OP. It literally stands for "overpowered," but it means something akin to "awesome" or "surprisingly cool." I'll use it in a sentence for you: "That proof is so OP!" It's a catch-all word that applies both when you realize that a proof is much easier than you thought, and also when a theorem you have proved is surprising. To take an example from this week, consider the totient function, which counts how many numbers less than or equal to n are relatively prime to n. It turns out, and this is such an OP fact, that if you sum up the totient function of the divisors of a natural number n, you get n.

This week, we worked on three different proofs of this amazing fact, digging into the "why." In the next week, we will contemplate this identity in the context of multiplicative functions to see that it is actually an example of a larger phenomenon. Our goal is to think deeply on several areas of number theory over the course of six weeks, and do a thorough job understanding these areas.

As we progress through different topics, I give out packets that serve as a framework for our exploration. The packets have numbered theorems in them and lots of blank space: students prove all of the theorems themselves, building number theory from the definitions. They have a lot to be proud of, halfway through the block. At this point we've proved 47 theorems and 5 lemmas, and used these to solve 28 exercises (not to mention the dozens of other contest math problems I have handed out as optional material.) Along the way, they've learned to be precise and give reasons for everything they write, answering the question "How do you know that?" until it meets our very high standards of rigor.

Our final goal for the class will be to understand when we can solve quadratic equations in modular arithmetic, and develop a proof of the law of quadratic reciprocity. Gauss, who proved this law, called it his "golden theorem" and said that it "must certainly be regarded as one of the most elegant of its type." In modern day lingo, I would say that quadratic reciprocity is pretty OP.

*--Sachi Hashimoto*

In the classroom

In the classroom

Last Saturday morning, more than a hundred kids and parents from all over the Bay Area showed up at 555 Post Street for the Proof School Math Festival. In some ways, the Festival was probably pretty much what they expected: a giant space full of mathematical displays, puzzles, games, construction toys, and prizes. (I heard one parent exclaim, "This is just like the Exploratorium!") But there was one thing that might have surprised the visitors when they first came in: the people running the show were a bunch of kids!

Eighteen Proofniks, easy to spot in their bright green shirts, guided visitors through the exhibits, taught them how to make modular origami, helped them build icosahedra out of Zometool, and explained the strategies behind mathematical magic tricks. There were a few faculty around for support, but the students were the main faces of the festival. As one visitor put it, "one quickly got used to treating every person in a green shirt as an authority figure, even if that person was an 11-year-old."

The Proofniks did an amazing job getting other kids excited about math--and they had a lot of fun doing it! I loved watching them adjust the level of their explanations to suit now a 5-year-old, now a 13-year-old, now a nitpicky parent "quizzing" them about math. They were patient, kind, and encouraging teachers, and without even noticing it, they were acting as role models for the younger visitors. For instance, the mother of one little girl wrote me that her daughter's favorite part of the Festival was a magic trick that was performed by a "big girl" Proofnik.

Many more Proofniks were involved behind the scenes during the previous day's Flex Friday period, in which the students got to see just how much work goes into creating a successful public event of this kind. Some students designed and constructed props for the various activities, including a complex Arduino demo; others thought about how best to organize the different festival stations; still others helped the kids who would be there on Saturday practice their explanations and presentations. For two hours, the entire school was a hubbub of coordinated effort.

This year, the ideas for most of the Math Festival activities came from the math teachers. Next year, we plan to get the students involved in even earlier stages of the festival design, so that they can propose and implement their own ideas for mathematical games and exhibits. The Math Festival, which we expect will become a school tradition, is a chance for our students to serve the wider community while developing their skills as mathematical problem-posers, problem-solvers, and communicators.

Let me close with a few more quotes from visiting parents:

- Our favorite part was the origami--[Proofnik] was such a great explainer!
- What I found special about the event was the way in which math was highlighted in so many areas of life (nature, art, magic, building, etc.) I found that so inspiring.
- My son is only in kindergarten but loves math ... and is not satiated nearly enough in school. In all honesty, he was like a kid in a candy store yesterday and that melted my heart.
- Thanks for organizing this event. My son had a GREAT time. His comment leaving the math fest was something along the lines of “the best two hours ever!”

A big thanks to all the students, parents, and teachers who made the Math Festival possible!

*--Mira Bernstein*

In the classroom

In the classroom

This block in language arts class the 7th/8th graders are considering the question of why the humanities are important in our lives. To do this, they’re bringing to bear all of the skills they’ve learned this year in order to create and perform their own theatrical scenes, adapted from Ray Bradbury’s “The Fireman” (the precursor to *Farenheit 451*)—a story about a dystopian future in which books and reading are illegal and people spend all their time absorbed by their technological devices.

Students began the block by reflecting on the importance and purpose of their own humanities course at Proof—this very language arts class. Flipping through their binder of work from the year, they each picked a selection of texts, written assignments, projects, and activities and wrote down what important skills they had learned or questions they had broached with each one. After discussing their own ideas about why the humanities (and this class in particular) matter in their lives, they learned what some other people have said on this topic by reading a few non-fiction essays by contemporary scholars. By reading both fictional and non-fictional attempts to understand the humanities, much as we did in block three when we discussed race and gender, students again had the opportunity to consider the difference between the ways literature approaches a complicated socio-political question and the ways analytic writing engages with the same question.

With this larger question of the place of the humanities looming in their minds, they dove into Bradbury’s short story, “The Fireman,” in response to which students are now working in small groups on their final project of the year: a stage adaptation of a section from Bradbury’s story to be performed at the end-of-year Symposium. Each group has created a script, set pieces, props, costumes, and special effects, and even planned a way to get audience members actively involved in thinking about the issues raised by their scenes.

This project requires them to synthesize all of the skills they’ve developed this year: their close-reading skills have helped them to interpret their assigned section of the story and consider its structure, its most important elements, and its place in the story as a whole; they’ve used what they’ve learned about literary form and adaptation to actualize this transformation of a narrative text into a play; they've applied the same creativity and artistry they used for their self-narrative map projects to make beautiful set pieces; our study of perspective has helped them to get into character as they act; and of course throughout the project, they’ve brought to bear all their practice at having productive, respectful discussions and working together as a team. Students have kept track of their ideas and reflected on their group’s work each week in an ongoing “Production Journal,” their final entry of which will be a literary analysis of their group's scene—a close reading of the new text that they've created. They are very excited to present their work at the Symposium!

*--Sydney Cochran*

In the classroom

In the classroom

In block 5, I've had the pleasure of helping Proof School run its first juggling club.

I first proposed the idea for the club to Kathy in March. I was an avid juggler in high school, where students in my school's club would juggle at our weekly meetings, practice performance pieces, and even road trip to juggling conventions. As a Proof parent, I had been looking for a way to get more involved at Proof and thought that running a juggling club for a block would be a good fit for my schedule. Moreover, I thought that juggling would be a good fit for Proof. The patterns and constraints of juggling have long attracted mathematically-minded people, and juggling combines these with athleticism, performing arts, and even maker skills as many jugglers design and build their own props. I was excited to see where Proof students would go with it.

Kathy responded enthusiastically to the idea, and over email we began to brainstorm ways of getting the necessary props. Ever resourceful, she started experimenting with filling balloons with precise measures of rice to make affordable juggling bags. I also had my own collection of props including bean bags, clubs, devil sticks, and diabolos. (I decided to leave my knives, torches, and bullwhip at home!) Finally, we needed students. Like any club, we put the idea to the students to vote on with their block 5 club preferences. There was indeed interest and so the club was formed. Master Z signed on as faculty sponsor, revealing a latent talent with the devil stick!

My initial plan for the club was to start with an introduction to three ball juggling and then introduce one new prop or skill every week after that. We started the first week with a discussion of three ball juggling, including the classic definition of juggling as "having more objects in motion than you have hands." I pointed out that this definition extends to patterns with multiple jugglers passing objects between them. Being Proof School, one of the students then asked about patterns with zero objects and negative hands.

However once the students got their hands on the props, it was clear that my plan wouldn't fly—they wanted to try everything immediately. So instead I spent time during the early weeks circling around to give one-on-one introductory lessons or provide small tips and demonstrations. With that start, the students have been largely self-motivated, and have even begun to teach each other. I've seen each student experiment with all of the core props (balls, devil stick, diabolo) but they also each have a favorite and spend most of their time each week trying to develop their skills with that one. Naturally, students also get PE points for the club.

It's been loads of fun to be involved with this club, and I hope we can do it again next year.

*--Nick Matsakis*

In the classroom

In the classroom

For the last four weeks, I’ve had the pleasure of interning at Proof School. I just completed my third year at Quest University in British Columbia, where I study mathematics. Part of the curriculum at Quest is to do a work experience related to our studies, and because of my interests in math and math education, I was eager to intern at Proof School.

I spent my four weeks helping teach the Introduction to Number Theory class, assisting in Maker Studio, and helping plan the math festival. I prepared lesson plans and taught portions of the Number Theory course, usually when introducing a new topic.

I immensely enjoyed the time I had to work one-on-one with students. With more than one adult in the classroom, Dr. V and I could both work with smaller groups of students. This was particularly useful when students were at different levels of confidence with a topic. In the first week, I taught a lesson on number bases, and a few days later I worked with the students who wanted more review before the quiz while Dr. V worked with the rest on supplemental exploratory material. This was a nice way to avoid having students fall behind while also keeping others engaged.

One of the most interesting things for me to see was that writing is an integral part of the math classes at Proof School. I’m used to this at my liberal arts university, but I didn’t know it could be done at the middle school level. Dr. V does a fabulous job of setting students up for success. For example, he’ll start the class off with a sentence or two, then help everyone strategize about where to go from there. Proof writing isn’t easy, and it’s wonderful to see it successfully incorporated into a middle school curriculum.

I particularly enjoyed jumping in and teaching topics that were relatively new to me; one of the best ways for me to learn things is to teach them. One of my favorite topics to teach was continued fractions, which are nested fractions where each numerator is 1. The general form looks like this:

A few weeks ago, the students had a quiz on continued fractions, and the bonus problem was to determine the value of the following continued fraction:

While students were taking the quiz, I excitedly worked on this problem on my own. I find these types of algebra problems quite fun! A few days later, we had an extra 10 minutes to fill, so I showed the students how to do the problem. (Spoiler: it’s
√ 2
). I then gave them a similar problem using the continued fraction for
√ 5
. The strategy is to call the whole thing *x*, and notice that *x* is also nested within itself! This was a conceptual leap that was understandably difficult for some. Periodic infinite continued fractions are funny like that; the whole thing is contained within itself. This way of thinking allowed us to turn it into a quadratic equation and solve it. I thought it was a really cool problem solving strategy, and I was happy to help the students master it.

I love learning math, and I love sharing what I’ve learned with others. It’s been a blast learning alongside these kids and helping them learn.

*--Rose Johnson-Leiva*

In the classroom

In the classroom

Our focus this block has transitioned from waves to electromagnetism. To explore electrostatics, we charged aluminum pie pans using Styrofoam, which we had saved from last summer's move to 555 Post Street. The students found that they could use these charged pie pans to levitate small strips of aluminized film by dropping them on the pie pans so they acquired the same charge. Several students flew the film all the way from the lab to Dr. V’s desk upstairs! At one point, some students realized that the Styrofoam wasn't getting its fair share of glory. Having an opposite charge from the pan (and hence the film), it attracted the oppositely charged film. On touching, however, the film got the same charge and bounced off, and got attracted to the pan. And thus, electrostatic pickleball was born.

Besides discovering interesting games, we have also been exploring electric fields and representing them, doing calculations with them, and finding equivalent representations through potential. We have been drawing imaginary closed surfaces to conductors and insulators to see that Gauss’s law tells us really surprising things about charges inside conductors.

One of the challenges that we face is doing calculations using fields without the tools of vector calculus. We are learning the subject through a strong geometrical approach by visualizing the behavior of fields in 2D and 3D. When the students do calculus with vectors, they will make strong connections and use their physical intuition to augment symbolic methods. The students are exploring fields through flows and visualizations developed at the University of Colorado and at MIT. We are also looking at a resource called TIPERs, which stands for Tasks Inspired by Physics Education Research. These tasks have been used very effectively at universities and high schools to guide and assess conceptual thinking. The homework this block has been more focused on these tasks as well as experiments. We are looking forward to working on electric circuits at the end of the block.

*--Kaushik Basu*

In the classroom

In the classroom

This block the Latin students synthesized what they've learned and revived a culture. Through a series of magic potions, we took everything we had learned, put it into a cauldron, and uttered the magic (Latin) word, bringing a dead language and an ancient world back to life! Our activities this block required students to bring to bear the full range of skills and knowledge they had learned this year: they wrote their own Latin magic spells (and you thought it was just a metaphor!), performed historical Latin orations, analyzed Latin literature, and created board games based on Roman culture.

Before writing their own spells, students got another taste of modern Latin by reading spells from Harry Potter and the TV show “Buffy the Vampire Slayer”; they translated, found a few grammar errors, and—since we always discuss language as part of a specific social context—considered the fictional circumstances of each spell. Students then created their own spells, the effects of which ranged from freezing a person in place eternally to joining two friends into a single body to conquer evil.

Students continued to explore and discuss ancient Latin texts as well. We read an excerpt adapted from Cicero’s famous oration in the Roman senate against Catiline and his co-conspirators. After close reading the passage, noting especially how Cicero uses various rhetorical devices to persuade his listeners, students got a chance to perform the oration themselves. Working in pairs, they practiced reciting the Latin aloud, modulating their tone and volume, as well as their hand gestures and facial expressions, to bring emphasis to important moments, show structural shifts, and call attention to the meaning of the words through performance.

For their final exam, students had to translate a long Latin passage narrating the mythical story of Echo and Narcissus (adapted from Ovid’s Metamorphoses), and answer a range of questions about it. A few of the questions about the passage were in Latin, and students had to answer in Latin. Some questions aimed to check students’ understanding of the story and its language, asking them, for example, to identify the three different verb tenses used in a particular sentence and explain (in English) what those shifting tenses indicated in the story. The last question asked students to interpret the passage as a whole and consider why the story of Echo and that of Narcissus would be paired together. Throughout, students had to organize their thoughts into paragraphs and to quote the Latin text directly to give evidence for each of their ideas.

For the final project of the year, students created board games to synthesize and showcase what they’ve learned this year. The game had to be based in some way on Roman history and culture and had to require players to answer Latin language questions of a variety of types—translation, grammar, interpretation, speaking, etc. We played these games in our last class! One student’s game shows the connection between Roman religion and political authority during the monarchical period: priests of the god Jupiter try to overthrow King Numa by making sacrifices or holding feasts to win the god’s favor and thus gain political authority. Another student’s game has players contending in a Roman chariot race. And another’s is a version of Clue, but instead of Colonel Mustard and a billiard room, the people are historical Roman figures and the rooms are temples and other buildings in the Roman Forum. The students all learned a huge amount this year and grew in their language skills. They are excited to display their games at the Symposium!

*--Sydney Cochran*

In the classroom

In the classroom

While the rest of the school was learning Number Theory in Block 5, four intrepid high school students chose to take an advanced computer science course instead. Data Structures is typically a second-year college course, in which students learn many of the classic ways to efficiently organize data in a computer.

I have taught this subject many times before at the high school level, as there used to be an AP course that covered this material, "AP Computer Science AB". Unfortunately, this AP test was discontinued in 2009 due to the low number of students taking the test at that time. (Would that still be the case now? Who knows!) However, I am used to having almost an entire year to cover the material, as opposed to just six weeks. So I admit to having a bit of trepidation before the class began, about whether I could do the material justice in this short amount of time.

However, my fears soon proved to be unfounded, as my students were all knowledgeable, enthusiastic, and hard-working. Many of them already had at least a passing familiarity with many of the topics in the course syllabus but patiently listened to my lectures before embarking on their coding project for the day. And my students certainly wrote a LOT of code in class! They were more than happy to work for almost the entire two hour class period, often forgoing breaks, and reluctantly packing up to leave at the end of the school day.

As a result, we managed to meet or exceed even my most optimistic projections of the topics we would be able to cover in the course. A list of the course topics is below, along with some of the coding projects for each unit:

- Stacks: Evaluation of arithmetic expressions written in postfix or infix notation
- Queues: The Josephus problem, radix sort
- Linked Lists: Implementing stacks and queues, modeling a game of "Duck Duck Goose"
- Binary Trees: Recursive tree methods, writing a tree-based guessing game
- Priority Queues: Implementing a priority queue using a heap
- Hash Tables: Simulating a "bar scanner", which reads UPC codes and looks up prices
- 2D arrays: Writing a program to play the game "Boggle"
- Sets and maps: Finding the English word with the most anagrams that are also words
- Graphs: Eulerian and Hamiltonian circuits and paths, Prim's algorithm, Dijkstra's algorithm

Now that I am seeing this list all in one place for the first time, that's a lot of programming work to complete in six weeks! I enjoyed teaching this class a great deal, and hope to get the chance to do it again in the future.

*--Steve Gregg*