Monday, November 20, 2017

CSforAZ Updates

It's been an amazing journey this year - working with a group of dedicated volunteers to bring computer science to all.  I wanted to share our latest endeavor - a newsletter to update the CS community on all the latest updates and events. Here's our first edition!


Sunday, October 29, 2017

Mentoring to Sponsor

I was out at dinner a little while back with one of my former students and a college student majoring in computer science (CS) with whom I had worked on a variety of community initiatives around CS. It wasn't just any dinner though. It was intentionally arranged so that they could meet a contact of mine who was heading up a new initiative to inspire Latinas and their families about opportunities in technology - Technolochicas. You see, Technolochicas was looking for ambassadors - young Latinas who could serve as role models to the entire community of how they had pursued CS and technology-related endeavors. Immediately these two girls came to mind - both incredibly inspiring and accomplished at their young age already with CS. Being a Technolochicas ambassador would be an incredible way to raise their visibility, so when this contact was planning to be in town, we got to work on arranging a dinner together. Along with my contact and students, two other accomplished young Latinas were also there - in fact, one was an engineer with General Motors. As we sit and begin to converse, sharing stories and backgrounds, the engineer suddenly exclaims to me, "You're a sponsor!" I responded with, "You mean a mentor? I don't have money to be anyone's sponsor...I'm just a teacher." She follows with, "No, a sponsor. A sponsor does more than just guide and listen to their mentees. They go out of their way to help them make connections, they help them become more visible and known. That's what you are - their sponsor." As if that her convincing me wasn't enough, I went online and found this article describing the difference between being a mentor and a sponsor. These three points about being a sponsor stood out to me. Sponsors:

  • Intentionally orchestrate plans by design, not default - CHECK!
  • Champion and promote their mentees through increased visibility - CHECK!
  • Advocate for and expose mentees to opportunities CHECK!    So there you have it. I'm a sponsor and didn't even know it! And there is no other way I'd have it. What greater joy is there than to see former students recognized for their efforts? Here are some intros to a few of the inspiring young women at dinner that night:

Thursday, October 5, 2017

Three powerful words

As I start a new school year with a new group of computer science students, I am reminded of the three powerful words that capture the everyday, seemingly normal miracles of teaching and learning. It happened after teaching the first lessons of html and my 6th graders were just beginning to create ordered and unordered lists. All at once, I heard a chorus of voices exclaim with joy, "I did it." There you have it. Three powerful words. I did it. It struck me at that moment that this is what learning is all about. It's about being about to do something that I was not previously able to do. It's about surprising myself with what I am capable of doing - that is empowering. It's about stretching beyond what is currently possible and continuing to push the boundaries of what is possible.

Then I took a step back to reflect further. What does this mean to me as an educator? I realized that this is what makes teaching such a joy. To be able to witness students celebrate their own accomplishments as they are equipped and empowered with new skills. Taking it a step further, what does that mean to me in terms of ensuring that all of my students have access to these "I did it" experiences. Do I have students that cannot yet say these three words and what can I do about it? Asking myself these questions then brought to mind reading I had done on Universal Design and the parallels between Universal Design (UD) in the physical world with architecture, for example, and Universal Design for Learning.

I love in the 10 things to know about UD  that the first thing to know is that "Universal Design strives to improve the original design concept by making it more inclusive." In teaching, the same applies. As I strive to provide these "I did it" experiences to all of my students, it's about making my lesson more inclusive without taking away any rigor from it. It's also about understanding that UD "aspires to benefit every member of the population by promoting accessible and usable products, services and environments." As I reflected on what this meant to me in the classroom, I realized it is about remembering to use strategies that benefit all of my students. For example, building pair programming into my computer science benefits all of my students. Even more so, building in structures where my students switch partners every 5-10 minutes or so creates benefits for all of my students as well since they are in an environment that has them collaborating, communicating, and problem-solving together. Doing things to intentionally and deliberately build an inclusive community is essential, as highlighted in this great article on broadening participation in computing by supporting great teaching. 
Here's to a year full of empowering our students with many more choruses of "I did it's!"

Wednesday, June 14, 2017

Equity and Access to CS

As a CS educator, the issues related to equity in and access to CS are very real to me. As a middle school teacher, I had classes of 37 students with only 3 girls. Within a year after intentional support from administration and starting a Girls Who Code club, the numbers of girls enrolling in my classes were up and so was my hope that we really could get to the 50/50 mark. 

With this experience in mind, I submitted a proposal to put together and moderate a panel for the annual convening of Arizona's superintendents, district, and school leaders - Equity and Access to K-12 Computer Science Education. For this panel, I invited Kevin Wang, founder of Microsoft TEALS, a K-12 district representative, Code.org regional partner representative, and a higher education representative from the CS department at University of Arizona. Together, the panel addressed questions related to equity and access to CS education.
To start everyone off with an overall understanding of the issue, I showed this video about equity in CS education.


Inequity in Computer Science Education from Bryan Twarek on Vimeo.

Following this, two questions were posed to the panel and each panelist responded from their various perspectives - industry, higher ed, K-12, and PD provider supporting teachers. 
1) Why is equity and access to CS education K-12 so critical?

2) What are some of the challenges you see to 'CS for all'? What are some ways that these challenges can be overcome?

The last 15 minutes of the panel was then dedicated to the audience to ask any questions that they had. There were some tough, but though-provoking questions posed that led to some great discussion. From a district leader's perspective, there are so many things to consider when starting out with CS - teacher training, resources, time, scheduling, stakeholder support, just to list a few. Perhaps most importantly, this panel was about opening up the way to share strategies, approaches, and concerns, all while supporting one another by brainstorming resources and ways to overcome challenges.




Among the challenges, particularly unique ones face rural schools. It was inspiring to see and hear about how Microsoft TEALS is impacting this area. 


Saturday, April 29, 2017

Real-life Stories

There is nothing like a story to inspire, uplift, and give hope that anything is possible.  Now imagine listening to the real-life stories of women as they share their experiences that exemplify the traits of determination, passion, advocate, resilience, inspire, and endurance. That is powerful. With my school district's equity challenge, my director of IT enlisted the help of others to host a 'real-life stories' night to highlight the experiences of women in IT.  I was honored to be invited as one of the speakers along with two of my former students.

The stories were incredible - a refugee who endured to establish a new life for her family, spending her last coins on buying a dictionary in order to learn English and who is now an IT specialist; a medical school student who is now researching neuroscience and learned to be 'relentlessly optimistic'; two students who first experienced the power of computer science as members of their robotics team in middle school who are now entering university and continue to use their computing skills to create apps for social good; a stay-at-home mom who learned to code at her kitchen table and founded Women who Code in Phoenix; a regional manager for Google who made a career-switch because of her passion for education; a teacher who continues to advocate for equity and access to computer science for all.




Some big-takeaways for me were:
1) never underestimate the power of mentoring
2) stand together to stand strong - community means everything as we are on this journey together
3) don't be afraid to set a goal and ask for it

At the end of the evening, all of the speakers were presented with this lovely frame with an inspiring message:



Sunday, April 2, 2017

Going for the Gold

I had a very special experience recently - to attend my first Girl Scout Gold Award ceremony. This year, I've been the project mentor for a former student of mine who has been working on her Gold Award. Her project? To start Coding Clubs in the community, of course!  We started back in the fall of 2016 by running a few coding clubs at a Boys and Girls Club and a public library to see which materials would work the best. She decided to go with Code.org's K-5 curriculum for a few different reasons - accessible entry point to CS for ALL kids no matter their background, streamlined platform with easy sign-in and tracking participants' progress. So, she did it! She continued by reaching out to new community centers and recruited high school friends who needed volunteer hours to help run the clubs. The best part? She created continuity folders so that each site could continue running the clubs on their own. This ceremony was the very first event held at the brand-new Parsons Leadership Center - a gorgeous facility with a mountainous backdrop and desert landscaping.

Some of my favorite quotes from the speakers that day as they addressed the Gold, Silver, and Bronze awardees:
"We believe in equality, opportunity, and potential for girls."
"The future of society rests on your shoulders...we depend on you to be leaders of confidence and honor...we need you to lead."

Program cover
Program blurb

Taking the Gold Award Charge




Special locket with handmade charms including Code.org, Raspberry Pi and Google ones! Gold for Riley and silver for me - to go along with the song about friendship sung at the end of the ceremony





Discover and uncover

I've been moving on with CS Discoveries. In between Units 1 and 2, I had my students explore a variety of centers including Raspberry Pi, Finch robots and Hummingbird robotics. After Unit 1 where they defined what a computer was and really dove into input, storage, processing and output, I wanted them to have a hands-on experience of seeing input and output in action. In particular, I love this diagram of Raspberry Pi to really drive this point home of what computers are and the video available here.

Input devices (e.g. keyboard, mouse) send data to a computer.
Output devices (e.g. monitor, speakers) send data to the user.
Storage in the Raspberry Pi is in the form of a microSD card.



Raspberry Pi with pins highlighted

Now moving on to Unit  of CS Discoveries. I thought that the sequence of lessons that led up to this lesson were critical in several ways - Lesson 1 to really have students notice and observe the structure and formatting that appears on websites - differences, similarities and why such structures exist. I was not planning on modifying this lesson, but I ended up making some last minute changes mainly because I did not have my class set up for Unit 2 in the online portion.The modifications mainly involved the websites that I had my students visit. I kept the first set of websites to the restaurant theme: 
http://www.pizzeriabiancorosso.com
https://www.pizzahut.com/#/home
https://www.peterpiperpizza.com
It ended up being a great discussion because they are all pizza restaurants, but the websites each have a very different look. Initially, the students did not like the one for pizzeriabianco because of the lack of color, but after we discussed the possible reasons for why, they had a richer understanding for the 'why' of the design. Comparing it to Peter Piper that definitely included the 'family' and 'game' aspect of pizza and Pizza Hut that focused more on take-out and counter service, they came to see that Pizzeria Bianco was about the 'experience' of eating pizza from a famous chef. I thought that this was an important discussion to have because even though they may have initially rated a particular website 'low,' there may have been reasons that the web designer chose to do things a certain way. The way the lesson unfolded in my classroom (unintentionally) was that we exercised to abstain from making a value judgment about the website, but kept it more objective, making observations about it (organization, color, layout, purpose and how these aligned) rather than 'scoring' them. 
I then had the students go to theme parks/aquarium/science center sites to compare them for ease of use, attractiveness, etc. They enjoyed visiting the websites of places that they have been to and analyzing them in a different way.
Disneyland
Seaworld
Arizona Science Center
Odessa Aquarium

Connecting the structures and formatting they saw on websites to design their own website in Lesson 2 was logical as well. I found it was important to emphasize the words 'content' and 'structure.' How will you incorporate structure into your website layout? How do other websites handle content and structure effectively?

The emphasis on content and structure led really nicely into Lesson 3 when students had to create their own language to address structure and content. I was truthfully a little apprehensive about Lesson 3 because I found it confusing when I read through it for the first time. Seeing this lesson, however, in the sequence of the others within this unit and how it is placed strategically before Lesson 4 and after students have evaluated websites helped me to stress with my students how languages convey structure. The neat thing was there was actually one group of students who came up with a language with a very similar concept to html with opening and closing tags of their own. With Lesson 4, I had students work in pairs and let them go at their own pace which worked well. I had them check in with me at various points. Having them pay attention to elements, structure and formatting all along was critical because in Lesson 4, this all came together when they had to apply it to creating their own sites, following specific guidelines. 

Having my students reflect on the questions in puzzle 5 on CodeStudio was an important way for them to bridge Lesson 3 with Lesson 4 (sample response below):
In what ways is this language similar to or different from the languages your groups invented in the last lesson?  The language is similar because there are a few commands used that we used last lessons. It is also different because they were able to change the font and color and we couldn't, they were able to make it look like a comic strip.
What are the rules of this language? The rules of this language are there is a opening tag and an closing tag to see where the language starts or ends. There are also spaces in between each picture and text to make the whole thing look organized.
How does this language add structure to the website? It makes the websites organized, it adds ways to make the website look good, it will allow us to add pictures, bullet points, etc., and it will help us be able to add sites and tabs.

Here is an example from Unit 2 - see how content and structure are addressed as students learn and use html?  Font size, paragraphing, headers - all evident here.

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.