November 22, 2013

Getting the Most from Conferences

As you may already know, the 2014 CSTA conference on K-12 computer science education will take place July 14 and 15 at the beautiful Pheasant Run resort in St. Charles , IL (just outside of Chicago) and CSTA wants to make sure that all of the attendees find the conference as stimulating and rewarding as possible.

Each year, the conference planning committee strives to make this the best CSTA conference ever. Over the last few years this has included adding and expanding the selection of half-day workshops and break-out sessions and adding in-conjunction events. We also videotape several of the sessions so that attendees (and other CSTA members) can see presentations they were unable to attend in person.

But there are also things that you can do to make the CSTA annual conference a more professionally and personally rewarding experience for you. Here are a few simple tips.

1. Plan in advance. Read the session descriptions and presenter biographies posted on the conference website prior to the conference at so you can decide in advance which ones will best meet your learning needs. (
2. Pick topics that strengthen your weak points. This way you can increase your chances of learning something new.
3. Take advantage of opportunities for networking. Casual conversation after sessions, during meals, and at the reception can help you expand your professional community.
4. Ask questions and listen. It is very likely that other workshop and session attendees share similar issues and they might be able to provide new insights or ideas.
5. Move outside your circle of friends. Making an effort to talk to and socialize with people you don’t already know will help you make new professional contacts.
6. Jot down new ideas, insights, questions or solutions on index cards and include contact information if this came from an interesting new colleague.
7. Apply new ideas immediately. The real value of any professional development event is the ability to take ideas and strategies home with you and put them to work.

While it is true that these tips can be applied to any professional development experience, we hope that they will encourage you to attend the only conference that is focuses exclusively on K-12 computer science and information and so is designed especially for you.

What helps you get the most of the PD events that you attend?

Chris Stephenson
CSTA Executive Director

Posted by cstephenson at 08:41 PM | Comments (0)

August 30, 2013

Bring the Experts into your Classroom

The perfect guest speaker in your classroom can motivate students, add spark to a lesson, and set the stage for great learning experiences. But we all know the results of a less than perfect speaker. While I think a real, live, quality speaker is maybe ideal, there is a lot to be said for the electronic version.

I have become a super fan of TED Talks. If you don't know about them, please take some time to explore the thousands of recordings on every topic imaginable. Most are between seven and 15 minutes in length; they are performed in front of a live audience and are professionally recorded.

A quick search for "computer science" yields hundreds of possibilities. You will find Jay Silver: Hack a banana, make a keyboard!; Shimon Schocken: The self-organizing computer course; Jinha Lee: Reach into a computer and grab a pixel; and so many more you won't know where to start!

The series of talks on "technology" is rich with presentations by visionaries such as Ray Kurzweil, Juan Enriquez, and Sheryl Sandberg. One of my favorite CS related topics is data analysis. The "Making sense of too much data" series of ten talks is amazing. I'm sure you will think so too. If you are looking for motivation to spur students in solving real-world problems, just pick a topic, search TED Talks, and get ready to be inspired.

Invite the "guest speakers" from Ted Talks into your classroom. You will get subject experts, inspiration, and excitement with no bad surprises!

Pat Phillips
Editor, CSTA Voice

Posted by cstephenson at 01:33 PM | Comments (1)

February 08, 2013

Promoting Computer Science

Computer Science is an elective class in my high school district and in many other districts. The simple truth is that elective teachers must promote their courses to attract students. This year I have begun early promoting computer science. My promoting activities began during Computer Science Education Week and are continuing until student registration which is the beginning of March.

During Computer Science Education Week, I hosted an open house in the computer lab offering food, door prizes and tours during lunch time using my computer science students as “tour guides”. During Winter break, I mailed over 150 letters to parents of students using the AP Potential List inviting them to Open House and to consider enrolling in Computer Science. (AP Potential is a research-driven, free Web-based tool that will help you identify AP students that have the potential to score 3 or above on the Computer Science A AP test . My Open House activities included a continuous presentation displaying student work and showing the CSTA Computer Science Education Week movies. Additionally, I gave away candy and computer science wristbands. Current computer science students volunteered to pass out brochures and speak to attendees about computer science.

During the next few weeks, I will mail additional letters home explaining the computer science program and the advantages of enrolling in computer science. The letters will be mailed to parents whose students have received grades of B or better in Geometry for the fall semester.

Recently, a discussion about promoting computer science appeared as a thread on the AP Computer Science A Discussion Board. There were many good suggestions that I had not considered. Some of the suggestions were:

From Baker Franke, University of Chicago Laboratory High School (Chicago, IL)
Small thing I did that garnered some attention: I invented an award at my school called "Achievement in Computer Science". Then I shelled out $500 to make a fancy looking plaque and hung it in the halls. I retroactively decided former students who should have won the award had it existed and put their names on the plaque to get it started. Since I hung it up, student interest has piqued and now other departments are copying me.

From Kathleen Weaver, Hillcrest High School (Dallas, TX)
I volunteer around the school a LOT. All the other teachers send their students to me with computers questions, and especially password reset questions. I do the website for the PTSA. So EVERYONE knows me and knows I know everything about computers. I also mentor the Robot Team, and encourage the kids to drive the robots down the hall.

In the past I would attend the lesser sports. I haven't had to do that in awhile, but go to the sports and watch ones that others don't go to. Go to open house, go to PTSA events, etc.
Word of mouth is the best thing ever.

From Rebecca Dovi, Patrick Henry High School (Ashland, VA)
I do a lot of art in Computer Science projects and hang them in the halls. So we do one around recruiting time where the prompt is "I use computer science to..."

The fold a 3x5 index card in half - do a collage about their theme on the outside and then finish the sentence inside. It is interactive and we get lots of kids stopping to look.

Also - where I can I let my current students sell the program. This year we invited kids with high PSAT scores into the lab for ice cream sundaes and a tour. I let my kids show off what they do. I then mail home a follow-up letter to parents. Saying things like "your student has been nominated for computer science" plays well.

Personally I wear my robot skirt every time I go out and volunteer - but that might not be your first sartorial choice.

In other words, I try to have a high, visible presence with excited kids

From David Herman, New Albany High School and Eastland-Fairfield Career & Technical Schools
1. Create a CS/STEM Girls Club! Ask a few girls to bring some like-minded friends to a meeting. Challenge them to support each other in their CS/STEM excitement, promote and recruit, and find ways to support Middle School girls to ensure they maintain their CS/STEM interest in the face of peer (and often parental) pressure.
2. Promote the National Center for Women & Information Technology (NCWIT) "Aspirations in Computing Annual Award Program". As girls start to win National and State awards, promote the heck out of it in local and school media.
3. Involve your students in free third party CS/STEM activities, then publicize their involvement and results. Examples:
IBM Master the Mainframe competition
Zero Robotics (NASA/MIT) programming challenge
US Air Force Discovery Lab "Virtual Reality Academy"

I am looking for more ideas. What have you done that has been successful?

Myra Deister
CSTA At-Large Representative
Sunny Hills High School
Fullerton, CA

Posted by cstephenson at 11:10 AM | Comments (0)

November 29, 2012

The Power of 15

We all have them, it is the rare person who doesn't. I am talking about those dreaded days were our energy is low, where we can't get started, where even the simplest tasks seem like moving a mountain regardless if they are personal or professional. In short, you have the blahs.

Why are you blah? It could to many assignments to mark, administrators who just don't get it, too little sleep, a to-do list longer than your arm, or all of the above. Regardless of the reason, you have the blahs and now you have to figure out how to move past them.

I use the power of 15 to deal with these times. This is a trick I learned over a decade ago and one that I keep coming back to time and time again. I don't remember where I first heard about this technique. It is not new. I bet you already have heard about it and might even be doing it. If you look it up on the internet, you'll see a host of people claiming they invented it. Where it came from isn't important. Actually doing it is.

By now I can hear you saying, "Okay already, what is it?"

The power of 15 is a simple motivational technique. I set a timer and tell myself that I only have to do this "thing" for 15 minutes and then I can do something else. The "thing" is different for everyone. It could be a project you've been dreading, exercising, cleaning out the garage, whatever. It is your personal stumbling block. It doesn't matter what the something else is either. You can work on another project, have a cup of tea, do something you love; the something else is just a reward (mental bribe) to get you started on the "thing" you haven't had the umph to do yet.

The power of 15 technique has never failed me. I always accomplish something even if it is only for 15 minutes. If, at the end of the 15 minutes, I still find myself worn out, I just schedule another 15 minutes later in my day. And then I just think to myself, "Heck that was better than the avoidance I had going before." And what usually happens is that I find myself absentmindedly shutting off the timer alarm and continuing to work on the "thing" for quite a bit longer, sometimes to completion.

What motivates you to get started when you have the blahs?

Lissa Clayborn,
Director of Development, CSTA

Posted by cstephenson at 06:21 PM | Comments (0)

July 31, 2012

GPS Provides Teachable Moments

I just drove most of the way across the country (from upstate New York to New Mexico, just shy of 2500 miles). This gave me ample opportunity to ponder my GPS, what its underlying algorithm is, how it comes up with routes, and what the interface is that I'd like it to have. It occurred to me that a GPS could be used as the foundation for an interesting classroom exercise. And, since lots of people bemoan the fact that nobody can read maps anymore, this exercise can promote good old-fashioned map reading along with thinking about computers and computing.

Here's a basic idea, though it certainly could be modified depending on the age of the students and how vast an area you wanted them to consider.

1. Give the students a map of the relevant geographic area. For younger students this might be just the neighborhood around the school. For older students you could work at the city, state, or national level.

2. Ask the students to use the map in order to generate multiple routes between two points. Based just on what they see on the map (using the legend to determine road type, etc.), have them predict which should be the shortest and which should be the fastest routes.

3. Then fire up a GPS and see what it says. Maybe do some advance work by actually driving the GPS's chosen route, see how long it takes. Try some variations based on what you know as a driver (or a walker, for those in urban areas).

4. Work with the students to try to determine how the GPS is making its decision about the "best" route, what the algorithm might be, what factors it is capable of considering, which factors it ignores. For example, the longer route with fewer traffic lights will be faster but the GPS (mine, at least) always chooses the shorter route with traffic lights which invariably takes more time.

At the upper level, one could have students plot out a few cross country routes, compare the Google map options to the GPS route, research information on rush hour traffic in major cities, and consider the option of smaller roads that avoid urban areas. It's a relatively simple scenario which turns out to be rich in problem solving and algorithmic opportunities.

When I ignore my GPS's directions, I'm particularly intrigued with how long it takes for me to get far enough along my chosen route that the GPS will finally stop trying to get me back to its chosen route. What I really want is for the GPS to initially present me with options (the way Google maps does) so that I can tell it whether I want the longer scenic route, the urban centers route, etc. But for now I'll just relax until I have to get back in the car and make the return trip (taking a totally different route home!).

Valerie Barr,
CSTA Computational Thinking Task Force Chair

Posted by cstephenson at 10:49 PM | Comments (0)

December 03, 2011

Creating a CS Presence at My School

When I started work at North Gwinnett High School a year and half ago, I was asked to teach two computer science courses: AP Computer Science and Computing in the Modern World. Budget cuts had me teaching 3 pre-engineering classes with 30 students in each. I was told that the only way to teach more computer science classes was to increase my school's CS awareness and interest.

I started by rebuilding our school's website with a group of students who had already taken AP computer science. I taught them to design sites using Joomla, a stable content management system. The entire school was involved in the project. The computer art teacher helped with the aesthetics of the website, and yearbook and newspaper staff used our site to post their publications online. The new website was very well received, and increased computer science visibility among our administrators.

As a next step, I created a computer science pathway. I drew up a table and a chart of the various computer science courses and their prerequisites. I created flyers and brochures with details on the courses and handed them to all administrators, counselors, parents and students. I placed brochures in the counseling and curriculum offices and at the local middle school information desks. I emailed letters home to all parents about AP Computer Science. I used the College Board's AP Potential to help me recruit students with strong math skills.

My hard work was rewarded when the recruitment season ended. This year, 120 students have enrolled in Computing in the Modern World, 40 in Beginning Programming, and 30 in AP Computer Science. Our school currently has 3 CIMW teachers, and I teach the other computer science courses. We face the same daunting challenges we faced last year, but we certainly have made progress.

Deepa Muralidhar
North Gwinnett High School
CSTA Leader : Georgia

Posted by cstephenson at 01:05 PM | Comments (0)

November 28, 2011

Seeing Computer Science Everywhere

I'm the type of person who really does see computers and computer science everywhere. I can turn any situation or location into a discussion or eye-opening opportunity for students. Some are more obvious than others, especially for those of us already teaching computer science.

For example, a couple weeks ago my husband and I stumbled upon a restaurant in the mall that had a different gimmick. Each table had an iPad. At first we thought it was meant for entertainment. But its purpose was to allow the customers to order and customize their food. After the novelty of customizing the food yourself and seeing the cost of each added item (such as adding cheese or tomatoes to your salad changes the price) wore off. We found we missed the human interaction of the server. Would we really want to frequent a restaurant where the people only drop off the food?

The iPad and the software used brought the ordering system that servers use to the customer. It was made more user friendly by allowing customers to drag the ingredients they wanted onto their salad/sandwich/pizza and see it stacked in a visual graphic. I couldn't help but want to take my CS students on a mini-field trip to the place so they could "deconstruct" the specifications needed for the software used.

This, of course, is one overtly obvious place that computer science is applied. Some variation of the application is used in all restaurants to allow their servers to put orders to the kitchen. Cash registers in retail stores are computers (gone are the days of a traditional cash register), the receipts are merely reports/outputs. Professional football broadcasts overlay the line of scrimmage and first down markers on a live video footage of the field. Disneyland and other amusement parks use software to control their rides. All these are examples of computers and computer science used in the world around us (and these don't even include the cell phones, laptops and other mobile devices we carry with us).

As CS Ed week approaches, I encourage you to challenge your students to write down every place where computers and computer science are used as they go about their week (include the weekend). I'm sure they'll be surprised as to all the places it reaches and will lead to some good conversations in the classroom!

Shirley Miranda
CSTA Board of Directors

Posted by cstephenson at 04:25 PM | Comments (3)

November 23, 2011

When Something Helpful Comes Along

You never know where a resource is going to come from. We have a retired guidance counselor that is back subbing in our building this month. He sought me out to ask if I had seen an interview by Charlie Rose with Mark Zuckerberg and Sheryl Sandberg. I had not, but the interesting thing was that he said Zuckerberg had talked about how everyone should take a programming class.

So I found the interview at: or at YouTube

and at about 15:30 it gets to the part that will make every CS promoter's heart flutter.

Zuckerberg talks about his number one piece of advice is that everyone should take a programming course. He also goes on to mention how almost all jobs in the future will require some level of programming. This is something that all of us believe but sometimes have a hard time convincing others about.

The great thing about this clip is that it is an unprompted promotion of CS Education by someone that the whole world knows about. The record number of people that use Facebook, who think it would be cool to work there, or who just like to watch the Facebook frenzy in the media, pay attention to what Zuckerberg says. Now I have a clip that I can show it to students, parents, or administrators that echoes my sentiments but comes from a media icon.

Besides this fantastic resource I now have, I have learned something else. I have learned that if you keep talking to others about CS Education then you are the first person that pops into their head when they hear anything about CS. It is just as important to keep pleading your case and talking to people because they have their own circle of influence, knowledge, and experience. You never know when something that they come across will help you. If I was not as vocal about CS Education then the guidance counselor would not have immediately thought of me when he saw the interview.

So keep on talking and promoting as you will never know what it will lead to!

Stephanie Hoeppner
Vice-President CSTA Ohio Chapter

Posted by cstephenson at 03:33 PM | Comments (1)

November 20, 2011

Binary Hand Dance

If you are looking for some inspiration and/or entertainment for you or your students, check out the Vi Hart's Blog. Vi is a "recreational mathemusician" (her words, not mine) who creates interesting videos about mathematics and music. They are highly entertaining - perfect for for high school students, but also teach real mathematics and critical thinking. My favorite is the Binary Hand Dance:

which is a fun and catchy way to demonstrate binary numbers. Just watch it, then tell me you weren't practicing on your own when no one was looking ;-).

Dave Reed
CSTA Board of Directors

Posted by cstephenson at 04:47 PM | Comments (1)

November 18, 2011

Using Corporate Advertising to Promote CS Education

I've attended quite a few Computer Science conferences over the years including many years of SIGCSE and the past two years of the K-12 Workshop at the Grace Hopper Celebration of Women in Computing. Typically, I sift through the big bag of stuff and create piles.

One pile is composed of anything that I can pass off as a generous gift to my own two children. These items include pens, mirrors, pens, travel nail clippers, pens, sticky notes, notebooks, pens, cell phone holders, pens, screen cleaners, lanyards, pens and of course pens.

Another pile is advertising from companies or schools recruiting and desperately trying to convince people to work for them or attend their programs. That stuff is historically the throw-away pile since I'm not the intended audience. Then I had a thought....why not save these pamphlets and prove to parents or guardians and students that there are companies and colleges begging for employees and students?!

Don't take my word for it, here are examples after examples of major companies like Intel, Microsoft, Amazon, Facebook, Google, Oracle, Yahoo and a ton of others vying for the chance to get your attention.

So, on my latest flight home from Portland to Chicago, I brought these pamphlets along with me to show to my students and their parents or guardians with the hope that these pieces of paper may help show that Computer Science isn't defined by outsourced tech support centers, but by exciting and innovative companies and educational institutions working collaboratively on the challenges we face today and tomorrow.

Jeff Solin
CSTA Chicago Chapter
Northside College Preparatory High School
Chicago, Illinois

Posted by cstephenson at 07:01 PM | Comments (3)

October 06, 2011

Computing Across Disciplines

I'm teaching two courses this term that have me thinking a lot about the ubiquity of computing across disciplines, and about the ever increasing need for young people to understand about computing. Even if they themselves will not be involved in computing, it is increasingly likely that they will be working in a field that requires computing. They may have to talk intelligently with implementers, be comfortable pushing computational tools, be skilled at interpreting results.

One course is a research seminar on disasters and technology. Each student has to choose a topic that explores either a disaster caused by technology, an almost-disaster mitigated by technology, a technology used in disaster recovery, or the way in which technological advances inform policy and planning for disasters. We are defining "technology" rather broadly in the course, so the engineering of the Mississippi levee system counts in our context. But many of the students are looking at more modern developments, such as search and rescue robots, cellphone communication system recovery after earthquakes, use of social networking in disaster recovery, and use of social media for notification. I have, of course, been looking for nifty uses of technology. An area that is very interesting is the use of computer modeling for wildfire prediction and interdiction. If you want to take a look at this, and maybe interest your students in this application area, check out the many research projects of the Fire, Fuel, and Smoke Science Program:

In my next post I'll share some of the interesting applications I've found for my Taming Big Data course, an introductory CS course that focuses on how we handle large amounts of data.

Valerie Barr
CSTA Computational Thinking Task Force Chair

Posted by cstephenson at 01:18 PM | Comments (0)

September 27, 2011

Games as a Great Starting Point

I'm always looking for new ways to start off my computer science and robotics classes. It used to be that every intro class started off with a "Hello World" program. It was the quickest way to have students see a result on the screen. Now, I have choices beyond the standard output line. There's Alice, Scratch and AppInventor to name a few.

In the summer program that I teach and the regular school year, we start off with Scratch. It's easy to work with, even the students who have never had any programming experience can get the sprites to move and make sounds. The tutorial is straight-forward and then they are off creating a game. Because students are familiar with computer and video games, they realize their limitations and often want to learn more, problem solve and research to figure out how to get the features they want to work. It is a tangible activity for them. They can see immediate results; sometimes seeing that what they thought they programmed isn't what the sprite actually did. There are no compile errors to worry about which is a huge plus. It is a great starting out point.

From there, I can tie in various computing concepts (objects, loops, methods, etc.) and get to the "real coding". With forty students in a classroom from no programming experience to "I've programmed in C++ before", it is a good way to start things off with something new to everyone and get everyone engaged.

When all of them play some sort of video or computer game at home and with friends, what better task to lay before them than "By the end of this, you'll be able to make your own computer game". Hooks them every time.

Shirley Miranda
CSTA Board of Directors

Posted by cstephenson at 02:59 PM | Comments (3)

September 20, 2011

Equity-Based Teaching Practices

As we embark on the school year, creating an equitable classroom environment is important for supporting girls and other underrepresented groups in a positive learning experience around computer science. There are several equity-based pedagogical practices that you can employ to ensure that your classroom culture is welcoming and inclusive for all students:

* Provide a welcoming classroom community/environment for all students (i.e. positive feedback, addressing students by name, greeting students at the door, etc.).

* Maintain high expectations for all learners by encouraging students to go beyond the basic level of the task.

* Value and make content relevant to student knowledge (i.e. language, home culture, personal interests, pop culture, etc.).

* Use multiple learning modalities to connect to different learning styles.

* Provide academic supports for English language learners.

What other pedagogical practices do you implement to provide a welcoming and inclusive classroom culture?

Joanna Goode
CSTA Equity Committee Chair

Posted by cstephenson at 12:21 AM | Comments (1)

April 18, 2011

Using Videos as a Way to Portray Computer Science Concepts

I teach an undergraduate outreach class. The goal of the class is to equip our undergraduate students with skills, ideas, and supplies to go out to K-12 schools and teach about computer science.

Students are divided up into groups and given projects to work on or jobs to do such as contacting schools, etc. We try to use items that already exist as well as creating some of our own. I am a big fan of videos that express computer science concepts in a unique way, especially the work that Tim Bell has done to put his CS Unplugged activities into video format. It should therefore come as no surprise then that one of the assignments my outreach class was given was to create a video that could be used by K-12 teachers to portray a concept and submit it to the SIGCSE video exhibition. If you would like to watch our video on recursion, visit this link: or search for "The Recursive Case" on YouTube.

Another fun series of videos were shared with me this morning. Perhaps some of you have already seen this, but it is just hitting our inboxes in the Midwest. Looking for a new way to teach sorting? Give this a go:

I share these ideas with you, not necessarily to promote these specific videos, but to open dialog for others to share fun things they have seen!

So post away in the comment section and let us all know about some of your favorites so we call all fill our tool belts of resources!

Mindy Hart
CSTA Board of Director

Posted by cstephenson at 03:44 PM | Comments (1)

June 15, 2010

Have You Ever Considered a Do-It-Yourself Summer Program?

By Mindy Hart

One of the ways to get kids interested in a topic is through extra-curricular opportunities. And Summer is a prime time for such activities. And a great time to introduce students to topics they may not get curricular exposure to such as computer science. Have you ever thought about running a computer science based day camp or workshop at your school or library during the summer?

I know many people think coordinating an event or program is a lot of work. And while that may be slightly true, here are some tips to make things easier on you.

1) Plan. It never hurts to have a plan- you can always change it, but at least it provides direction.
2) Know why you want to offer this program. Is it just to get kids interested in computing, is it to target an underrepresented population, or as way to earn extra income or funding for a school program?
3) Know your space limitations. Will you be in a school computer lab? How many stations do you have in your available space? Is it feasible for students to bring their own computers?
4) Decide who is going to be involved. Are you targeting a certain age group of students? And who is going to instruct the content? Do you need extra helpers?
5) Choose a time-frame that works for your school district. For example, could you coordinate it with summer school or offer it as a back to school enrichment program? And are full days or half days better in the summer?
6) Know what you are going to teach. Will it just be free programs such as Alice or Scratch that they can continue to use even after the program? Or is there something you would like to throw in as a teaser to get them interested in taking a course in your school later on?
7) The biggest tip is to figure out how it can best be done. Who do you need approval from? Is it going to be fee based? Do you need to have food for the participants? How will you advertise the program?

All in all, there may be a few extra details to work out, but these should get you well on your way to helping create a computer science literate population. And you might have some fun along the way too!

Mindy Hart
CSTA Board Member

Posted by cstephenson at 11:08 AM | Comments (1)

February 17, 2010

Build a Playground!

By Fran Trees

A playground is generally described as an area designed for children to play freely. Oftentimes playgrounds include jungle gyms, see-saws, overhead ladders, sandboxes and various other recreational equipment that can help children develop physical coordination, strength, and flexibility, while they are playing with their friends, enjoying the activities, and improving their social skills.

Let's bring that playground inside! Why not host a computer playground day?

Imagine three to five clusters of computers. Each cluster is a different type of "sandbox" designed around a theme: Alice, Scratch, Robotics, Game Maker, Greenfoot, or any other fun way to look at computer science and programming. Each sandbox has a playground supervisor who can introduce the activity, instruct, and help out when needed.

Previous blogs have presented great ideas for outreach. The playground can be outreach to different types of populations: high school students, middle school students, elementary school students, computing teachers of all levels, administrators, or parents.

Gather your local teachers who have experience with the activities. Try contacting local colleges, universities, community colleges, or your local CSTA chapter for support and resources. Offer activities that can introduce the "children" to computer science in an enjoyable way while they are playing with their friends, enjoying the activities, improving their computer skills, and learning something about the programs that you offer.

Be creative with your playground but offer structured play activities in each sandbox so the "children" aren't at a loss and so that everyone has a great time, learns something, and with a smile! Those "children" may become our strongest supporters!

So, host a computer playground day for your local ___________s? You fill in the blank! Have a great time! And then tell us about it!

Fran Trees
CSTA Chapter Liaison

Posted by cstephenson at 11:26 AM | Comments (1)

February 03, 2010

Getting Students to Test Their Programs

By Karen Lang

Animations and creation of games really does motivate students. Doesn't every student assume they can take an introductory computer science course and get a job at Electronic Arts making video games?

While animations and game development can be a motivational tool, it can also be a good lesson in function design and proper testing. I find that the students, when faced with creating an animation, get caught up in the thrill of seeing something move on their screen and their good programming habits go out the window. The building of an animation and/or game requires a new level of complexity, with the need to incorporate several functions and possible classes or structures. Because of the extra complexity, there is even more need to take it slow, provide good documentation, and test each function as you build it. What I find is that students are so fixated on the end goal, they just throw together all their functions in a hurry without testing and then run the program to see if it works. When something doesn't work as expected, they don't know quite where to start to debug it. Despite my admonitions to test as they go, they rarely do.

A couple of days ago, I had a student look at me, extremely frustrated, because his animation would not work. His cat was supposed to move across the screen, and there it sat, still as could be. Yet he stated loudly, over and over, "I know it works!" I looked at his code and there wasn't a single test case. I asked him how he knew it worked, when he hadn't tested the code, and the lack of cat movement proved otherwise. He stepped me verbally through his logic, swearing it all made sense. He was so resistant to doing the grunt work of thorough test cases. I told him to go back and test every condition before concluding it worked.

How does one prevent this from happening? I emphasize testing and I deduct grade points for inadequate testing. This one student realized he couldn't avoid it, if he wanted to see his cat move across the screen. Eventually he had to succumb and test his function to find his error. Do you have any ideas or strategies in cases like this?

Karen Lang
CSTA Board of Directors

Posted by cstephenson at 01:08 PM | Comments (2)

January 27, 2010

Attracting a More Diverse Group of Students

By Barb Ericson

In the fall of 2009 Georgia Tech started a high school weekend computing program. We asked for teacher recommendations for students with at least a B average that have had some computing experience. We weren't looking for the students who already love computers and programming and intend to major in computer science at Georgia Tech. Our goal was to see if additional exposure to computing would entice more high school students to consider computing careers. We especially wanted to attract a more diverse group of students to computing.

We selected 22 students from 16 schools out of 90 applicants. We selected 11 females and 11 males. The group consists of 13 African Americans, 1 Hispanic, 1 Multi-racial, 4 Caucasians, and 2 Asians. There are 12 seniors, 6 juniors, and 4 sophomores. Only 5 of the 22 students expressed an interest in computing as a career at the beginning of the program. We administered an attitude pre-survey at the beginning of the program. We will administer a post-survey at the end of the school year.

The group attends training in computing at Georgia Tech on Sundays from 1 pm to 5pm followed by a dinner. This fall they were trained on: PicoCrickets, LEGO NXT robots, Scratch, Alice, and Pleo robots. The high school students assist in our computing outreach efforts. Some students work our weekend Girl Scouts or Cool Girls workshops. The students are paid $8.00 an hour for both attending training and helping with our outreach programs. Students can also do outreach in their local community and can develop tutorials. Some of the students are helping local FIRST LEGO League teams.

We have had 2 students leave the program. One moved away and one couldn't make the Sunday training sessions. We have already had 6 of the students apply to Georgia Tech with a declared major of computer science or computational media. Some of these were not originally considering a career in computing. We have also seen an increased interest in our lending library of LEGO NXT robts, PicoCrickets, and Pleo robots from teachers who have students in the high school program.
We will be doing a more formal evaluation of the program. But, we are excited about the preliminary results. This program was funded by our National Science Foundation Broadening Participation in Computing grant. The cost of this program for fall 2009 was approximately $10,000 in payments to the high school students.

Barb Ericson
CSTA Board of Directors

Posted by cstephenson at 12:41 PM | Comments (0)

December 29, 2009

Lessons in Lego

ByRon Martorelli

Last month the students in my high school collected cans of food for a local food bank. The cans were to be packed into boxes and distributed for the Thanksgiving holiday. I'm sure this event was repeated at many elementary schools, middle schools, high schools and colleges all around the country.

Somehow, I was volunteered to assist the students in the packing process. My group of about twenty students, a mixture of boys and girls, was to collect the boxes after they were packed, then tape them up, and stack them onto pallets to be fork lifted to the waiting truck.

The students began to stack the boxes on the pallet, but in a very unsecure and haphazard manner. As soon as I saw it I had visions of boxes tumbling off the fork lift, so I stopped the process and told them we had to restack them. "Let's at least use the Lego method of building" was my suggestion. Only one boy knew what I was talking about, and he began to lead the others in stacking the boxes so that the seams overlapped and the boxes were lined up neatly and precisely.

So how does this relate to CS? It made me think about the fact that many of our students do not engage in too many hands-on construction, engineering, or designing projects throughout their K-12 education. Yes, there are some building block type experiences in the lower grades and some science experiments in the upper grades that involve some of this type of experience, but overall it is pretty minimal. This is especially concerning if you factor in the reduced number of students who participate in after school activities that would provide such opportunities. Programs such as YMCAs, Boy Scouts, or Girl Scouts often include these types of activities, but enrollment in these organizations is generally down. After-school building experiences (whether tree houses or doll houses) seems to be a thing of the past, replaced by afternoons of video gaming or computer based social networking.

Many high schools in the U.S. no longer include courses in wood shop, automotive technology, or metal shop as part of core curriculum. Some schools are starting to include a type of Tech Shop, where students use computer software to create animated experiments and design. Without a physical experience in conjunction with this software, however, the student loses the chance to actually build anything.

If we are to educate students in computer science curriculum of programming, computer aided design, software engineering, or animation it seems that it will be important to provide them with hands-on experiences that will give them the opportunity to put into practice what they design. The possible failures of translating their computer based design into reality would provide them with additional learning opportunities. Experiencing the success of that translation will provide them with incentive and enthusiasm to go beyond their initial experiences.

Ron Martorelli
CSTA Board

Posted by cstephenson at 06:48 PM | Comments (0)

December 21, 2009

Keeping Advanced Students Challenged

By Karen Lang

How do you keep your advanced students challenged? My school is a magnet school for 11th and 12th grade students who excel in math and science. Every junior takes computer science. Despite the fact that they are all exceptional students, they come from varied backgrounds. Their technology experiences range from keyboarding to Advanced Placement Computer Science. Many of my students are intimidated by Computer Science class for this reason. They have taken math, science, a language, humanities. But many have never taken a CS course in their life and it's a scary prospect. For the first month, many of my students will tell me over and over again that they have never taken a CS course before and that they have never programmed before. I tell them to look around as ninety-five percent of their peers are new to CS too.

This just explains that my students are at varying levels of expertise, comfort, and skill, which is the standard situation in most computer science classes. I use pair programming, which helps to alleviate the fear of those who are intimidated by technology. However, I am always looking for ways to keep those who have programmed before and/or just "get it" challenged and engaged.

For every programming lab, I post "dessert" problems to give more challenging problems to those who want to pursue them. I often wonder if that is enough. If a student sees the topic as mundane they may not even try these problems because they don't see it as challenging enough. I have also sent students to the Project Euler site ( to try some of those problems for extra-credit.

A few years ago, two of my advanced students were allowed to work at their own pace on the curriculum. They raced through it, mainly I think to get to what they wanted to learn, which was a different language (I teach using the Scheme language). I do wonder if they would have benefited with the structure and disciplined documentation I require of the rest of the students. These two students did well enough to get through the required labs in order to move on to topics of their own interest. Did they miss out on a more in-depth exploration of Scheme, a functional programming language, with its own nuances and different ways of solving problems? Or did they get more out of exploring what they wanted to learn, pacing themselves, pushing themselves, motivating themselves?

I am curious to hear your strategies for keeping advanced students engaged and motivated within the regular computer science classroom.

Karen Lang
CSTA Board of Directors

Posted by cstephenson at 03:48 PM | Comments (0)

December 10, 2009

When Technicalities Interfere with Learning

By Robb Cutler

I was observing a middle school computer science class the other day working on a 3D graphics project. The teacher was describing how to define colors using the RGBA model. In this model, numerical values are assigned to the red, green, blue, and alpha components of the color. The red, green, and blue values are the amount of each hue present in the color. The alpha value represents the percentage of blending that occurs when the color is painted over another color.

Now, rather than provide the detailed mathematics behind alpha blending which, although accessible, would not have given the the students any real understanding of the concept, the teacher summarized alpha blending with one simple statement: "It's the invisibility factor, the smaller the value, the more invisible the color will be."

Is invisibility a completely technically correct explanation? Of course not. But it's certainly close enough and a more than reasonable description for middle school students. The fact is that sometimes (as this teacher correctly intuited) the technical jargon we use gets in the way of understanding for our younger students. Or worse, it makes a very interesting subject sound bland and boring.

Hans Magnus Enzensberger understood this too when he wrote "The Number Devil", a wonderful story about Robert, a boy who has mathematical dreams in which he learns about unreasonable numbers, prima donnas, and vroom numbers. The mathematics is sound; it's only the names of things that have been changed.

While there are certainly those purists (or perhaps puritans) who would be aghast at the idea of not using the precise mathematical monikers (irrational number, prime numbers, and factorials), Enzensberger realized that his terms not only sparked his young readers' imaginations, but also whetted their interest in learning more mathematics.

In computer science, do words such as polymorphism, boolean, conditional, and algorithm not stimulate the imagination in ways that Enzensberger and the middle school computer science teacher do with their unreasonable numbers and invisibility factors? Are we unintentionally turning younger kids off to computing with our language? And, if so, how can we fix things?

Robb Cutler
CSTA Past President

Posted by cstephenson at 10:55 AM | Comments (0)