SWBAT design a software application to reflect a figure across a line with a given equation.

Time to get with the program. In this lesson, students think like computer programmers to create an app that will reflect a figure across a given line.

20 minutes

By the time I start this project, students have done quite a bit of work reflecting points across lines. They have reflected specific points across specific lines and they've created a formula for reflecting an arbitrary point across a specific line. At the heart of this lesson is creating an algorithm for reflecting an arbitrary point across an arbitrary line. With regard to 21st century skills, this project taps into students' creativity, collaboration and critical thinking skills as they assume the responsibilities of a software development team.

In this section, I set the stage for the project by introducing the context as if it is real. I tell students that they are competing for the chance to make a significant amount of money and put a major accomplishment on their resumes. I explain that several factors will come into play when the software development company makes their selection. First, they will want to know that the team is competent with the mathematics. For that reason, teams will need to attend to precision. I also tell them that the company will be looking for a team with good organizational skills. So students will need to think about how they package and present their work. The company will also want a team that works well together to meet deadlines, so the team will need to be strategic about sharing and divvying up the workload. Ultimately, I tell them, any team that submits a product that is mathematically flawed will most likely not get the contract. Therefore, all bona fide candidates will have the requisite mathematical skill. The teams that set themselves apart will be the ones who demonstrate a level of creativity and design thinking that stands out. Real customers are the ones who buy software. So as software designers, I tell the students that they will have to be mindful of creating a product that customers will want to use and be able to use with relative ease.

Finally, I tell the students that the math we are about to do is neither quick nor easy. It will require focus, sustained concentration, and attention to detail. I tell them that they will more than likely experience setbacks and they will have to start all over after they worked very hard. However, I tell them, if they are able to persist and persevere in solving this problem, they will come away having gained valuable skills and they will experience a genuine sense of pride and accomplishment.

Next I discuss the evaluation criteria. We discuss the project deliverables and deadlines. We also discuss how the deliverables will be scored [see rubric].

Once that's done, it's time to start the project. In the beginning, students typically want to just sit there and wait to be told what to do. At least my students do. Success in this project relies heavily on students being able to refer back to what they have learned in the previous two lessons. So my coaching to students in the beginning phases is basically, "How is this task similar to what you have done before?" and "How is this task different than what you have done before?". Also, "How can you use what you've learned in the last two lessons to help you solve this problem?"

Besides this type of coaching, students are on their own. Let's see what they can do.

75 minutes

For this project, I organize students into heterogeneous groups of 4. Then I pass out the Reflection APPlication Project Instructions.

I review this with the class to make sure that the expectations and criteria for success are clear. Then I give the students the rest of the period to work on the project.

Groups tend to delegate their time in different ways. My main role is to manage the classroom and make sure that students are on-task. I am also there to clarify misunderstandings and activate the students as resources for one another.

It is important for students to understand that this is the only class time they will have to make progress with the project. Whatever is not completed during this day will have to be completed outside of class time.

[When students have reached GUI prototyping, I have them explore some Graphical User Interface Prototyping Tools]