Wednesday, March 8, 2017

APP-lying the Problem-solving Process

I'm wrapping up Unit 1 of CSDiscoveries with lessons 8 and 9 that really complement one another well. With lesson 8, we spent time considering the input and output of apps and whether input comes from the user, internet, or smartphone. Students spent time considering what information is input to the smartphone, what problem the app is trying to solve, what information is process by the smartphone, and what information is output to the smartphone. 
With lesson 9, I initially thought that my students may be a little disappointed that they were not actually going to code their app, but they ended up having a great time. I really tried to focus them on applying the problem-solving process that we've been focusing on all unit to their app concept creation and then also ensuring that they included input, output, storage, processing on their posters. During the making of the posters, I tried to bring up algorithms again and apply this to their app concepts. For example with Coupon Clicker, students came up with the idea that information as input would be provided regarding the user's favorite places to shop and weekly coupons would then be emailed to the user. 
The most fun I had was hearing the students' presentations. After each group presented, I had the class give them two stars and a wish. Listening to the wishes was my favorite part. The constructive feedback that students provided was amazing. For instance, with the Coupon Clicker, the students who created it only included it for use with household items and a 'wish' was for the app to include deals for movies, entertainment, amusement parks, and more. 
I've attached some of the posters in this post.
Watch Dog - to replace the 'lost pet' posters hanging on neighborhood mailboxes and to be used together with a pet-tracking device possibly
Coupon Clicker - coupons customized and emailed to ones' inbox according to a personalized schedule (e.g. once a week) and selection of stores to save people from clipping and losing coupons
Apple a Day - health tracker to combat the problem of obesity - tracks amount eaten, makes recommendations, etc.

And more...

Friday, January 27, 2017

Colored Bits

I'm moving along with CSDiscoveries and this week continued with lesson 6 called Processing with Bits.  This lesson was awesome!! My students really enjoyed going through all the levels and figuring them out in pairs.  They used the pixel filtering tool to explore how colors are represented using on/off options and combinations. I tried to make the connection to previous lessons (L4 - what is a computer?; L5 - representing with binary) explicit so that students could connect what they did with the face up/down challenge to input/processing/output and representing information using binary in this lesson. I did not go into colors, binary, and computers, but just treated this lesson at face-value and had students go through the leveled puzzles that were scaffolded really well. The initial task of identifying the 8 colors along with their 'binary representation' was important and students could use that to refer to as they completed the subsequent puzzle levels. I ended up making a chart on the board with the different levels listed and as pairs of students finished, I had them write their names so I could conference with them and chat with them about their work for that level. I found that this helped to move things along for students who were capable of doing so while allowing me to meet and talk with those who needed support. The students really liked figuring out the different challenges and were able to make connections from what they were doing in this lesson to previous ones. The only tricky parts for some students was identifying the numbered bits (1st, 2nd, 3rd). Otherwise, they did very well and even then, not all students found this to be difficult. 

In reflecting on this lesson, here are some thoughts that arose:
-What parts of solving this problem on a computer were harder than just doing it by hand?
Trying to make some of the designs on the computer are easier than doing them by hand. For example if you tried to make Mario by drawing him it would be hard to get the right colors. If you wanted to change a color you would have to change everything and all the bits which would be very confusing.
-What parts of solving this problem on a computer were easier than just doing it by hand?
The coloring process might have been easier if you did the more simpler designs like just coloring something red. 
-What parts of solving this problem on a computer were harder than just doing it by hand?
The parts that were harder was that it was hard to have to keep guessing and checking. You had to pick colors and if it wasn't right, you had to go back and pick different colors . That's what was hard because it took us a while to do all 7 of them. It took about 10-15 minutes for each of them . That is why it was harder than just doing it by hand. 
-What parts of solving this problem on a computer were easier than just doing it by hand?
The part that was the easiest was that you can change the colors with just a simple click. In real life, you can't change black into blue by just clicking something.

Here is a sample creation at the end of the lesson where students could apply the pixel filtering tool to different images to see how the filters affect the output images:
I think a challenge in this lesson was providing students with just the right support that each of them needed. Some were just fine going through it on their own whereas others needed more explanation and modeling.
One change I might recommend is modifying the journal to more closely align with the big picture of computers inputting, processing, outputting and storing information. This seems to be important and useful vocabulary to keep revisiting beginning from lesson 4 and continuing in lessons 7,8, and 9.

Saturday, January 21, 2017

I'm a pilot!

With the new year, comes new challenges and...new curriculum that I am piloting this semester. I am so excited that Code.org's long-awaited computer science curriculum for 7th-9th graders is here. It's called CS Discoveries. At its heart, it truly has the middle schooler in mind. With a focus on personal expression through a project-based approach, it is appealing to this age range and there desire to express their unique perspectives, interests, and goals. It is designed to be accessible to every learner, and provides the perfect transition to typed code from block programming. At the same time, the tools used in this course such as App Lab and Game Lab are open-ended enough to be engaging for all students, regardless of programming background. Physical computing is also integrating into this course, providing students with the opportunities to 'make things happen' with an Arduino platform. The heartbeat of the course is the problem-solving process which is integrated throughout the course in different contexts. Whether the students are posing questions, creating an app, programming a game, or analyzing data, they learn firsthand to become active persistent problem-solvers.

Here is the link to Unit 1 - Problem Solving - Computers and Logic. Clicking on each of the individual numbered lessons will take you to a lesson plan within this unit.

Part of being a pilot means that I reflect on a lesson that I teach each week. Here is my reflection from week 1 of piloting Unit 1, lesson 3:

I taught this lesson to 6th graders in Phoenix, AZ. This lesson built really well off of the previous lessons on the problem-solving process. It took me three days to get through the entire lesson (about 40 minutes per day). I did the word search and birthday guests party together in one lesson, then took two days to do the road trip problem. Overall, the students were really engaged in this lesson. They liked the challenge of when I timed them doing the word search and birthday guests problem. I thought that having them complete the activity guide after doing each problem and reflecting on how they used each step of the problem-solving process was critical in order to really get them thinking explicitly about what they were doing through the process. I also had them reflect on how the word search and birthday guests problem differed from the road trip problem (more vs. less well-defined/open-ended, etc.). That led to an interesting discussion about how problems are not always precisely laid out and solutions require creativity. 
I tried to closely follow the lesson plan as written, though next time, I would probably wait to show them the trip planning tool until after the groups had time to set out their criteria. It seemed like once I showed them the online tool, that was it! They just wanted to get right into 'doing' and it was hard to bring them back to establishing criteria.



Sunday, December 4, 2016

Ever wanted to track Santa?

Now you can! Google's Santa Tracker is just in time for the holidays where students can code a snowflake, track Santa using Google maps and more. New activities and lessons unlock throughout the month of December and are connected to subject areas such as computer science, geography, social studies, and language.  Play, learn, watch, code, and explore! 

Here is a sampling:

Code Boogie - Choreograph a dance for the elves using code

Holiday Traditions - Learn about traditions all around the world from Canada to Ghana, France to Australia.

Learn Languages - See and hear different holiday greetings translated into different languages

Play Present Bounce - Try to get the present to land in just the right place

There are these and more activities to come throughout the month, right here in Santa's Village.  On the 24th, there is an invitation to come back and track Santa all night!






Saturday, November 26, 2016

Equity in CS: Empowered to take action

A few years ago, Google came out with a paper entitled, "Women Who Choose Computer Science - What Really Matters." The link to the entire paper is available here.  It's an incredible paper in many ways, but the big takeaway for me was that we are in a position to do something to close the gender gap in education right now. To me, this was incredibly empowering - to realize that there are factors substantiated by research that make a tremendous difference in a girl's life in terms of choosing CS as a degree major. According to the paper, it all comes down to encouragement and exposure. Specifically, this paper found four key influencing factors: social encouragement, self perception, academic exposure, and career perception. Even more amazing was that this research found that uncontrollable factors such as parental occupation play a limited role in women choosing a CS degree.

Armed with this understanding of the impact that exposure and encouragement can have, I started a Girls Who Code club at the middle school I was teaching at. Through this experience, I came to see that Girls Who Code was as much about building community as it was about inspiring the students about computer science. The girls even got to speak at a national STEM conference and sponsor a schoolwide CS event with student council. Fast forward to 2016 and come to find out that research with Accenture and Girls Who Code has found that middle school is a critical time to spark young girls' interest in computer science, coming back again to the all-important role that encouragement and exposure play. This research then goes on to share ways to continue to sustain that engagement in CS through the high school years and on into college where they are inspired toward a career in computing. The link to the article is here. 

Going beyond what was happening just at my school, my district became part of the K-12 Alliance with NCWIT.  Inspired through this partnership, my district has started an initiative called PVWIT in order to address the issues of equity and access in the field of computer science. It's been amazing to see this effort grow, expand and reach students all over. Just last weekend, PVWIT hosted its first Code-a-thon. The way I like to think of it is that the only thing better than creating and coding on your own is to create and code with a community...and that's just what Code-a-thons are all about. I knew that I wanted to gear it toward K-5 students and have middle school students there to help out as well. I invited 14 teachers and the district IT team to host tables: Scratch, robotics, Raspberry Pis, and more. We marketed through social media and teachers sent home bookmarks, paper reminder bracelets and stickers in agendas. I created passports for the day of the Code-a-thon so coders could go around to all the stations we had.

Code-a-thon bookmarks, passports and stickers


I also wanted mentoring to be a part of the whole experience, so I reached out to local industry volunteers with a Women in IT volunteer initiative (in my case, this was American Express). I also reached out to my local university's Women in Computing club with whom I had connected before on class projects and they were also happy to send 5 volunteers. It was great to see industry work alongside university alongside middle school and elementary students - mentoring and community is what it is all about. Or, coming back to the research - we are here finding ways to encourage and expose students to CS as a way to work toward equity in CS.

Code-a-thon 2016

Industry, college and district volunteers



Wednesday, November 9, 2016

Get Ready! Hour of Code 2016


I am so excited to share about the more than 200 Hour of Code activities available here.
What is the Hour of Code? It's a global effort to "celebrate computer science" that has engaged communities all over in one-hour tutorials.  It is held during Computer Science Education Week to recognize "Amazing Grace's" birthday. One of my favorite quotes from Grace Hopper herself: "I've always been more interested in the future than in the past." How fitting a statement to describe the Hour of Code as it inspires our future with the wonders and possibilities of computer science.

A really awesome feature on the Hour of Code site here is the filter tool that allows searching by grade level, teacher experience, student experience, classroom technology available (Android, iPad, no computers and more), topic, activity type, length, and language (blocks, typing, or other).

For those with no computers or devices, it is still possible to teach computer science concepts using unplugged activities that can be found here. These are great ways for students to engage with computational concepts such as algorithms, programming, binary, and more - all without the need of a computer.

Wanting to code with robots? You can go here to find Hour of Code tutorials for Hummingbird, Finch, Dash, and Ozobots.

For resources on how to get involved, #HourOfCode on social media. Go here to find templates for emails, letters, stickers, posters, and flyers to print off to promote and celebrate the Hour of Code in your communities.





Monday, November 7, 2016

Computational Thinking for Educators

It's been a while since I first wrote posts about computational thinking and the resources available since those first posts have grown tremendously. One of my favorite ones for educators is the Computational Thinking for Educators course with Google available here.  While the original course is finished, the modules are still available on the website. Here is a brief video introducing the course:

What I love about it is that it really brings computational thinking (CT)into the world of educators. Through simulations and tasks that participants can interact with, learners see that CT can be applied to various subject areas. For example, in the 'traveling problem,' learners experiment with finding the shortest, most efficient path on an actual Google map with the goal of exploring algorithms. There is the opportunity to explore and find patterns in music using an activity created using Pencil Code. With Turtle geometry, learners have the opportunity to apply CT while finding patterns in geometry. 

 I found this course is an incredible way to not only learn about CT, but to experience it and reflect on how to apply it to my own teaching practice. The final task of the course was to create a lesson plan that integrates CT - in other words, applying the course content to teaching real kids. There is a collection of CT lessons created by educators available here. It is possible to search for the relevant subject area and age range to make it easier to find lesson just right for anyone to use and bring CT to their classroom. CT is truly for everyone, everywhere.