Going beyond coding puzzles

Moving a robot through a maze or drawing a pre-defined shape are examples of well known coding puzzles available in every tool or curriculum. As a K-8 computer science teacher, I know we love handing out these structured exercises to our students. They are a perfect way to introduce programming concepts, and because they only have one solution, they provide a clear and definitive end to the lesson. It makes assessment easy, it takes away the stress of “what should I make” and it makes both teacher and student feel successful. It simplifies PD for new CS teachers and ensures that all students will learn the basics.

But K-8 computer science teachers need to go beyond these coding puzzles. We must show students that programming offers much more than a ‘one solution’ answer to a pre-defined problem. This can be messy, uncomfortable and it is not easy.  However, we also know it can be fun and deliver the “fall in love with coding” moment we hope to provide in these early CS classes.

When do we show our students that they can make anything with code?  Should we use K-8 as a time to focus on creative computing and make the first few projects completely exploratory?

I believe CS teachers must strike a delicate balance here.  While showing the students that there is so much more than mazes and shapes, we also want to give them constraints to ensure that they are still successful. In my own classroom, I see both excitement and fear when I tell  students they can make anything they want. Some students rush in – “I know exactly the kind of game I want to create.” However there are others who are frozen – they want suggestions, they want to look around for inspiration, they prefer to remix an existing project. To these students, the open ended project is a source of stress and can scare them away from coding. As teachers, our challenge is to find ways to be helpful but not limiting to these students, allowing them to explore their creative potential without fear.

During my days as an art student, I remember being given a blank white canvas and found myself in my own “make anything you want” moment. I felt that same fear many of my students have until my instructor gave me a wonderful tip – just paint a Burnt Sienna (brown) wash on it. Simply turning the canvas into something non-white made a difference. It gave me the courage to start, to experiment, and to make mistakes.

Writing code for a new project is a lot like starting a new painting. As a CS teacher, we have to be ready to give our students the help they need: a gentle suggestion, the first few lines of code, an exercise that could be extended. We must find the Sienna brown wash that will get them going.

Top Secret Rosies: The Female Computers of WWII

I showed the film Top Secret Rosies: The Female Computers of WWII in 3 of my classes for CS Ed Week (although it was a different week due to exams – such the life of education).  I had heard good things about the film from several other computer science teachers and thought it would be a great history/cs topic.   I also found the website http://www.topsecretrosies.com/ very helpful for resources including a study guide and other reference links.  But enough about my decisions, it is the reactions to the film from my students that made this such a worthwhile experience.

The most profound remark occurred while the film was discussing how the women did not get credit for their work and it was showing how a picture was cropped so that it was just the man with the machine and not the women.  One of my male students remarked out loud “that’s not fair!”  I think he startled himself just as much as some around him because it was an impromptu emotional reaction. After the film this led to several comments about how none of them knew women did so much and why no one else knows about this.
During the film the students had questions to to fill out as well as opinions questions to answer.  Here are some of the best comments:
“I don’t get why they stopped and had a family instead of staying in computers”

“Why didn’t they stay in computers if they were doing well?”
“I think it is weird only one stayed in computers”
“Did men take back over all the jobs when the war was over?”

“I didn’t know women started all the programming”
“I think it would be hard to know your calculations killed people”
“Its cool that computers used to be knobs and levers.”
“I didn’t know computers was a name for people”
As you can see many students were surprised and actually upset that the women left computing for family and other opportunities.  The students collectively felt if the women started the job and were doing well then they should have stayed with it.  Some of them were also struck by the concept that what the women were doing with the calculations led to people being killed in the war.  This actually opened up a great conversation about understanding the consequences of your work and actions.  We discussed that people can have a far reaching effect when they are programming and it can be anything from bombs dropping to corporations making money, etc.  There were several other conversations centered around beginning computing, the people, the machines, and how different it is today.  Overall I would say this film had a much further impact that I would have thought.  The students learned history that included the women “computers” and also learned about the impact of war, computing, and jobs during that time period.
If you haven’t used this in your classes I would highly suggest it and my best advice would to not preface the film and just let them come to understandings and realizations on their own.  You might just be surprised what they say!

Teaching and learning with “gift code”

Last month I co-taught a two-and-a-half day workshop introducing students to building apps with MIT App Inventor. Some of our students had prior programming background, and others did not.

Here, our goal as teachers was to get our students engaged in their own original projects (rather than teaching any specific set of computing concepts).

I’ve done a bunch of workshops like this, with learners of all ages, and we’ve developed the concept of “gift code.” (Thanks, Michael Penta!)

With gift code, a student describes their idea to you, and you translate it back to them in the form of working code.

Ideally, gift code has the following properties:

  • It’s short. I’ll dictate the code and have the student type it in (or in the case of App Inventor, select and configure the code blocks). It really has to be small so neither of us gets impatient.
  • It works. The premise is that the student will understand the computational ideas in the code by seeing them work. Often the code will combine a bunch of concepts together—ideas that would be hard to explain individually, but make sense when combined into a working unit.
  • It’s the student’s idea. This is pretty important—the code should embody the student’s idea! But it’s OK to simplify what they said, as long as it demonstrates the essence of what they wanted.
  • It’s extensible. This is crucial. In a few minutes, I’m going to walk away and work with another student, and I want my student now to understand enough so that they can keep going. It’s fine if their next step is a copy-paste of the same code structure—e.g., adding a new condition-action rule.

It’s really fun when it works. Students are empowered because they can get complex things working quickly.

In the best case, an hour after receiving gift code, a student has full ownership over it. They understand it, they have added to it, and they don’t even remember that I gave it to them. (That’s totally fine with me.)

Do you use gift code in your own teaching?

Fred Martin
CSTA University Faculty Representative

A Resource for your Careers Unit

Probably at some time during the next semester, you will guide your students through a unit on “career explorations.” Certainly, there are lots of resources out there to learn about CS careers, job prospects, pay, and education. The challenge comes in putting together a cohesive…not to mention up-to-date… series of lessons.

While cleaning off my work desk (an annual end-of-the-year event in my life), I found a suggestion on a scrap of paper I had torn from Tech & Learning several month ago that might just fit the bill.

The site reference is econedlink (http://www.econedlink.org/) from the Council for Economic Education. The specific lesson plan is “The 411 on College Education” (http://www.econedlink.org/lessons/index.php?lid=1103&type=student).

The lesson includes objectives such as:

  • The relationship between level of education and the average unemployment rate
  • Level of education and median weekly income
  • Choosing and financing college
  • College as an investment in human capital

The online lesson is designed to be used by students and includes activities, assessments, and an extension activity—all with links to reliable sources of information. Take a look…it might be a resource to complement career exploration in your classroom.

New Entrepreneur Unit for CS Classes

At the New Mexico Computer Science for All wrap-up meeting held on January 3rd, 2015, Las Cruces High School CS teacher Elisa Cundiff shared an Entrepreneur Unit that she developed along with her co-teacher, Lauren Curry, and implemented last semester.  (Elisa also recently presented this “nifty assignment” at the NSF-sponsored 100 CS teachers workshop in Washington, DC during CSEdWeek.)

The Entrepreneur Unit was developed for CS classes “because we require a new generation of problem solvers.”  The unit, designed to run for a week but easily extendable, starts with research on current startups with the objective of identifying the problem that each startup is attempting to solve.  Students are then tasked with recording what they are doing at 15 minutes throughout a day and making note of inefficiencies or frustrations they encountered. These problems then become a bank of issues any one of which their startups could attempt to solve.

Next, students brainstorm and select a startup idea and develop an elevator pitch with the knowledge that they would need to pitch it to a real industry executive the following day!  Students finish the unit by researching their industry, their competition, and identifying their competitive advantage; creating a revenue model and discussing potential revenue sources.

For more information on this exciting unit for inclusion in CS classes, go to http://bit.ly/1zD9P7p where Elisa and Lauren have graciously shared all materials associated with this unit.  Thanks to Elisa and Lauren for providing inspirations to CS teachers and being innovators themselves!

Irene Lee, CSTA CT Task Force Chair

 

CSEdWeek – Looking Back and Looking Ahead

And so we begin a new year. A time to reflect. I have been reflecting on my activities for CSEdWeek. Since the first CSEdWeek in December 2009, I have celebrated the week on my campus trying different activities each year.

For the first CSEdWeek in 2009, I was able to arrange for an after school walking field trip to a nearby business, Hydraflow. It was exciting to see the expressions on my students’ faces as they toured the business and listened to how the company had gone completely paperless!

For the CSEdWeek in 2010, I wanted to do more! I was able to arrange for a walking field trip to Raytheon during the school day. The students were amazed at the “trailer” where equipment was set up to demonstrate a disaster and how Raytheon had built a system where different law enforcement agencies could “talk” to each other even though they were using various type of hardware. A parent from my school also graciously arranged for some employees from his company to speak to my students about how computer science had opened up opportunities for them.

For CSEdWeek 2011 the students once again had the opportunity to tour Raytheon and visit the “trailer” again as well as the outdoor mock-up of a toll system. I also arranged for a student ambassador from University of California, Irvine to visit the class and discuss his experiences as a computer science student in college.

For CSEdWeek 2012, I had asked the school board for my district to recognized CSEdWeek. They agreed to do that and I was asked to select two students to be honored at a board meeting. It was a difficult decision to only select two, but I was happy that I could have these students recognized! Raytheon tour was also a highlight of the week. The students appreciated meeting the wife of one of the school’s science teachers during the Raytheon tour. Additionally, one of my former students dropped by school and spoke to the students about her career working in the CS Field.

Last year we celebrate Hour of Code during CSEdWeek. The local community college assisted with advertising for our community event. There were about 30 community members that attended the event with the computer science students assisting them. Several students commented to me about how much they enjoyed helping others to learn to code. I also held a lunch time birthday party for the students at the high school to celebrate Grace Hopper’s birthday. The school board also recognized CSEdWeek and I selected two students to be recognized.

This year the CS students participated in a community Hour of Code event. I asked the local school principals to advertise the event on their webpages. There was such an overwhelming response that I had to shut down the Eventbrite Site. I continued to receive emails from parents that wanted to attend with their children. They were invited to attend. There were enough reservations to fill two classrooms. I was concerned about supervision until the online teacher contacted me and offered to help. My husband also stopped by and offered his help. We were ready to go! I had set up a poster on smore.com with choices for activities that students could use on the computers in the computer lab. You can view my poster at https://www.smore.com/180ce

Pic1 Pic2 Pic3

In addition to the successful Hour of Code event, the students were able to connect with a Skype employee through Skype in the Classroom program. You can set up a session at https://education.skype.com/. The speakers were great and very patient answering the students’ questions.

The district school board also celebrated CSEd Week at the school board meeting. This year I was able to select three students to be honored. The school principal took picture of the event and uploaded them to the school’s Facebook page.

The week ended with a birthday celebration at lunch. All students were invited and the CS students served cake and assisted the students with Hour of Code activities.

I am looking ahead to next year’s CSEd Week. I plan to hold the community Hour of Code event in the library which the principal has already agreed to. I hope to add a Maker Faire with the help of the Engineering Classes. I will contact the principals at the local elementary and junior high schools to advertise the event and I will use Eventbrite again. Through Eventbrite, I have sent out a survey to this year’s attendees to evaluate and improve the Hour of Code event next year.

What did you plan for CS Week that was a success? I am looking for more activities to add to the week!

Myra Deister, CSTA At-large Representative

The Wonderful World of Wikimedia

Let’s face it: Wikipedia may still be lacking in academic credibility, but that hasn’t stopped us from resorting to the world’s free online encyclopedia time and time again when we need quick facts on a new concept.

What many people don’t know is that Wikipedia is only one of a total of fifteen projects under the Wikimedia Foundation “umbrella,” and which absolutely anyone can edit. In learning communities, teachers and students are encouraged to introduce Wikipedia editing to the learning process: there are a number of Wikipedia Education Programs involving schools and universities all over the world, with impressive results.

But what’s in it for students? Being a Wikipedia editor offers students a multitude of benefits:

  • Writing a Wikipedia article helps students develop their skills in spelling, vocabulary and grammar.
  • Properly referencing a Wikipedia article can be challenging: citations are necessary for even the simplest of articles (known to the Wikipedia community as “stubs”). This means that students need to learn how to identify valid sources, undoubtedly a useful skill for essay-writing.
  • You don’t need an account to edit Wikipedia, but if you do open an account you will soon find that you are a member of an exciting, multicultural community that values learning and volunteering. Editors are not paid for their work; what drives them is their passion for sharing knowledge.
  • Assignments don’t end up merely taking up space on a school shelf or hard disk: on Wikipedia they are dynamic content that can be expanded, translated, enhanced with multimedia etc. in spiraling progress… they may even have a chance at being nominated as featured articles!
  • A Wikipedia editor can proudly share the content he has created on social media, or monitor the popularity of the article she started or edited by viewing its statistics page (click the “View History” tab of an article and then “Page View Statistics”). She may be surprised by how many people found the article useful!
  • And much, much more…

What’s in it, especially for Computer Science students?

  • Using Wiki markup is an excellent introductory “exercise” to learning HTML (so long as you don’t opt-in to the Visual Editor). HTML is also used in wikitext: see the special “how-to” article here.
  • Wikimedia Commons – the Wikimedia Foundation’s multimedia repository – is a perfect place for aspiring computer scientists to share photos and/or videos of computer hardware, source code etc. and enhance Computer Science articles by introducing links to their  files (provided they are willing to share their work under a proper license)
  • Girls interested in pursuing a career in Computer Science may be excited to find out that Wikipedia has an article titled “Women in Computing,” with ever-growing content that they can browse and edit. In fact, numerous Wikipedia “editathons” were held all over the world to celebrate Ada Lovelace day last year. Writing a new article (or expanding an existing one) on a notable woman computer scientist is a great way to draw inspiration and contribute to the available online knowledge on women in STEM.

I have been using Wikipedia and Wikimedia editing in the classroom since 2007, and my students have contributed to over 50 articles on Wikipedia and uploaded over 200 files to Commons. It is a rich experience, which earned us a significant distinction at a European STEM conference: “Why the High School Student Became a Wikipedia Editor” won first prize in the 1st Scientix poster competition in Brussels, Belgium. We have worked on Greek Wikipedia, started two galleries on Wikimedia Commons and this year we’re adding local dialect words to Greek Wiktionary. If you decide to enter the wonderful world of Wikimedia and need guidance/inspiration, don’t hesitate to visit my user page and drop me a line!

Mina Theofilatou
CSTA International Representative
Kefalonia, Greece

Celebrate CS Ed Week, Celebrate You!

CS Ed Week is December 8-14th this year. Here are just a few ways as CSTA members you can get involved.

Faces of Computing Contest: You’ve still got time to submit a video entry for the Faces of Computing Contest. The deadline for submissions is November 20.

CS Ed Week CS Teachers Site: Check out this new resource for CS teachers. You’ll find examples of different events you can host, access to presentations, competitions, and more! Don’t forget to upload your events as well!

State Proclamations: For our members in the United States, don’t forget to ask your Governor to declare December 8-14th Computer Science Education Week.

Participate in Hour of Code: Short on time? There are lots of great activities to do with students and community members that only take one hour. Sign up and join in the Hour of Code.

Get Twitty With IT: Be sure to use the hashtag #CSEdWeek on Twitter to talk about your events, thoughts, and ideas. You can engage parents, community leaders, and even your students in why computer science education is a necessity in our world.

Engage Other CSTA Members: Start a conversation on the CSTA Membership listserv. Not yet a member of the listserv? Join here. You must be a CSTA member to join, but individual membership remains FREE, thanks to CSTA’s generous corporate sponsors: BirdBrain Technologies, the College Board, Google, Microsoft, Certiport, Oracle Academy, and Code.org.

Additional CS Ed Week Resources: Check out more CS Ed Week resources available to CSTA members on our CS Ed Week page. Download a poster, watch a video, or listen to an audio announcement that you can recreate in your own school.

CS Ed Week is really all about celebrating YOU, our CS educators, and all that you do to engage students in learning about computer science and the magic of the discipline. So go out and showcase your skills!

Moving Students Toward a “Growth Mindset” in Computer Science

At a recent mathematics educators’ conference during which I was both an attendee and presenter, I was bombarded with sessions about the current education theory, Growth Mindset. I had been introduced to this theory at several local edCamps that I have attended over the last few months.

Growth Mindset was coined by Carol Dweck, Stanford University psychologist. “In a growth mindset, people believe that their most basic abilities can be developed through dedication and hard work—brains and talent are just the starting point. This view creates a love of learning and a resilience that is essential for great accomplishment. Virtually all great people have had these qualities.” (http://mindsetonline.com/whatisit/about/index.html) She defines the counterpart, a fixed mindset, “as the belief that traits are just givens. People have a certain amount of brains and talent and nothing can change that. If they have a lot, they’re all set, but if they don’t… So people in this mindset worry about their traits and how adequate they are. They have something to prove to themselves and others.” ( http://mindsetonline.com/whatisit/themindsets/index.html)

I attended a Mindset session presented by Jo Boaler, (http://www.youcubed.org/) Stanford Professor of Mathematics Education.  She discussed the growth mindset activities that she used with junior high students that were attending a summer school program due to poor grades in math. She demonstrated a problem that contained 3 sets of blocks that increase in number each step.
mindset2Revised
The students were asked to describe the pattern.  There were different descriptions that were given.  Some examples included a volcano, where the left and right sides increase.  Another description was to add a row across the bottom.

I assigned the same problem to my computer science students.  They also described the increase as a volcano and increasing from the bottom.  We discussed how we could write a program to calculate the number of blocks from their descriptions and different approaches that could be used.  I decided that this exercise was so successful that I would try a few more.  Fawn Nguyen created the website http://www.visualpatterns.org/ that has 160 patterns.  I began using those as Do Now activities to help students build their pattern recognition.  The students have found different approaches to each pattern.  We then discuss how these could be programmed.  As the students are working on these problems, I walk around the room and if they are stuck I ask the students how they see each pattern growing and describe it to me.  I suggest that they use their description to build an equation.

This week I had the students view a Kahn Academy video about “Growth Mindset” https://www.khanacademy.org/youcanlearnanything

The students answered 3 questions online and explained the why behind their answer.  The 3 questions were:

  1. Do you agree with Sal Khan that you can grow your mind?  Why or Why not?
  2. Do you agree with Sal Khan that you learn more from your mistakes?  Why or why not?
  3. Finally, how will this change your work in the computer science class?

Then each student responded to  2 other student posts.

I have just started with working on activities to help the students to move toward a “Growth Mindset”. A few other strategies I need to do is to remind the students that it is “ok” to make mistakes because they can learn more from the mistakes rather than just get the correct answer.  I also need to investigate how to reward effort in my class.  I had started awarding points for extending the code that we did together in class.  I feel that this is a step in the right direction.  Additionally, I want to create a display that “rewards” improving and effort.  Maybe I can implement that second semester.

What activities can you suggest to move students toward a “Growth Mindset”?

What do you want your students to know?

As I was rethinking some of my courses and the approach to take with my students this year I thought about why I want them to take my classes. While I had lots of great philosophical answers and typical CS catch phrases, I kept coming back to I want them to know how to think and to have fun. Those really are two of my core beliefs as I look at lessons and assignments. I want them to be in awe of what computer science is and what it can do. I want them to be excited. I want it to change the way they think about things. I love the #3 reason in the article Six Reasons Why Studying CS is Worth It. I laughed when I read it because I break everything down in my mind as well. This is what I want my students to do. Do I want them to major in CS? – sure that would be fantastic but if they don’t, I want them to think like a computer scientist and I want them to know that solving problems can be exciting and fun.

So what do you want your students to do with computer science? Is it different for different courses? Do you find that you focus solely on programming or do you encourage them to think about other perspectives of computer science? Here are some resources* I use to broaden my students thinking and how they should look at computer science in the world around them.

  • Blown to Bits – I use different chapters in different classes. I use this to also fulfill my districts reading and writing across the curriculum requirement.
  • Videos of CS from University of Washington – I use the Pathways in computer science to dispel the concept of CS people sitting behind a computer in a cubicle.
  • Luis Von Ahn – I don’t have a specific link because there is so much out there. In one of my classes we start talking about captchas and I let the students complain about them and how sometimes they can’t read them, etc and then I tell them about what really is going on and show them a talk he gave about it. We then talk about computer scientist are people who can solve larger problems. Again this is not the stereotypical geek image of CS and they see what it is doing. I also go on to show them Duolingo and the students are amazed.
  • Code.org – of course I also use the viral video that shows famous people talking about code but I only use this when we are specifically coding as I want my students to understand the multiple facets of computer science.
  • CSTA Resources – There also are several great videos and resources from our own CSTA website. There are posters and past those link are videos and resources about careers in CS.

Many of these resources still point students to a career in CS and above I claimed I know they all will not. What I think these resources do is show how problem solving, computational thinking, and aspects of computer science are different than what my students believe them to be. I think some students do not want to go into CS because they have a misconception of what it really is. So yes I love CS, I love teaching, but most of all I want my students to see the excitement and wonder of the world through the lens of CS and how the skills they learn could aid them in anything they chose to do.
(* There are many resources out there and I am only listing ones I frequently use – feel free to comment below this blog with your own resources)

Stephanie Hoeppner
9-12 Representative