Show What You Know: Reviewing and Applying Knowledge with Debugging Activities

Toni and I led a number of 4-day Teaching Computer Science with TI-Nspire Technology workshops across the state of Texas this summer. Many of the sites offered days 1 and 2 consecutively, followed by days 3 and 4 at a later date. Sometimes day 3 of the PD happened months after day 2. In these instances, how might we structure an activity that helps participant review key computer science ideas from previous learning episodes, while also applying these ideas in new situations? One strategy that we found particularly helpful in this situation was a set of debugging activities.

Side note #1: The first two days of learning delved into most of the topics from the first four units of the 10 Minutes of Code activities, including user input (via parameters or Request statements), output (Disp, Text), variables, data types, conditionals (If, If…Else), and loops (For, While, and DoWhile). Additionally, we applied many of these same concepts to tasks with the Innovator through the first two units of the 10 Minutes of Code for the TI-Innovator Hub activities.

Side note #2: Our use of debugging activities was inspired by the work of Amin Lalani & Georgia Stuart at UT Dallas.

We started Day 3 with a Debugging Problems TNS file. The file was composed of 10 Problems. Each Problem contains a Program Editor page, like this one:

with a corresponding Calculator page, like this one, on which to run/execute the program:

Each program (named debug_1, debug_2, etc.) contained at least one error. Participants worked in pairs to debug/fix each program. In so doing, participants reviewed, applied, and discussed:

  • How to compile a program in the Program Editor (using Check Syntax & Store)
  • How to run/execute a program in a Calculator page (including the use of the var button to summon program names)
  • Syntax for the TI-Nspire programming language
  • Variable naming conventions
  • Data type considerations (including concatenation)
  • Control structures, including conditional statements and loops
  • Logic and conditional statements
  • User input mechanisms (including parameters and Request statements)
  • Error types (including compilation errors & execution errors) and error messages
  • …and more!

Some of the programs involved minor errors. For example, the debug_1 program shown above—participants determined that the string in the Disp statement should have been in double quotes (“) and not single quotes (‘). Here’s a quick GIF of troubleshooting this program:

Debug_1

Here are two other programs from the TNS file. What errors do you see? How might we debug these programs? What important CS topics connect to these errors and/or fixes?

It was incredibly valuable for participants to troubleshoot and debug these programs dynamically on the handheld calculators. They could fix errors as they found them and then compile and execute the edited program right away to test their “fixes”. On numerous occasions participants fixed one or more parts of the program, but then discovered another error when they ran the edited program.

Our brains often “fix the code for us,” helping us read the intention of the code, but perhaps missing some of the subtle errors specific to the coding language. This activity helped us review and apply programming skills specific to the TI-Nspire language, while also discussing larger computer science topics and content applicable across languages.

Additionally, we experienced the cognitive difference between writing a program from scratch and debugging an already written program. It feels different to debug–to find and correct errors in already written code–than to “code from scratch”; there was important learning to be had in this space.

Give it a try yourself! Here’s a copy of the TNS file with all 10 debugging programs in it. Each program does not necessarily have a unique solution—there may well be more than one way to “fix” the program so that it runs as intended, but with different code structures under the hood.

Also, Toni and I wonder…what would similar debugging programs look like that included TI-Innovator commands/components? What sort of errors would be helpful for learners to confront, discuss, and debug in regards to Innovator programs?

Here are some rough draft ideas for possible Innovator debug programs:

What other programs and/or lines of code might be valuable to include in a set of TI-Innovator debugging problems?

What other value do these debugging activities bring to the learning experience?

How To: Create Your Own (Digital) Foldables

Want to create digital versions of your own Foldables for use in your classroom or during professional development sessions? The process is so easy! Read on for an illustrated step-by-step tutorial. With a little bit of practice, you can whip up a professional, custom Foldable in less than 5 minutes!

If you want to learn about Foldables, definitely start with the master, Dinah Zike herself! Check out her website and her amazing resourcesguaranteed to spark your creative juices about how you can use 3D graphic organizers to help students organize their learning!

My professional journey with Foldables began several years ago when I had the incredible opportunity to attend a Dinah Zike Academy in Comfort, Texas. I cannot recommend this professional development experience enough. In just a few short days I went from knowing next-to-nothing about Foldables and journaling to feeling like an Interactive Notebook pro—fully prepared to take my Foldable learning and apply it in my high school math and science classes that fall. I owe so much of my Foldable work to Dinah and her wonderful team!

The first step to creating a digital Foldable is to sketch it out on paper. Might seem counterintuitive, but this sketch will give you a “feel” for how the Foldable will look, info on how many columns/rows you will need later, and will also help with correctly “double-siding” your Foldable if you choose to tackle that (see my upcoming post on creating double-sided Foldables). Your sketch doesn’t have to be fancy or to-scalejust include your tabs, your labels for those tabs, and at least one anchor tab (for gluing your Foldable down into its final homea journal, composition book, bound book, etc.).

Here’s a quick sketch of a Foldable we’ll create throughout this posta Solving Quadratic Equations Foldable for use in Algebra I:

This is a 4-tab Shutterfold Foldable that opens like a pair of shutters on a window.

Not sure where to start with your Foldable design? Check out the samples here to get started!

With your paper sketch complete, you’re ready to create your digital version. I create my Foldables in Microsoft Word. I like the robust suite of editing options provided in Word, as well as the precise design tools that aren’t yet available in GoogleDocs.

Here we go with some step-by-steps…

Open Microsoft Word and create a new, blank document. Click on the Insert ribbon, then select Table. Highlight the size of your desired table. Based on my sketch, I’m going to need a 2 row by 4 column table, so I’ll select that.

Here’s the inserted table, which will act as the “frame” for our Foldable.

This “frame” needs a bit of work to make it into our finished Foldable. We’ll start by selecting the whole table in order to make changes to it. Hover over the upper left corner of your table, making the four-way icon appear.

Left-click on this four-way icon to select the entire table.

Next, hover over and then right-click on the four-way icon to display a context menu. Select Table Properties from near the bottom of this menu.

This will open up the Table Properties menu. On the Table tab, click on Borders and Shading at the bottom.

From here, you can change the border width. A thicker border makes your Foldable much easier to cut out! Click the drop-down menu under Width to change the width from ½ pt to 6 pt. Now your Foldable will have thick borders for easier folding and cutting.

Next, you can resize the widths and heights of your rows and columns to match your needs. Hover over the column/row dividing line, then click and drag to resize the columns and/or rows. Here’s a short GIF overviewing this process:

Creating Foldable 1.gif

Worried that your rows aren’t exactly the same size? Highlight both rows, then right click to bring up the context menu. Use the Distribute Rows Evenly option to make your rows the exact same width.

Creating Foldable 2.gif

Confession here: I hardly ever resize my columns/rows “by hand” like this… Instead, I enter exact row and column values in the Row and Column tabs in the Table Properties menu. More on this in a follow-up post…!

To create cohesive anchor tabs, we need to merge the two cells in the first column and then merge the two cells in the last column. Start by highlighting the two cells you want to merge. Then, right click on one of the highlighted cells to display the context menu. Click on Merge Cells.

Now, our Foldable looks like thisit has the right shape, thick borders, and two anchor tabs for gluing!

Now we’re ready to enter our content.

The standard for solving quadratic equations in Algebra I (in Texas) states:

A.8A: The student is expected to solve quadratic equations having real solutions by factoring, taking square roots, completing the square, and applying the quadratic formula.

So, we’ll title the four tabs using the wording from this standard.

I think Foldables are much more powerful when they have a relevant image, graphic, or mathematical notation on the corresponding tabs. Here I’ll include a sample quadratic equation that we can use to illustrate each solution method. I used Word’s built-in Equation Editor to enter these equations. Here’s a quick GIF showing how to insert an equation:

Creating Foldable 3.gif

And the Foldable now has a relevant equation on each tab:

You could also include images, tables, graphs, geometric figures, etc. on your tabssomething that helps illustrate the big idea for that tab/topic.

One last finishing touch: I like to include the title of my Foldable written along the anchor tabs. Type the title into the anchor tab cell and then select the Text Direction options under the Layout tab in the Table ribbon.

Creating Foldable 4.gif

Repeat on the other anchor tab and voila…!

A customized, professional, digital Foldable for use with your learnersdesigned exactly the way you like it!

What kinds of Foldables will you create using these tips?
What other tips do you have for creating digital Foldables?