## Tuesday, November 5, 2013

### Diving Into Programming!

This post is 100% inspired by Jasmine's TMC13 presentation-turned-blog-post. I thought it was a great idea from the beginning, but I honestly didn't take it very seriously for myself. I guess I just didn't think it would work for me. And I don't teach geometry. I passed Jasmine's post on to our geometry teacher and her student teacher. Chris (student teacher) got really excited about it. The more we talked, the more I started to see the potential for any of the classes I teach.

So, Chris and I decided to join forces and introduce our combined Calculus & Pre-Calculus classes to simple programming. I have almost zero knowledge about programming. So by "join forces", I really mean that he taught the class and I'm over here learning along with the students.

This was sort of a spur-of-the-moment interruption-to-your-regularly-scheduled-math-class-kind-of-activity. We have flexible schedules, so we decided to jump in and try it and I am so glad we did! I am feeling confident about doing this on my own in my other classes now.

I am sure this is all painfully simple to anyone who knows anything about programming, but it was mostly new to me. I wanted to document here for my future self. Maybe someone reading is like me and never thought you could do this sort of thing. You can! If you don't have a stellar student teacher to help you out like I did, just follow these steps.

Day 1 looked like this;

1. Distribute TI-83 calculators. Some kids had them already, we had enough for the rest to borrow.

2. Demonstrate the location of the PRGM button, the NEW tab, name a program, and locate all the commands within the program menu.

3. Demonstrate the ClrHome and Disp commands. Write a program to display the word "HELLO".

4.  Demonstrate the Input command. Show students how to store a value, calculate and display a result. Write a program to request someone's age and tell them how old they'll be in 20 years. (I did not like my number).

We also did a pythagorean theorem program together.

5. Send them home with some programs to try:

*Write a program that asks the user for the year they were born, and then displays approximately how many years old they are.

*Write a program that asks the user for 2 x-coordinates and 2 y-coordinates and then finds the distance between the points.

I cannot tell you how much fun this was for me, mostly because I got to learn along with my students. I saw several of them later in the day, and we couldn't put our calculators down. We had to stop and compare distance formula programs. We exchanged calculators and tested each other's programs. Students started coming up with their own ideas for programs and asking me to test them out.

It was a super fun day to be a teacher  student.

I am pumped for my next lesson!

Stay tuned for Day 2.

1. Amy...I'm SO happy to hear how well this worked! This is very much the same response that I usually get...kids pacing the lunchroom programming. Thank you so much for sharing!

1. Thank YOU for the inspiration! I will definitely do this again.

2. Amy, that's fantastic! Jasmine and I had lots of fun creating her programming project, and I look forward to hearing what you and Chris and your students come up with!

I really like programming as a tool for teaching algorithmic thinking because it forces students to clarify their thinking and provides an external reference for whether they've done it correctly. If you can't explain what you expect to happen, you can't program it--so it really funnels people into thinking carefully about statements and making clear ones. Programming also provides immediate and direct feedback; if you did it wrong, it doesn't work, and it tells you why.

As one of my teachers said: "if you don't understand the math, you can't write code to do the math, so it makes you learn the math."

Cheers!
Hollis (I go with Jasmine)

3. Hi Amy, I am a big fan of your blog! Have you read about the Hour of Code? You can read about it at csedweek.org. I have signed on to teach my students to write one hour of code, having never programmed anything in my life, and was wondering what I would do . . . until I read this post! Of course, graphing calcs make great sense since my students all have them! Inspired, I used an old textbook with chemistry program tutorials to create a couple of chemistry programs. Today I wrote my first program from scratch! Thanks for writing this inspirational post.

Amy

1. Thanks for reading, Amy! I am so excited to hear that this post was helpful to you. Thanks for letting me know! The thing that I found most surprising about jumping into programming, is how very accessible it is to all students. Talk about a low entry high exit! Good luck with your coding project, I'd love to hear how it goes!

2. One of my current students who loves to program just suggested this great wiki for programming TIs:

http://tibasicdev.wikidot.com/starter-kit

It looks really cool.

:) Amy