September 29, 2014

Computer Science Principles: Getting Started

After attending the CS Principles Summit in July, I was convinced that I needed to get this course started at my school site. The Summit was so informative and inspiring.

I had planned to attend the summit online, but due to some cancellations I was able to attend in person. If you were not able to attend either online or in person, you are not out of luck. You can view the agenda and links to the recorded sessions at

The Summit began with Deborah Seehorn’s introductory remarks summarizing the rationale for the CS Principles course and welcomed all of the participants that were attending in person and virtually. Chris Stephenson also added her introductory remarks.

Fran Trees and Owen Astracan discussed the history and development of the CS Principles course. There were some audio issues. The first few minutes you cannot hear Owen speaking but hang in there the audio does return. Then Fran spoke about the course outline. It is available at . I will be using this document at the computer science curriculum meeting that I am attending this week to promote CS Principles. I also plan on forwarding it to my principal. He had offered to inquire about the process to offer the course as a pilot. My plan is to begin recruiting for the course to offer it Fall 2015. I am also actively recruiting other schools in the district to pilot the course next year because currently only 2 high schools out of 6 offer computer science courses.

Jeff Gray and Kelly Powers were next on the Agenda. They discussed information that could be used for recruiting. The information was very informative and is available at:

Next on the agenda was Flash Talks. There were audio issues again so I would fast forward the video 5 minutes to the point where audio returns. The pilot teachers discuss successes and challenges resulting from CS Principles. The resources by presenter with their links are:
Fran Trees:
Carol Yarbrough:
Andy Kuemmel:
Seth Pizzo:
Lien Diaz and Rich Kick are the presenters for the next session. Lien discusses statistics behind why the course has been developed as a future AP course. Her slides are at: . The participants had an opportunity to ask their questions. Lien and Rich answered each question. Rich is a pilot teacher and his resources are at:

The session facilitated by Emmanuel Schanzer and Rebecca Dovi was the one that really started by thought process about how to get this course started at my school and in my district. They presented a set of questions we were expected to answer in our group. The groups presented their responses in the next session facilitated by Rich Kick.

The summit overall was a great experience for me. I had to opportunity to create a plan to ask my district to allow me to pilot the course next school year.

Myra Deister
CSTA At-large Representative

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

August 18, 2014

Computer Science and "Makered"

Are you a Maker? Do you even know what that is? And how, exactly, is this related to Computer Science? The exact lineage of the Maker Movement is debatable. The idea of making things, hacking, repurposing, and doing things by hand is a long human tradition. It's also a long tradition within Computer Science. Popular Mechanics and The Home Brew Computer Club come to mind as well known examples of the culture of making as it applies to technology and computing. But recently, Making, as embodied to some extent by MAKE magazine and their Maker Faires, has been making new inroads into our lives, and especially into education.

In education, making, makerspaces and fablabs have been primarily focused on STEM (or STEAM) disciplines, arguing that current educational practice has made these subjects too abstract and too much about rote memorization. To really learn these subjects, students must participate in active, hands-on learning, the argument goes. The idea of making in education has come to be called by many, makered. Educators will recognize in makered the tenets of a constructivist approach to teaching and learning and CS educators in particular might recognize the work of Seymor Paper lurking behind much of the discussion of bringing making into the classroom.

In some circles, makered has become synonomous with 3D printing, electronics, building robots, and working with Arduinos and Raspberry Pi's. But many de-emphasize the technology involved in making and focus on the active nature of building something, whether with electronics or cardboard, especially in schools where expensive technology equipment is out of reach. The tension between physical products and digital ones or some combination of digital and physical makes makered an interesting topic to explore in CS Education.

In recent years, CS Education has begun to emphasize the big concepts of Computer Science rather than being solely focused on programming as the one way into CS concepts. Activities and assignments that are part of CS curriculum often leave out the computer altogether and teach such things as loops and sorting algorithms using objects, board games, and even people. Like maker educators, CS teachers see the value in creating and using physical objects and active techniques to teach concepts. Philosophically, these two groups of teachers, are not far apart at all.

Broadly speaking, many maker educators are also CS educators, especially in the early grades. Elementary and middle schools have added makerspaces and maker programs as a way to incorporate CS into their curriculum. But there are some maker educators who are librarians, English teachers, science teachers, history teachers, who have no CS background and sometimes face the prospect of now having to create a project that involves programming. They come to CS out of necessity. On the flip side, some CS educators are tied to programming and digital products as their sole purview and shun the idea of having to work with electronics and hardware, much less cardboard and glitter. Maker educators are always looking to learn from CS educators and I think CS educators can learn a lot from their maker counterparts.

Making, or if you prefer, physical computing, offers an engaging way to introduce or extend Computer Science. From using Hummingbird Robotics kits to make Artbotics projects to building sophistaced Arduino projects, there's a wide range of skills that students can gain from combining physical objects with computation. Working with physical objects that people actually use is a both an engineering and a human-computer interface challenge. Printing a surround for an Arduino project involves thinking three-dimensionally and learning about scale in a way that's not at all abstract. Even creating a Rube Goldberg machine, as my Physical Computing class did last year, involves the same kind of problem solving and logic that programming requires. Paper crafts and sewing are also popular kinds of projects that can be combined with computing, thanks to small and sewable computing products like the Lilypad and Gemma Arduino. And these kinds of projects, as Yasmin Mafai pointed out in her CSTA 2014 keynote, are appealing to girls, making them a great way to engage more young women in Computer Science.

It's worth trying a maker project in your CS class, whether it's something that combines the digital with the physical, like programming an Arduino to fill your dog's food dish, or something completely physical like a Rube Goldberg machine. You'll be surprised by how fun they are and by how much students learn from doing them. And if you're interested in learning more about makered, join me on Tuesdays at 9 P.M. EST for my #makered Twitter chat.


Invent to Learn, by Gary Stager and Sylvia Martinez
MAKE magazine
#makered Twitter chat

Laura Blankenship
9-12 Representative, CSTA Board of Directors

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

August 15, 2014

First Week Activity


Ever wish you had a set of activities for the first week of school to excite your students early on? There is a wonderful set of exercises that can be found at These exercises were created by Nick Parlante based on his Stanford CS101 course.

These exercises work very well in introductory programming courses. Very little lecture time is needed as the exercises are written in a self-guided, interactive format.

My students most enjoy the “Digital Images” section. Here, students are guided through exercises where the ultimate product is a photo of the student superimposed onto another photo, using “bluescreen” techniques.

For example, given a photo of a stop sign and a photo of leaves, if all the red pixels in the photo of the stop sign are replaced with the corresponding pixels in the photo of leaves, the result is a stop sign made up of leaves.

This technique can be used to “superimpose” pictures of your students onto a variety of other pictures. I get a large sheet of blue paper from my school’s supply room and take each of my student’s pictures standing in front of the blue paper. The students then search the web for pictures they would like to insert themselves into. That’s where the fun begins. One of my students wrote a travelogue, showing all the countries he “visited” over the summer.

My students found it helpful to have all the commands on one summary page, so I’ve summarized the commands in the “Digital Images” section in a document that can be found here:

Have fun!

Evelyn Torres-Rangel
CSTA Board of Directors

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

May 28, 2014

Enough with the Lecturing, Already!

Findings from studies comparing lecturing to active learning in undergraduate education show that fewer students fail science, engineering and math courses that are taught in an active-learning style than with lectures. The study was reported on in the Proceedings of the National Academy of Sciences in May. Read the summary here:

On average across all the studies, about one-third of students in traditional lecture classes failed (withdrew or got Fs or Ds). About one-fifth of the students fail in classes with active learning.

According to Scott Freeman, University of Washington, and lead author of the study, "If you have a course with 100 students signed up, about 34 fail if they get lectured to but only 22 fail if they do active learning, according to our analysis. There are hundreds of thousands of students taking STEM courses in U.S. colleges every year, so we're talking about tens of thousands of students who could stay in STEM majors instead of flunking out every year."

For me, the main take-away from this is: Traditional teaching styles can kill the excitement, joy, and passion for learning CS, and if they don’t love it, they won’t stay. Perhaps we can help fill the pipeline we have been crying about for years by merely changing teaching styles! While the study was on undergraduate students, I’d bet similar patterns could be found with high school students.

The good news is that there are many resources for adding more active learning into high school CS classrooms. Check out the latest on the CSTA website under “Curriculum” and “Resources.” See what’s being recommended in the Exploring CS ( and CS Principles ( curriculum. And a quick scan of the Session Descriptions for the 2014 CSTA Annual Conference reveals that almost EVERY session is about adding excitement to the CS classroom with innovative programs and activities.

No excuses now….drop the lecture.

Pat Phillips
Editor, CSTA Voice

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

May 01, 2014

Common Core and Computer Science

Last week my district offered common core workshops for all district teachers. The administrator whose responsibility was to plan the workshop for computer science/business works on my campus. A few weeks ago we discussed topics that could be part of the workshop for the computer science and business teachers. I had suggested investigating activities for the inclusion of the ELA Common Core Standards. We agreed that this could be applicable to both computer science and business.

After our conversation I began researching topics that could be discussed during our meeting. I put a request on the CSTA List Serv for strategies for ELA in the area of vocabulary development, writing or reading. I received a few responses. One response was a suggestion to contact the former CSTA president, Michelle Friend. She is currently a doctoral student at Stanford and had recently presented to the Silicon Valley CSTA Chapter in California about Reading and Vocabulary aligned to Common Core Standards.

I contacted her and we set up a Skype call to review what she had presented. Our conversation gave me insight into some issues that my students have with reading Computer Science textbooks. We spoke about vocabulary development and the 3 Tiers of Words. I had viewed Tier 3 as the tier that I had to devote most of class time to, but Michelle explained to me that most ELL's (my computer science class has many) struggle more with tier 2 words. Those are the words that have multiple meaning depending on their use. I also discovered that 80% of reading comprehension is understanding the vocabulary.

We also discussed reading strategies. These include Pre-reading strategies such as Anticipation Guides, during-reading strategies such as Cornell Notes, and post reading strategies which include Frayer Models and Discussion. Discussion involves productive talk using such skills a probing, re-voicing and pressing.

After our discussion, I decided to prepare a discussion about vocabulary development with activities that are tied to Marzano's Six Step Process that the teachers could use to develop a lesson for their classes.

I began the discussion during the district Common Core Training with 2 questions:

1) Do you feel that students come to your class already trained in literacy skills?
2) How much attention have you paid to literacy in your classes?

I received answers to question 1 that I had not expected. There were six teachers in our group. Four of the teachers are on a campus that could be classified as a magnet school because 60% of their student body test into the school and do not live within the school boundaries. All four of those teachers said that they all felt that their students were already trained. The other teacher and I are from another campus in the district and we felt that many of our students were not trained.

You probably have predicted the 4 teachers' answers to question 2. They had not paid any attention to literacy. I discussed what I saw in my computer science classes. My students turn in assignments via a Learning Management System. I assign reading questions tied to sections of the text that the students are reading. I have read through my students' answers and some of the answers that are off-topic. This year I have had more off topic answers than ever before. That has motivated me to investigate literacy teaching strategies and to check the reading levels of my computer science students. Below is a graph showing a summary of the reading levels of my students. I grouped their reading levels by levels in school.


After the responses I received from the teachers to the 2 questions, I rushed through the presentation and we did not plan any vocabulary activities.

Prior to the A.P. Exam I plan to review both Tier 3 and Tier 2 words that I feel the students will encounter on the A.P. Exam. One technique that I am using to select the words to review is to create a Wordle from the 2013 Free Response Test and one from the 2012 Free Response Test.

I will survey the students about their understanding of the predominant words. They will rate their knowledge on a Google form with the following choices:

  • I don't know the word
  • I have heard of the word but I don't know what it means
  • I think I know what it means
  • I know the meaning

    I plan to have the students complete a Frayer-type chart of the words that most of the students say that they don't know the word or not sure they know what it means. The chart will ask the students to define the word, give an example, a non-example and an illustration.

    I will also have the students use some online tools to help them review such as Shahi or VocabAhead.

    This will be my first step incorporating the ELA Common Core standards into my CS Computer Science class. I will be incorporating more literacy standards next year as I continue my research.

    What other literacy strategies have you incorporated into your computer science classes?

    Myra Deister
    CSTA At-Large Representative

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

    April 28, 2014

    Branching Out: Modeling Topics in Social Science

    Santa Fe Institute's GUTS y Girls program, in partnership with Arizona State University professor Dan Hruschka, has developed a new curriculum to engage students in understanding how computing and complex adaptive systems play an essential role in the social sciences. In the curriculum, geared towards the high school level, students explore questions and test their own assumptions using methods and data from the social sciences (anthropology, sociology and psychology) and computer modeling in NetLogo, a text-based computer programming language. Student investigations center on the role of cooperation in human interactions and how cooperation plays a role in global issues such as resource management, health equity and climate change.

    Last year, the curriculum was piloted with a set of 12 high school students in a weekend club context. This summer we will be offering the program as a one-week summer intensive workshop for GUTS y Girls alumnae. We sought to address the issue of continuation of engagement for young women (high school age) who were initially interested in computing through our middle school GUTS y Girls program. We found that after being exposed to computing and computational thinking in the context of an all girls middle school program, young women were resistant to joining co-ed computing clubs and teams. Rather than viewing this phenomenon as a failing of either the girls or the GUTS y Girls program, we sought to prolong engagement and continue to build the skills of the young women whom we have mentored over the past years. It was our good fortune that at the same time we were looking for continuation opportunities for GUTS y Girls alumnae, Dan Hruschka was seeking a partner to develop an education outreach component as part of his research on social closeness.

    We are eager to share our resources and encourage other CSTA members to consider forming partnerships with social science teachers. The potential for integrating computing across disciplines through modeling and simulation is huge and largely untapped. These interdisciplinary projects and teams offer many routes to expose students to the breadth of computing, and demonstrate its connection to understanding and solving real world problems, while preparing students for future endeavors involving computing.

    Irene Lee
    CSTA Computational Thinking Task Force Chair

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

    February 04, 2014

    Lessons Learned While Implementing a Dual Credit Course.

    I'd like to share with you some of the opportunities and barriers we encountered while implementing a dual credit CS course in high schools across New Mexico.

    New Mexico Computer Science for All, an NSF-CE21 funded CS10K program, recently completed its first cohort year. The program was designed to prepare high school STEM teachers to serve as learning coaches or TAs during the lab portion of a dual credit University of New Mexico CS151L course offered at their high schools. Using a flipped classroom paradigm, high school students watched videos outside of class time then participated in design and build computer modeling experiences during the school day at their local high school. Students received both high school and college credit for completing the course.

    Here is what we learned that may be of benefit to other educators and policy makers.

    1) Access issues still exist even though many schools have computer labs. We found schools that were using netbooks as dumb terminals and running apps off a server, then blocking access to server and internet access during the course so bandwidth could be reserved for State Test takers. One solution was to provide thumb drives loaded with videos and the NetLogo executable.

    2) Our content/assignments need to be sensitive so as not to trigger negative reactions from students and teachers. For example, one video used the term "drunkard's walk" to describe random walks but this hit too close to home for some students. We substituted the term with "lost puppy". On another occasion, we rewrote an assignment to avoid focusing on individual pride because it counters some students' cultural values.

    3) Course expectations need to take into account teachers' and students' realities. Using possibly new vocabulary during quizzes or exams is unfair to students whose first language is not English. We found that, unlike our personal educational experiences in earlier times, students today do not have access to dictionaries in the classroom (and are not allowed to go online during quizzes and exams).

    4) It is important to make it clear to all constituents and partners that this is NOT a weed out course. The course can be a "college prep" course / a dual credit course without being a weed out course. We argue that any computer science that a high school student learns IS preparation for college and future endeavors.

    5) The role of NM-CSforAll instructors, facilitators and program managers, is to be problem solvers, not gate keepers. Instead of first imposing university or program expectations, collaboration with teachers has helped us design a program that will work in their setting (while at the same time maintaining most of the program's goals).

    6) We've learned that even students with low GPAs can succeed in our course. Students' past academic performance is not necessarily predictive of performance in our CS course. We found that students engage in a different way with learning computer modeling and simulation. Dropping the GPA requirement for taking the dual credit course has allowed many students to take the course.

    7) Positioning the course as an Introduction to Computer Science through modeling and simulation has shown broad appeal. While we don't have a similar course positioned as a "programming course" to compare it to, we believe NM-CSforAll's approach had broad appeal because of the students who took the course. Seventy-four percent of students taking the CS151L course were from underrepresented in STEM and Computing (including underrepresented racial/ethnic groups and young women).

    8) The option to receive dual credit was a draw for students but high school students also needed to be able to gracefully withdraw from dual-credit. If not, failing students would be in danger of getting an F on their college transcript before even getting to college.

    If others in the CSTA community are interested in or currently attempting to offer Computer Science via the dual credit route, we'd love to hear from you!

    Irene Lee
    CSTA Computational Thinking Task Force Chair

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

    November 18, 2013

    Forays Into the Flipped Classroom

    One of the buzzwords in education today is the flipped classroom. I was prompted to try out this model last year when I came down with a stomach bug that prevented me from going to school for four days. We were about to start on a new unit about functions, so if I wanted my students to stay on track with my curriculum and proceed with their labs, I had to find a way to deliver the content to move forward. I sat down with my laptop and found free software to capture the screen. While there are several out there, I chose Camstudio to use. It took me a few tries to coordinate what I wanted to say and what I wanted students to see on the screen. I uploaded the video to my school website and emailed the students the link and instructions on the lab assignment. While it wasn't truly a flipped classroom, the concept was there.

    The feedback when I returned to school was positive. Many of the students, mostly females interestingly enough, commented that they really liked that they could pause the video and/or rewind and play back parts of the video when they needed to go over some difficult concept. I had in the past received feedback from my students that I sometimes go too fast when introducing new topics, especially when I am writing code and they are trying to follow along on their computers. Knowing that the flipped classroom approach helped out those students who wanted a slower pace or might take longer to process new information, I was intrigued to try to truly flip my classroom.

    Since then I have occasionally used this model, although I admit not completely. I do like to get the immediate feedback from students when presenting a new concept, where they can ask questions and contribute to the coding on the projector. However, flipping the classroom does help some students, and allows for more time in class for students to work on labs and assignments and to receive individual attention. I am curious if other people have tried flipping their Computer Science classroom and what their experiences have been. Please share!

    Karen Lang
    9-12 Representative
    CSTA Board of Directors

    Posted by cstephenson at 05:51 PM | Comments (1)

    November 11, 2013

    New Resources to Support a New Perspective

    There has been a lot of excitement lately in the news about the importance of teaching students to code, but in the midst of all the excitement, many students, parents and teachers have been turning to single dimension solutions that entail learning to program separate from the underlying pedagogy of computational thinking and creative problem solving. As a computer science teacher, I am thrilled by the renewed interested in coding, however, it is not enough.

    When I began teaching computer science, over six year ago at Fraser Woods Montessori (FWM) School in Newtown, CT, my initial approach was to focus my energy and my students' learning on the mechanics of programming. However, my recent switch this past August, to the University of Chicago Laboratory Schools (Lab), where I am now teaching computer science (for graders 5th & 6th) has prompted me to rethink my educational philosophy and goals to focus on computational best practices.

    Originally, when I began incorporating programming into my curriculum at FWM, I did not think beyond the acquisition of programming skills. My lessons simply focused on teaching a variety of different programming languages (i.e. Scratch, App Inventor and HTML). So when I started developing my curriculum for Lab, my initial approach was to simply adopt those lessons from my old school. As the school year began to unfold, I realized that I wanted my students to understand and internalize so much more. According to the Partnership for the 21st Century, "A focus on creativity, critical thinking, communication and collaboration is essential to prepare students for the future". I had examined these skills in the past, written about them, and even referred to them in conversations with fellow faculty and administrators, but I had never truly internalized them.

    At first I had no idea where to begin my quest to re-design my curriculum. Thankfully, I was not alone. Conversations with Baker Franke, Marty Billingsly and Karen Putman, colleagues and fellow computer science teachers at Lab, helped me find a starting point. It seemed that the curriculum I was seeking could be found in established high school computer science syllabi. One such program, "Exploring Computer Science", developed by Joanna Goode from the University of Oregon, and Gail Chapman from the University of California, Los Angeles proved to be an excellent resource. The goal of Exploring Computer Science "to develop in students the computational practices of algorithm development, problem solving and programming within the context of problems that are relevant to the lives of today's students" satisfied my desire to make my class more about computer science than about computer programming. In particular the pedagogical approach of ECS, which aligns with Linda Darling-Hammond's 2007 book, Powerful Learning: What we Know About Teaching for Understanding is exactly where I hope to be at some point in the future with my own curriculum.

    Specifically the ideals of:

  • Creating ambitious and meaningful tasks that reflect how knowledge is used in the field;
  • Engaging students in, so that they apply and test what they know; and
  • Encouraging strategic and metacognitive thinking, so that students can learn to evaluate and guide their own learning.
  • While, I am still in the process of reviewing the material and looking for those pieces that would be best suited for the middle school classroom, I am confident that the curriculum's three unifying themes:

    (1) the creative nature of computing,
    (2) technology as a tool for solving problems, and
    (3) the relevance of computer science and its impact on society

    are perfect for my students.

    Another curriculum that I recently discovered is the work on Pair programming from ETR's Youth and Technology department. This was an ideal addition as I was looking for ways to incorporate collaboration into my lessons. According to the Partnership for the 21st Century, collaboration is an essential skill for all students. Including Pair Programming into my curriculum allowed my students to experience "shared responsibility for collaborative work, and learn to value the individual contributions made by" each person. Besides developing social skills, working in pairs has been demonstrated to increase confidence, satisfaction and the enjoyment in the experience of programming, it has also been shown to increase learning, investment and interest in programming for both boys and girls. Recent self-reflection from my students confirmed these findings. My students were not only learning how to program, but also learning the benefits of shared responsibility. They definitely agreed that two heads are better than one.

    I have only been at my new school for a little over two months. It is hard to believe that so little time has actually passed since I have learned so much. But, my learning, as well as that of my students, as really only just begun. I have more curriculum to explore, more books to read, and many more rewarding conversations to enjoy. The next 10 months promises to be an amazing journey.

    Exploring Computer Science -
    Scratch Ed -
    ETR's Youth and Technology Department (
    NCWIT's Pair Programming in a box -

    Patrice Gans
    CSTA K-8 Representative

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

    October 30, 2013

    Computer Science History

    Computer science tends to be a very forward looking field. We are constantly looking at the newest things including the future of computers, of programming languages and paradigms, the future of applications and of careers. This is natural with the rapid pace of computing but we should also take care not to neglect the study of computing's past. The old saying that those who do not study the past are doomed to repeat it holds as true in computing as it does in other fields.

    We can learn a lot about the future (and the present) by understanding how we got to where we are today and how technology has transformed how we did things in the past. For example, today cloud computing is the trend for the future but it also has parallels with several technologies in the past.

    Cloud computing is in many ways similar to the earlier move to client/server architectures. In the past the clients and servers may have been local to each other or even different software on the same computer. Today, the user side is a web browser and the "client" is somewhere out there in a location you may not even know. The client server also has parallels to the early days of mainframe computing. In those days, data entered on block mode terminals or card punch machines was sent to remote systems in climate controlled rooms with limited physical access. Seems a lot like the huge data centers of today doesn't it?

    There were also all kinds of issues, both technical and cultural, involved in all of these paradigms. many of them are relevant to today's technologies. But are our students aware of them? Often they are not. The generation that has been involved in computing for many years is reaching retirement and the institutional memory it holds is at risk if we do not pass it on to students today. The problem is that it is difficult to make time to fit computing history into existing curricula or courses. There is little room in an AP CS A course for it, for example. There probably is room for it in the CS Principles course and the Exploring Computer Science course, but we have to do integrate it carefully. A dry memorization of dates, names, and events is dull. It doesn't communicate the richness of the history and it bores students to no end.

    There are many resources on the Internet for studying computing history. The Computer History Museum has numerous resources online. The ACM has also made all of the great Turing Award lectures available (in some cases as video) enabling computing pioneers to share what they know with future generations. And speaking of voices of the pioneers, the Computer History Museum has an Oral History collection with interviews and talks by some of the greats.

    How can we use these resources in interesting ways? I think it may work best in the context of discussions of the future. Students are very imaginative in their thinking about the future. It would be worthwhile to challenge them to look into previous technologies and developments for parallel changes. Or to ask them to look at the work of pioneers and ask them to project those developments forward to today and beyond. Challenge them to think about the progression of technologies from the past into the future.

    We add value to teaching when we go beyond the technology and into the consequences of technology. Students are interested in that. History can help them make sense of the present and the future. And that is something we need to do.

    Alfred Thompson
    CSTA At-Large Representtive

    Posted by cstephenson at 02:26 AM | Comments (0)

    October 17, 2013

    Injecting Serious CS into a STEM Course

    My school district has a STEM course in the high school that is meeting the district's computer science graduation requirement. That means that the STEM students need to be meeting the CSTA K-12 Computer Science Standards. Curriculum development can be quite the balancing act, especially in a course like this. How do you fit serious CS into a course that is already chock full of basic physics, engineering and math? Without adding any more time, of course! Here is an example of a unit I converted to include more CS.

    Cell Phone Amusement Park
    This is the first unit of the STEM 1 course. Students are introduced to the engineering cycle, the role of the engineering notebook, and how to read and create engineering drawings. I emphasize planning before building (I refer back to this when we get to pseudo code and programming).

    The class brainstormed ideas for rides we could build with our materials (VEX robotics kits). They then broke into pairs and started reverse engineering their chosen ride, often using videos and photos found on the Internet. This stage focused on engineering drawings. We broke the ride into stages of development, starting with the base and how the motor and gearing would create the required motion. Once the teams built this first stage of the ride, I introduced them to the programming language we would use for the VEX, RobotC.

    I introduced pseudo code as if they were writing specs for someone else who would do the programming. If they were too vague, I would give it back to them and say "I don't really know what you want me to do." When the teams shared their pseudo code, we were able to make a list of what they needed to know how to do in the programming environment. They wanted their motors to start slowly, and gradually ramp up to full speed, run at full speed for a set period of time, then slow down gradually to a stop. They felt that this is what a "real" ride does. Since the VEX motors can only take one value, power, I taught them how to use variables and loops to ramp up and ramp down. After writing some code and testing their programs, they decided they also wanted a start button, just like a real ride. Since touch sensors are binary, this led into a lesson on binary and sensor values.

    After some more engineering and building and testing of the rides, we were ready to load some cell phones in. Why cell phones and not dolls or some other representation? The accelerometer data! We installed an accelerometer app onto our smart phones that allowed us to record the output of the accelerometer on our phones as a csv file. We had at least one csv file per ride, and each file consisted of many data points.

    Analysis of large data sets is now naturally a part of the curriculum. The students collaborated to decide what makes a ride "fun" and how to use the sensor data to support that idea. I taught them various strategies to analyze the data according to what they came up with. At one end we had a ribbon for the best ride for thrill-seekers and at the other end a ribbon for the best ride for young children.

    This unit takes the same amount of time as the Rube Goldberg machine unit it replaced. The new unit still contains all of the science, engineering, and math that the previous unit did, but it now also includes an introduction to pseudo code, programming in RobotC, variables, control structures, conditions, binary and analysis of large data sets!

    Perhaps best of all, the students loved what they had made and are looking forward to our public display of the "Cell Phone Amusement Park" at our school on Halloween.

    Tammy Pirrman
    CSTA School District Representative

    Posted by cstephenson at 02:40 PM | Comments (0)

    August 14, 2013

    Using CSTA K-12 Standards to Create Curricular Choices

    In 2010 Springfield made computer science a graduation requirement and offered two paths to meet that requirement: a gifted course and an academic course. Both courses were based on the CSTA K-12 Standards, and have evolved as the standards were updated. However, the gifted course used robotics and the academic course was based on "Computer Science in the Modern World."

    Last year I was challenged to increase the choices from two to five. Starting this September we are offering the following courses that meet the computer science graduation requirement at Springfield:

  • Quest 9: Future Studies, a gifted offering that uses several robotics platforms and includes current events in AI, CS and Robotics as well as science fiction readings. Only available to gifted freshmen.
  • Computer Science Principles, focusing on mobile app development is offered for any 10-12 grade student and is available as an option for honors freshman to take to meet their graduation requirement.
  • Web Application Development 1, an academic course available to any student, focuses on the Internet and building standards compliant, accessible web sites.
  • STEM 1, an academic course available to any student uses several robotics platforms along with current events in AI, CS and Robotics.
  • Computer Science Basics, the original computer science course for freshmen.
  • I used the CSTA K-12 Level 3a standards extensively while writing these courses. Here is my working document with which standards are met in each class. The only new course is STEM 1, and that is based on the previously existing Quest 9 course. The Web Application Development course was due for a review to switch from XHTML to HTML5, and I only had to add two units, one on hardware and one in JavaScript to meet most of the standards.

    Many of the students in these courses this year, will go on to take another Computer Science course in the future. For example, 27% of the students in these classes this year are taking them as electives after having met their graduation requirement. This presents a data collection opportunity. Starting this year, I plan to collect evidence from each student on meeting the Level 3a standards. Every student will have a portfolio and will provide evidence for each of the standards. The added advantage to students is that they will be able to see how they met a particular standard with Scratch in one class and with Python in a different class, thereby reinforcing the idea that the concept is more important than the specific implementation of that concept.

    I was very interested to discover what choice girls would make, when given a variety of courses to meet the standards. The results are:

  • Quest 9: Future Studies -- 100% Freshmen and 50% female
  • Computer Science Principles -- 54% Freshmen and 30% of those are female
  • Web Application Development 1 -- 48% Freshmen and 54% of those are female
  • STEM 1 -- 35% Freshmen and 43% of those are female
  • Computer Science Basics -- 86% Freshmen and 41% of those are female
  • As a note when looking at these percentages, I believe our school has slightly more male students than female.

    Please let me know if you find any of this interesting or useful! Just use the comments below, Thanks.

    Tammy Pirmann
    District Representative
    CSTA Board of Directors

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

    August 12, 2013

    First Day Activities Revisited

    My district is starting school two weeks earlier this year. I have been thinking about how I could use the few extra days that I have gained before the AP test. I want to do a few activities at the beginning of the school year to engage my students and to introduce them to computer science. To find some activities I, of course, performed an Internet search. I noticed that First Day Activities was a CSTA blog post by Leigh Ann Sudol-Delyser in August 2007. That is why I titled my post First Day Activities Revisited.

    In her post Leigh Ann describes her first day activity as follows:

    One of my favorite first day activities is the paper airplane building exercise. I pair the students in groups of two and give each person a sheet of paper. The rules are that only one student is allowed to talk, and the other needs to follow the directions they are given EXACTLY. I then sit the students back to back so that they cannot see each other. The student who is allowed to talk creates a paper airplane and talks through the process, while the student who is not allowed to talk follows along. It is fun to see if they come out with the same airplane at the end of the session.

    After the paper airplanes are built, I engage students in a discussion about the process, asking them questions such as: "Does the order in which you gave the directions matter?", "What was the most difficult thing about not being able to talk?" and "Would it have been helpful to get feedback during the process about how you were progressing so far?" (Hint - this is a subtle reminder about writing programs in pieces and compiling as you go along rather than trying to do it all at once.) I then refer back to this activity throughout the year as a common experience in which I can frame other parts of the code - compile - run - refactor process.

    Baker Franke responded to Leigh Ann's post with his first day activity:

    I break the class into small groups and have them write instructions for sorting eight playing cards. The rules:
    1. The cards start face down on the table
    2. The instructions must be for only one person.
    3. The person moving the cards can only have one card in each hand at any point (i.e. s/he can only look at the values of two cards)
    4. The instructions can't require that the person remember the value of a card once they put it down. You can however use the space on the table however you like.
    Then we share.
    This works really well for me for a number of reasons:
    1. If there are enough groups you'll usually see all of the n^2 sorting algorithms come out...on the first day! At least one group does selection-sort, another insertion-sort, another bubble-sort, and you even get crazy mixes, it's quite fascinating. This pays huge dividends down the line when you actually have to teach the sorts. Just remind them what they saw on day 1.
    2. The students don't feel patronized. Sorting is a deep, but accessible problem. They haven't touched a computer in the class yet, but they can understand that a computer needs to process things as a series of steps and this exercise immediately gets to the depth of that, showing that sorting things is not just something a computer can "do." There are choices that have to be made, trade-offs to be considered. Students also immediately, innately, start asking good questions - "what if the list is already in order?" - "What's the 'worst' order it could be in?"
    3. I usually have one group read their instructions to me (I'm the computer) and follow *EXACTLY* what they say to make the point about ambiguity in instructions.
    4. Once the kids have struggled with this, you can demonstrate mergesort on a set of cards (I sometimes wait until later in the year) and it's like magic to them. They love it, and see immediately why/how it works. I'm sure many of them use it as a party trick.
    Anyway, that's my first day activity. Enjoy.

    One first day activity that I have done for the past few years was one that Dean Johnson from Fort Atkinson High School in Wisconsin suggested to me. You have bags of candy and pass them out to groups. I allow the students to self-select the groups. The only condition I place on the groups is that the group must be four or fewer students. I tell the students to dump the candy onto the desk. The first question I ask the students is: What characteristic(s) does/do all of the candies have? We have a short discussion about the characteristics the students suggest.

    Then I have the student groups think of a characteristic that they can use to sort the candy. I have them write it on a piece of paper then sort the candy. After the groups have sorted the candy, each group shares what their characteristic was. I then have them do it again and repeat the same process. The groups do it a third time. I have the groups turn in their write ups. I have referred back to this activity when we are discussing attributes in relation to classes and objects.

    Last week I attended CS4HS at Crafton Hills College, Yucaipa, CA. As the professor was discussing the definition of computer science, I thought of another activity I could do on the first day using the references that were discussed. I would have the students work in pairs to describe/define computer science. After they have finished, the pairs would share their definitions. Using the references from the workshop, I would have the students go online and summarize the definitions from the different sources and compare and contrast their definition with the definitions they looked up. Then discuss what they found.

    One other possible first day activity I found on Twitter was the Robots Game. Stuart Wray, Senior Lecturer at the Royal School of Signals in Blandford, England describes the game and has the maze on his blog:

    He has a board for every six players and six robot pieces number 1 through 6. The six players are divided into two teams. Each player writes up to 10 moves onto a move-sheet. One person rolls the dice to determine which robot starts first and executes all of its moves. The others follow in numeric order. For each robot the owner reads the moves from the move sheet and another player executes the moves. A robot moves one square for each forward or backward instruction or turns left or right without a move for those directions. If there is another robot in the square the robot whose turn it is moves into the occupied location and the stationary robot will be moved one space out of the way. The players continue to move the robots using the move sheet until their robot reaches the exit squares. The first team with all their robots on an exit square wins.

    Dr. Wray says that after the game is over, he points out to the students the relationship of the game to programming. The moves are blindly executed just like computers execute code without thinking.

    I am looking for more first day activities.

    What first day activities have been successful for you?

    Myra Deister
    CSTA At-Large Representative

    Posted by cstephenson at 02:33 PM | Comments (2)

    August 01, 2013

    Coming Soon to Your Classroom?

    "Adaptive learning" has been in the edu-buzz lexicon for some time. A new application of the strategy has recently made notable gains at Career Education, Inc. While their research and development was created and tested with a post-high school audience, I think we may see it make its way to K-12 in the not-so-distant future.

    I had the chance to visit with Judy Komar, vice president for education technology at Career Education (and former CS teacher from Wisconsin), to learn more about how the new technology works. You can read more about it here: Inside Higher Ed. Let me summarize how it works:

  • The content of a subject can be mapped to a single course or can stretch across multiple courses and academic programs. This means that the basics in one class are revisited in subsequent lessons or courses. No more learning it for one unit or course and then forgetting it.
  • At the beginning of each week during an online course, students take an assessment to see where they stand. The quick test shows what they already know in a particular unit and what they still need to learn.
  • That assessment and more throughout the week are used to automatically tweak course content. In the online scenario, the software modifies the content and selections of activities to either help the student master previously covered content or skip already-mastered content and move ahead.
  • The software includes an instructor's dashboard so that at-a-glance, the teacher can identify students whose learning needs intervention and who can jump ahead.
  • Students can also monitor their own progress. Students engaged more often and longer with lessons when they had access to this information.
  • Judy told me about the research that led to this project. It was discovered that 85% of the students in their many schools and programs who performed poorly in the beginning college algebra course, did not complete their program of study. Algebra 1 appears to be a major hurdle in achieving academic and career success. So they mapped the content of that course and several more advanced math courses into this software. Faculty members designed the content that became "nodes" in adaptive learning courses. The learning nodes revolve around concepts, much as in competency-based education. In an algebra course at the university, for example, there are 125 nodes and 3,200 assessment questions.

    As students study algebra, they are guided to master concepts rather than just cover them for a test. The basic concepts of algebra and subsequent courses appear again and again throughout algebra 1 and courses that follow. If the concepts were not mastered and retained, activities to relearn are added to the students program of study. The same strategy is being used in English courses.

    It got me thinking. Wouldn't this be cool in CS? Deep knowledge is dependent upon mastery of so many basic concepts. Think about how many times you've had to reteach decision structures or iteration when you move on to a new lesson on objects or data structures. Maybe someday we will have the automation we are teaching students to develop in our own tool boxes.

    Pat Phillips
    Editor, CSTA VOice

    Read more:
    Inside Higher Ed

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

    April 10, 2013

    Computer Science as a Teaching Strategy

    Recently one of my Facebook friends, Rebecca Dovi, computer science teacher in Virginia, posted an article from Education News, Julia Steiny: Promote Algebra by Teaching Basic Software Programming. The article was a reaction to an opinion piece from the New York Times by Professor Andrew Hacker titled "Is Algebra Necessary?"

    Ms. Steiny recounts her experience serving as a member of a school board and mandating that students take pre-Algebra in the sixth grade and for the students that progressed successfully they would finish Geometry by the 8th grade. Those that didn't were remediated and the failure rates for Algebra I was lower. She also states that only about one-third of the students learn out of context and that "Fully two-thirds needed to see the problem and think it through to grasp the abstract concept embedded in the answer." That is where computer science comes in. She says that her two grown sons state that computer science is "algebra, only infinitely more fun and interesting.

    Ms. Steiny gives an example of where this is happening now, Advanced Academy of Math and Science in Marlborough, Massachusetts. Students from grades 6 through 11 take computer science in conjunction with math and science so they see the application. She states that the students' tests scores are "off the map."

    I am not only a computer science teacher but I also teach advanced math classes. Every day, in my math classes I see how students just don't remember the basics such as calculations with fractions and factoring trinomials. They need to see the application to remember how to do the math. My computer science students see this when they are writing a programs. Recently when the students were writing a method to reflect a digital picture, I pointed out to them that they must see the pattern and translate it into an equation so the computer can repeat the operation many times. They try out their "equation" and can see if their reasoning worked.

    She ends her article with "Can we really not see the value of computer science as a compelling teaching strategy? Who are the slow learners here?"

    Ms. Steiny has more blog posts related to computer science at

    What do you think? Can we convince the education reformers that computer science is an important teaching strategy?

    Myra Deister
    CSTA At-Large Representative

    Posted by cstephenson at 04:35 PM | Comments (0)

    January 23, 2013

    Training Critical Thinkers and Problem Solvers

    As a teacher I am always trying to find ways to encourage and interest my students in my class. I try to come up with innovative lesson plans that go according to what they like. I believe I must engage the students' interests so that the material I am teaching stays in their minds for the future.

    Lately, though, it seems that everything revolves around the question: Am I teaching and engaging my students to become critical thinkers and problem solvers? I live in a society where parents think that teachers are here mainly to serve students and insert information into their brains, holding the teacher solely responsible if that does not happen and not expecting any effort or work from the student. This applies to all subject areas, but in computer science it is really critical that we correct this misconception.

    Students now, are encouraged to be human filing cabinets, where a bunch of information is stored but really have no idea how to use it in the real world. As teachers, we are always faced with the question, why do we need to learn this? How and when will I use this information in real life? These questions were commonly found in math classes but now it has transferred to the computer sciences area. There are lessons that our students must learn about computer sciences that do not require the use of a computer or other technologic device. This, in our students' minds is inconceivable because they think that computer sciences without a computer are nothing.

    Part of my curriculum focuses on teaching my students how to use their common sense and their logic skills the best they can so that they can solve the "world's greatest problems", and most of the time I have been searching for lessons that include using a computer or similar device. However, this school year I changed that, and the response has been outstanding. Therefore I want to share my experience.

    I started using lessons from the program Exploring Computer Science. This program was created to encourage inquiry based instruction among other wonderful things. I especially love their unit on Critical Thinking and Problem Solving. I had the amazing opportunity to go to a workshop during the 2012 Summer CSIT conference called Exploring Computer Science:Teaching with Inquiry presented by Gail Chapman and Joanna Goode. This workshop was so amazing and provided so many wonderful ways to encourage our students to be thinkers and inquire about what they are learning. It was a hands-on workshop and I decided to apply several of the exercises with my students this school year. I learned two things from this: one, that this is a way to get to know the learning personality of each of my students and two, that I have been "spoiling" my students by blurring the line between helping them and actually initiating the work for them. I was not creating independent students but was being careful of completing my curriculum and having the output of good grades from my students.

    Needless to say, I am fixing that. It is an everyday job though. I have to take my students out of the bubble in which a story starter has to be given to them or a word wall is the beginning of creating an original piece of work. I was limiting their creativity and innovation; I was guiding their problem solving skills by providing them with the right answer. Now I can see my students blooming and creating amazing work. On the downside, I now struggle with some parents who believe I am pushing my students too hard. I have to break down the walls that students build instantly even before the topic is explained. I also have to teach my students that sometimes failing a task is part of the learning process. When success is not achieved the first time, it only means that they have to take a different approach to the situation, plan a strategy and try again. Whether this applies to programming, design, video games, robotics or simply living and performing their daily tasks, it is part of the learning process and this is a skill that will stick with them for the rest of their lives.

    I encourage other teachers to take a look at the Exploring Computer Science program since it has an easy to follow approach to teaching computer sciences, with units that are well thought and applicable to any level of students, plus it is also aligned to the CSTA standards. It is truly satisfying to see students embrace a new approach to the same material or skills. See it as a chance to practice what we seek to teach -- critical thinking and problem solving.

    Michelle Lagos
    International Representative
    CSTA- board of directors

    Posted by cstephenson at 04:24 PM | Comments (0)

    October 18, 2012

    Using Exploratory Learning for CS

    This year I am making some changes in my introductory Computer Science class. Last year, I added Scratch and BYOB as lead-ins to my standard programming language, Racket (Scheme). This year, I am going straight to BYOB, but following it up with AppInventor for the rest of the course.

    Detractors of curricula using Scratch and BYOB say that learning programming through exploration is not a good way to learn computer science concepts. It lacks rigor and structure and leaves students with the idea that if they just try a different value in a field, they might get the "right" answer. However, I see benefits to allowing students to explore and investigate how different commands work and the cause and effect of changing program commands and/or parameters. I find that my students do gain an understanding of the basic concepts. They also get to be creative in how they accomplish the given task. With open-ended introductory labs they don't just accomplish the assignment and stop. They play more, are apt to experiment more, and push themselves further. As assignments become more focused, they are willing to try different approaches. They continue to experiment.

    I am hoping with the introduction of AppInventor in the curriculum, students will get a real-world understanding of how to build a full application through more large scale projects. Certainly, building mobile apps is a motivator for students. Students should be able to apply the computer science concepts learned earlier to build a more complex application that involves so much more than just straight coding. Students will learn about project design, teamwork, user interaction, prototyping, user feedback, testing, and iterative engineering.

    This change is a bit scary, but exciting as well. I hope it will open the eyes of the students to all the work that goes on in order to make the mobile devices they carry around so powerful. And I hope that it empowers the students to realize that they can be the creators, rather than just the users of those devices.

    Karen Lang
    CSTA 9-12 Representative

    Posted by cstephenson at 02:52 PM | Comments (0)

    August 12, 2012

    Changes I Plan To Make

    Recently I read an article by Noa Gutow-Ellis a 10th grader in Houston, Texas:

    that was highlighted on Twitter by Edutopia. In her article she describes an outstanding teacher. She states that there are four traits that make a teacher remarkable:

  • Teachers that care about us both in and out of the classroom
  • Teachers that are beyond passionate
  • Teachers that plan unforgettable lessons
  • Teachers that aren't afraid to be challenged.
  • As I was reading the article, I was thinking about how I could emulate each of these qualities in a computer science classroom because I want to inspire my students to learn computer science.

    Here are my thoughts about the first point: Teachers that care about us both in and out of the classroom. Some of my students are in the U.S. without parents. They have student visas and live with a relative or board with another family. I have presented lessons on phishing schemes that have benefited my students in the past. I can think of one student that after my presentation was caught in a phishing scam and approached me for advice. I am also taking this into the future. I plan to have guest speakers during Computer Science education week to discuss possible career choices for my students.

    For the second point: Teachers that are beyond passionate, I need to share my passion. I will have to find a way to stay energetic because my computer science classes have been schedule at the end of the day rather than at the beginning. I am still thinking about this one. I need to bring in how computer science is used in areas that my students are interested in.

    I have some ideas for the third point: Teachers that plan unforgettable lessons. I attended a Tapestry Workshop a few months ago where Seth Reichelson from Florida spoke about his lessons. I hope to incorporate some of those into my class. Also, during the same workshop, Robert Luciano from Pocono Mountain East High School, Swiftwater, PA spoke about using logic problems as a warm-up activity. It motivates his students to get to class to start working on them. Linda McDaniel from Wesleyan School, Norcross, GA during the Tapestry Workshop told me that she tried it this past school year and it had the same affect on his class. I have purchased Critical Thinking, The Daily Spark from Amazon to use as logic problems. Also, the parent support group at my school has agreed to purchase 9 Finch robots for my class. I want to use these as part of an unforgettable lesson.

    The last point is Teachers that aren't afraid to be challenged. I am willing to let students question what we are doing and suggest a better way to do it. I enjoy and welcome the challenge that their way is better and let them work to prove it.

    I am looking forward to the beginning of the school year and working to incorporate each of these traits into my computer science classroom.

    What are your ideas about incorporating any of these traits into your computer science class?

    Myra Deister
    CSTA At-Large Representative

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

    June 27, 2012

    Modeling Effective CS Professional Development

    Last month, the National Science Foundation sponsored a workshop on creating high-impact professional development experiences for K-12 computer science teachers. After synthesizing research from a variety of models across STEM fields, the leaders of this workshop noted that the most effective professional developments have the following characteristics:

  • Focuses on a purpose anchored in student learning of specific content in a specific setting
  • Focuses on curriculum and pedagogy
  • Focuses on instruction and learning
  • Models effective practice
  • Active learning opportunities for teachers
  • Develop/sustains group work
  • Collective participation of teachers
  • Teachers experience critical colleagueship involving critique and trust
  • Continuous, long-term, with a substantial number of hours
  • These characteristics resonate with me when I reflect on the many "professional developments" I have had positive (and negative) experiences with both as a teacher and teacher educator in various computer science professional development events.

    What do you think? Do these characteristics reflect the type of professional development you think has the most significant impact on your classroom teaching?

    Joanna Goode
    CSTA Equity Chair

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

    June 07, 2012

    Feedback on Feedback

    I'm looking for feedback on feedback. Giving feedback to students, that is. I'm being pulled in three directions on this topic and would like to hear from fellow CS teachers on what you are all doing in your classrooms.

    As a teacher with almost 100 AP Computer Science students, grading student programs (both of the typed and handwritten variety) is a daunting task. Grading like a human compiler would be valuable, but that would take an amount of time exceeding the available amount of time in the day. Instead, I rely on an extremely healthy dose of formative feedback, given to students while they are programming as I walk around the room. The students seem to appreciate and value this type of feedback, especially since it is personalized to both them and the task at hand. In contrast, the amount of summative feedback I give to the students is minimal and often I feel badly that I do not give them more, descriptive feedback about their work.

    Do the students want more written feedback?

    Would they do something constructive with it or would they just toss it aside?

    As a student enrolled in a graduate class this spring, I lamented the lack of feedback I received from my instructor. The computer programs I slaved over for up to 20 hours on the weekends in languages that were new to me earned perfect scores. While extremely happy about the grades and satisfied that I completed the tasks on my own accord, I felt incomplete without any feedback. I knew my programs compiled and ran according to the specifications. I also knew that I did my own work without any assistance.

    So, why need feedback? I had no idea if I wrote the programs best utilizing the functionalities of the new languages I was studying or if I was just approaching them the "Java" way. I needed to know if I approached the problems the way intended by the professor, if I was learning what he had designed for us to learn, and if my programs were efficient. The one time I asked for feedback on a program that earned a 100, I didn't receive a response.

    As a teacher who is supervised by a principal who thinks feedback is VERY important, I struggle with the amount and type of feedback to give. My principal believes that every written assignment should be returned with a significant amount of comments. Comments that can easily be understood by parents, no less! How can I write comments that are specific enough from which students can benefit, but that can also be understood by parents who most likely have not studied computer science? And how can I write enough to satisfy his requirement without taking up all the hours in a day?

    Ria Galanos
    CSTA 9-12 Representative

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

    March 22, 2012

    Flexibility and Creativity in Teaching

    Hack Education has an interesting interview with Laura Blankenship, a computer science teacher in Pennsylvania. I think it's great the flexibility Laura demonstrates - when Scratch wasn't working for her students, she switched to something that worked better for them.

    This is an interesting silver lining to the lack of mandated standards in computer science - we often have the flexibility to change what we teach in substantial ways, such as switching from straightforward programming to a web-based approach and digital media, such as Laura did. I've long known flexibility was a key to great teaching - providing students with appropriately engaging challenges while teaching the important material. Of course, being that flexible has huge challenges!

    If nothing else, I hope the interview gives you some creative ideas for things you might do with your students!

    Michelle Friend
    CSTA Past Chair

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

    February 20, 2012

    Does CS "Rock" for your students?

    One of the more interesting pieces of non-solicited email that I received this morning offered to help me teach like a rock star. I have to admit, the promotional technique was catchy and the email itself was short enough to read in less than a minute. And yet it intrigued me. I often wonder if teaching like a rock star is what we need to do to engage our students in computing and computer science. It is certainly well-known that we do need to attract more students and more diverse students in our discipline.

    Studies show that Generation Z students want to be fully engaged in the classroom and in their education. These Gen Z students are "digital natives" who have grown up with the Internet and multitasking. Computing has always been mobile for these students and information has always been readily accessible through the Internet. They are highly connected in their personal lives, and they expect to be highly connected in their education lives as well. These students do not learn by listening to lectures and completing worksheets. They learn by doing, and they learn by teaching and from each other. These Gen Z students are entrepreneurial and highly service-oriented. They are 21st Century learners, and they learn and work collaboratively. They seek to develop a broad range of skills to equip themselves for the workplace. These Gen Z students are in our CS classrooms today.

    How do you engage Gen Z students in your classroom? Do you have students working collaboratively with a diverse group of students to solve real-world problems? Do your students teach other students (as well as teach you)? Are mobile computing devices and other computing technology readily available to your students in the classroom? Do you guide your students to engage in their own learning? Are you a rock star and does CS rock for your students? Are you allowing each of your students to be a rock star in the classroom? Do you have a flipped classroom? Can your students obtain new content through a Learning Management System and/or a video BEFORE they come to class so they can collaborate to problem solve in class?

    We are so fortunate to teach a discipline that not only lends itself well to collaboration for problem-solving but really demands it. Computing technology is an essential and integral part of what we do. Our CS students should be actively engaged in their own learning in our classrooms. They should be using computing and computing technologies to solve authentic problems. We should be teaching like rock stars. Our students should be learning and evolving into rock stars. Entrepreneurial, collaborative, computational thinking, service-oriented rock stars. What great hope for our future.

    Further information about topics noted can be found at these sites:

    Deborah Seehorn
    CSTA Board of Directors

    Posted by cstephenson at 02:38 PM | Comments (1)

    February 16, 2012

    Dates for Data?

    It's high school. It's Valentine's Day. The air is thick with hormones. But just as important as x's and o's are 1's and 0's.

    As a part of the CS Principles pilot this year I have struggled to make the curriculum engaging and exciting while still maintaining the rigor of a college level course. The class is built around seven "Big Ideas", and while many are fairly straightforward to teach, like Algorithms (Big Idea IV) or Programming (Big Idea V), Data (Big Idea III) has been a bit of a struggle. It sounds fairly simple at first: Data and information facilitate the creation of knowledge. Of course they do. However, connecting that for teenagers is not so simple, especially when you start looking at the supporting concepts, like Computational manipulation of information requires consideration of representation, storage, security, and transmission.

    Enter the Matchmaker.

    Every year my Computer Club does a fundraiser called the Matchmaker. For $1, students can buy a list of their top 40 most compatible classmates. We get every student to fill out a questionnaire and then use scientifically tested algorithms to print a list of their top love-matches. In reality the computer club kids write a program that reads in those answers from a file and matches students based on their answers, but "scientifically tested" sounds good in the commercials.

    This year we did the Matchmaker out of the CS Principles class, since it is the same group of kids that are in the computer club. We've usually raise $500 - $700. Not shabby considering the only cost is the paper we print on. The bigger benefit, however, was the discussions about data. Looking again at the supporting concept, Computational manipulation of information requires consideration of representation, storage, security, and transmission. It is all there.

    The first step every year is to design the questionnaire. We discuss question format and how we will digitize the answers so they can be processed. With over 1400 students in our school this is no small task. Also key is the format of the file. Questions like "should the answers be separated by spaces or tabs" must be decided before any coding starts.

    Privacy and security are also issues. One of the biggest problems is making sure we collect enough information to identify students and sell them their matches without using their student ID's, which are connected to lunch accounts and grades. I find that few 17 year olds are deeply concerned about issues of data security, so this has been one of the most valuable parts of the lesson. Nothing motivates kids to secure their information like protecting their lunch account numbers.

    Throughout the course we have used a weekly discussion board topic to reflect on what we are learning. These topics surrounding the Matchmaker have been some of the most hotly debated of the year.

    After 15 years of doing this fundraiser I know of at least two married couples that were matched by the Matchmaker. Selling the concepts of "Big Data" is just one more long term benefit.

    So what interesting ways have you found for teaching Big Data?

    Rebecca Dovi
    CSTA Leadership Cohort Member

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

    January 24, 2012

    Fun versus Rigor: Getting Students Ready for the Next Level

    One of my goals this year was to make my CS course more fun for my students. I felt as if (and received feedback from students that) some of my programming assignments became drudgery, due to my strict adherence to correct documentation and test cases. The joy of finding a solution to a problem, of seeing your program run without error, was overshadowed by the prospect of dotting all i's and crossing all t's. So, this year, I am trying to be more flexible with my approach, and to focus more on the process of problem solving and achieving good solutions, rather than just hammering home the documentation aspect of being a good programmer.

    We started off using Scratch this year, which set the tone early, that programming is fun. Students were enthusiastic, were buzzing about what they could create, and ready to show off their programs. We transitioned to BYOB, which allowed students to build their own blocks, or functions, as a lead-in to functional programming with Racket. Not only did this sequence set a more playful atmosphere, it alleviated some fears of this scary subject, computer science. I found it was a good method to ease students into what many find to be an intimidating subject.

    As we move through the curriculum, there is the inevitability that topics go deeper and the work becomes more difficult. Computer Science is not an easy subject to study. It is difficult and students at some point, have to realize that. I have had more than a few students who leave my class with an interest in going further in the subject. As they move on to college (our seniors take college courses at WPI), some are overwhelmed by the difficulty of the college classes, don't perform well, and lose interest in the subject. What can I do to better prepare them for the challenge of CS at the college level?

    I want to encourage interest in the subject, make it appealing to all students, but not at the cost of academic rigor. Or is that just the nature of moving deeper into a subject – some will discover that it is not for them, for whatever reason?

    Karen Lang
    CSTA Board of Directors
    9-12 Representative

    Posted by cstephenson at 04:48 PM | Comments (2)

    December 15, 2011

    Pre-Holiday CT Activities

    Heading into the holidays and the end-of-semester, I was thinking about activities that have students engage in computational thinking but without involving a lot of work for the teacher and are engaging. These aren't as good as a class party, but hopefully you'll find them helpful.

    1. Talk about modeling
    I have had students do object-oriented design without programming. One of the great strengths of computer science is modeling real-world phenomena in the computer. That means abstraction. Pick some topic (e.g. pizza) and students have to figure out what the attributes are. My class came up with a list that was roughly: dough/bread base, sauce, cheese, toppings. There was a huge debate about the requirement of cheese, which led us to talk about how different people model things differently: there's a lot of power in being the model-creator. We also talked about how experience leads to us creating the models we do (i.e. value of diversity). We talked about inheritance by modeling "place setting" which was an attribute of "dinner table". You could model weather using Excel - what attributes of weather do they want to model? Temperature? Precipitation? Humidity? Get data from, put it into Excel, and graph. Or make tables. Use the data to make predictions, using formulas.

    2. Take off from the CS Unplugged on image representation
    Do that activity, which digitizes black and white images. Then give the kids a color palette (I used 8-colors), graph paper, and transparency grids (I had 3 sizes of squares available). Have them pick a picture either that they bring in or from magazines, and have them digitize color pictures. Then they should swap the digitized version and decode someone else's. You can have them decode more than once - once with the same palette, once with a "reverse" or "grayscale" or "sepia" or other palette to see how the computer can do those effects. In my classes, this led to discussions about how computers are really good at some things that people are bad at and vice versa. It also led to discussions about the different algorithms we used to choose which color to label a box, since a single square often had multiple colors. I let them make their own compression algorithms, so we could talk about that. Also the size of the transparency grid led to a discussion of pixels, file size (that was a LOT of little numbers for them to write down!) and how the resulting picture looked.

    3. Other activities
    The one-day CS Unplugged activities:

    are terrific. They also have extensions linked at the bottom as well. The Mathemaniacs website

    is also really good.

    What activities do you use to keep kids' attention at high distraction times?

    Michelle Hutton
    CSTA Past Chair

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

    December 07, 2011

    Getting Students to Think Beyond the Classroom in CS Ed Week

    During CS Ed Week I thought I would find some things that may not be what I normally "teach" in CS. I thought I would find things that would make my students think about the world, think about things bigger than themselves, and think about "things that make [them] go hmm" (yes that was a sad 90's music plug).

    So in my quest I remembered Luis Von Ahn who I had the privilege of hearing speak twice in the past couple of years. I found this interview from 2009 at:

    It profiles him, captchas, and re-captchas. I thought that this was extremely revelant since all of my students have had to type one at some point.

    I started each class with the question " what is a captcha?" To my surprise at least one student in each class knew. Actually all of my students knew what they were its just that not all knew they were called captchas. After the video we discussed the idea of CS solving a problem that couldn't easily be solved with just math, science, or another discipline. We talked about what happens behind the scenes with a database, how the words have to be compared and how a computer can create something it cannot solve itself. I saw wonderment in some of their eyes. I saw my students connect real world with CS. I also had one student that said he was going to be more careful when he did a recaptcha since he was actually working on digitizing books. He said he wasn't going to just type stuff until one of them worked. While it may seem small to some, when a student wants to change a behavior because he has learned something about his world I think it is time well spent.

    I told the students that this week we would look at things that were just to make them think and understand the computing world they are living in. It appears to be working and even though it is not "testable" material they may be learning more than on a regular day.

    I hope all of you have had a positive experience during CS ED Week!

    Stephanie Hoeppner
    Ohio CSTA Cohort
    Ohio Chapter Vice-President

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

    November 16, 2011

    Computers Shouldn't Make Sandwiches

    This past weekend, I had the pleasure of attending the CSTA/Anita Borg K-12 Equity Teacher Workshop at the Grace Hopper Celebration of Women in Computing conference in Portland, Oregon. It was great to feel energized and inspired by the power of so many computing educators talking about critical equity issues in computer science education.

    Along with, Elaine Bromeyer, an Exploring Computer Science teacher from South Gate High School in Los Angeles, I gave a presentation to highlight the contextual and pedagogical elements of teaching computer science. As part of this presentation, we showed a short video of Elaine's classroom lesson that focused on students' creation of directions for assembling a peanut butter and jelly sandwich.

    The conversation Elaine and the audience participants had following this video highlighted the particular inquiry-based pedagogy and equity-based practices of Elaine's classroom. Though I found the entire discussion illuminating, Stanford professor Eric Roberts' final question has stayed with me as a central pedagogical technique that blends inquiry and equity.

    Eric Roberts began with commenting on one of the students' reflective remarks on the lesson that stated, "I learned that computers shouldn't make peanut butter and jelly sandwiches". Eric's question was, "How can we take student comments like these to look at other things computers aren't particularly good at?"

    By pointing out this teachable moment, Eric highlighted how student-centered instruction can lead to sets of rich discussions about central themes of the utility and tradeoffs of computing in particular social contexts. I believe that this instructional technique of using student reflective comments to drive classroom discussions of related computing topics a great instructional tool for computer science classrooms. Having students write journal reflections on a regular basis is a great way to adopt this approach in your own classroom.

    Joanna Goode
    CSTA Equity Chair

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

    October 19, 2011

    Motivating Students and Teachers While Raising the Bar

    During the past year, a good deal of my work time has revolved around revising our state Business, Finance, and IT Essential Standards. We have organized our standards around three of the States' Career Clusters: Business Management and Administration, Finance, and Information Technology. At the state level, we have really created a mind-shift for our administrators, teachers and students.

    In the previous "Standard Course of Study" students were considered concentrators in our Business Technologies Pathway if they completed four courses, one of which was a second-level course. We had students becoming concentrators after completing Computer Applications I and II, and various other course offerings. Even though we ramped up our Computer Applications II course to focus on Multimedia and Webpage Design, we certainly were not preparing our students for life in the 21st Century. Needless to say, many teachers and administrators in our local school systems were not all thrilled with our new Essential Standards (even the name had changed!). Of course there were some who embraced the change.

    My firm conviction that we were on the correct path was reinforced recently when I read an article about schools in the United Kingdom testing a new curriculum in which the students write their own computer software programs. The plan was to shift the IT curriculum away from computer literacy to software development and computational principles. How refreshing! I have long been an advocate that computer applications skills are productivity skills (that everyone needs to have) and they are NOT IT skills or knowledge. It's a hard sell when some teachers (and many students!) are quite comfortable with the productivity software products and activities. (You may read the entire U.K. article by following this link:

    As part of our new state Essential Standards, I have been working with a team of teachers to revise our Computer Programming I and II courses. We have a decent enrollment in the first-level course, but the enrollment drops significantly for the second-level course. The revision is still a work in progress, but our plan is to offer computer programming basics in the first course and to teach the students Visual Basic programming. Students wishing to expand their knowledge during the first course can apply the knowledge and skills using C#.

    We want to expose all the students to C# in the first course, because we plan to apply the knowledge and skills in the second course by teaching the students C# programming and XNA Game Studio. Hopefully, this will entice the students to continue with a second programming course. (Students can also choose to study SAS Programming after completing the first-level course.) Students who complete the second course will have a good foundation to succeed in AP Computer Science. And, the teachers teaching in the pilot of the new courses are quite excited, and that's a big step in the right direction.

    Our state has formed a partnership with Microsoft, and our former Computer Applications courses are now centered around the students achieving MOS certification in Word, PowerPoint, Excel and Access. These courses reach almost every high school student in our program. We are also piloting two Network Administration courses that teach Microsoft curriculum. The first course is composed of curriculum for four MTA exams (Operating Systems Fundamentals, Networking Fundamentals, Windows Server Administration Fundamentals, and Security Fundamentals). The second course also teaches Microsoft curriculum for Installing and Deploying Windows 7 (Microsoft Official Academic Courseware). In both cases, students can take Microsoft certification exams that are actually written for students. Right now the enrollment in the Network Administration courses is very limited. Hopefully, we can increase the enrollment after the pilot is complete. The students and teachers participating in the pilot are enjoying the curriculum. That's a good sign!

    Through our new Essential Standards we are working to motivate our students and teachers by raising the bar in our IT courses. In the Network Administration courses, the "carrot" to attract students (as well as parents and teachers) is the industry certification exams. In our Computer Programming courses, the "carrot" is the XNA Game programming. Carrot or not, the students are getting a good foundation in a specific IT pathway. That's good for students, and that's good for the IT industry.

    What are you doing to entice students to study rigorous IT or Computer Science courses?

    Note: A recent CSTA Blast included some very good resources for teaching XNA Game Studio. This was great news for me and the Computer Programming Curriculum Development team. Excerpts from the CSTA Blast are below.

    Revitalize your Computer Science program with Game Development with XNA: Semester 1. This exciting and engaging computer science semester course enables students to apply a basic foundation in programming to create games and simulations for social causes using C# and Microsoft XNA Game Studio. Teaching resources and C#/XNA software are free.

    C# is a modern, professional object-oriented programming language which when combined with the Microsoft XNA framework creates the XNA Game Studio – a professional game development environment for PC, Xbox 360, and Windows Phone.

    Lessons are aligned to CSTA, ITEA-STL, and ISTE-NETS standards.
    Success Scenario: Students who have had experience with a structured programming language and a basic understanding of variables, conditionals, loops, and object-oriented design.

    Download today!
    Teacher Roadmap (
    Part 1 Basics (
    Part 2 Games for All (
    Appendix (

    Contact for additional information.

    Deborah Seehorn
    CSTA State Department Representative

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

    October 17, 2011


    Nearly every Sunday morning I try to read the Sunday paper to help me get charged up for the week and relax for a few quiet moments before starting my day. This past Sunday I was drawn to the Parade section because the feature article was "Born to be Wired" (You can view the article at: As a high school teacher, I am drawn to articles that discuss the behaviors of our today's youth. As I read these articles I compare what they claim with my observations.

    One question the article did ask was "Should Teachers Use Twitter in the Classroom?" The discussion that followed included statistics gathered in a survey concerning how teachers felt regarding the job their districts were doing educating students about online safety, security, and ethics. I had incorporated these topics into my curriculum five years ago. Finally at the conclusion of the section, they quote the director of the National Institute on Drug Abuse. She says, "If you can use Twitter to maximize the likelihood that these kids will be proficient in a subject matter, why not?" Honestly, I am not convinced that many of my students are actually using Twitter. I do know that most of them use Facebook.

    Another point this article covers is that researchers are suggesting that due to "nonstop connectivity" that it maybe "rewiring their brains." One researcher has suggested that due to this constant connectivity, students have "a diminished ability to focus on one thing for long." After I read that, I reflected back to when I was a college student learning to program. I had to preserve at writing programs to be successful. For the most part, I do not see that trait in many of my computer science students.

    After I finished reading the article, I reflected on the question, "How can I use this information to improve my computer science classes?" If students only have a ten minute attention span, do I need to offer more activities? Should I add Twitter or Facebook to the online tools I am currently using?

    I will continue to ponder more about these questions as well as consult with other computer science teachers when I attend the next local CSTA meeting.

    What are your thoughts?

    How are you addressing the shorter attention span?

    How are you using social media in your classrooms?

    Myra Deister
    CSTA At-Large Representative

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

    October 14, 2011

    My Goal: Inspiring Students

    Unlike the solar calendar which marks January as the beginning of the new year, my new year, like that of all teachers, begins in September. A new school year means new beginnings and new opportunities. I couldn't wait for this school year to start because I was determined to make a difference in how my students perceived computer science.

    My goal for the 2011-2012 school year was to inspire my students to consider computer programming as a viable creative outlet. I felt that over the past three years, while I had been successful at teaching them programming concepts, few had fully embraced the medium. What was I doing wrong?

    I decided to explore the question of inspiring my students in further detail. I began by scouring the internet for inspiration. Not surprisingly, I found plenty of generic suggestions on how to engage students in the learning process Some examples were to:

    (1) make it real by creating learning activities that are based on topics relevant to students' lives,
    (2) provide choices so that students feel some sense of autonomy in the learning process, or
    (3) provide students with role models that help them to identify with the subject matter.

    Not bad. I could work with these recommendations.

    Unfortunately, I had another hurdle. How could I overcome the negative stereotype of the computer programmer as a socially awkward young man who spends his days hiding in his parents' basement working 12 to 16 hours a day on his computer? (McConnell, Steve. Orphans Preferred. Chapter 7. In addition, USA Today reported that because the techie nerd stereotype is so well entrenched, students in every grade ranked computer jobs near the bottom of their lists of career choices. (USA Today, February 16, 1998, pp. 1B - 2B.)

    How was I to overcome decades of negative stereotypes and gender type casting? How was I to reach my students? All of them. Not just the ones who already found computers exciting.

    I went back to the internet. This time I focused my research on locating articles that would provide insight into what students like and how computers could support these preferences. I discovered that I could tap into recreational activities that my students were already enjoying, specifically computer games, to capture their attention. By leveraging students' interest in video games, I hoped to replace the negative perception of computer programming with the allure of computer gamming. At the same time I hoped to entice students to explore computer programming in more detail while possibly helping them to discover a new passion.

    According to Allyson Peerman, president of the AMD Foundation (the philanthropic division of Advanced Micro Devices, a computer chip manufacturer), "We know from research that playing games provides some STEM skills, but when [students] get involved with creating games, those skills [and interest] go up exponentially".

    I decided to tap into my students' love of computer games by assigning them the task of creating computer games using Scratch that would teach either mathematics or language arts skills to younger students. I was surprised at how quickly they embraced this goal. They couldn't wait to get started. One student (a fifth grader) even eagerly suggested a programming competition, where students would present their projects to the younger students, who would then decide which games they enjoyed the most. I was thrilled with their enthusiasm. Is real learning occurring? Yes it is. And are my students having fun? Yes they are.

    It is too soon to know how successful the computer games will be at teaching the younger students, but I hope that once the programs are completed and presented, both groups will have benefited from the experience. The older students will have a sense of accomplishment for having created real-world applications and the younger students will have a new and exciting game to use for drill and practice.

    Recently, I complemented one of my younger students (a third grader) on his computer skills, and he responded that he loves computers, and that he wants to be a computer technology teacher when he grows up, just like me. So it seems that developing computer games with an educational purpose definitely motivates my students.

    Will this interest last into middle school and beyond? I don't know. All I do know is that it seems to have captured their attention for the moment, and for that I am grateful. Maybe their excitement will inspire administrators, parents and teachers to consider computer science an important educational directive for the future. Because, as I see it, computer science is more than just programming computer games. But don't tell my students.

    Patrice Gans
    CSTA K-8 Representative

    Posted by cstephenson at 09:53 AM | Comments (1)