Greece Proposing Giant Step Backward

Anyone who has followed the international news for the last couple of years has likely heard of the ongoing economic crisis in Greece. Only now, however, are we hearing about how that crisis is directly impacting education in the form of a new piece of legislation that will eliminate key Informatics (information technology and computer science) courses.
A new bill entitled New Lyceum is currently under public consultation and it is expected to be submitted in final form to the Greek Parliament at the end of this month. If the new legislation passes, it will eliminate the Information and Communications Technology classes from the general upper secondary curriculum in Greek schools.
CSTA members in Greece tell us that this proposed legislation is the latest in a series of national money-saving efforts which have specifically targeted teachers. According to Mina Theofilatou, who teaches Informatics at the secondary level in Argostoli, Greece, these efforts have been both extreme and frightening:
Each time the state “runs out of money”, new measures need to be taken in return for the next loan instalment. Teachers were one of the easiest targets: first our salaries were slashed by approximately 40%. Then they increased our working week by 2 hours, and threatened to relocate us to any place in Greece if we were identified as “surplus” in our own region … Finally, when we started discussing a strike in reaction to all these unfair measures, they proceeded to issue a mobilisation order against us, served to each and every one of us by a policeman at our school or worse yet, our doorstep.
More recently, says Theofilatou, the government began firing teachers in a effort to cut 15,000 civil service jobs in order to meet the current loan installment. The firings began with the elimination of 46 technology courses at the secondary level, resulting in the loss of many teachers’ jobs. The New Lyceum legislation is seen as an attempt to create similar employee reductions by eliminating computing courses.
Educators in Greece are attempting to lobby the Ministry of Education and the Greek Members of the European Parliament, but it is difficult to say at this point whether their efforts will have any effect.
Chris Stephenson
Executive Director, CSTA

Google’s New Computer Science Teaching Fellows Program in South Carolina

In a couple of weeks, a team of Teaching Fellows from Google will begin leading various after-school computer science (CS) programs throughout the Charleston area. Based in South Carolina at Google’s Berkeley County data center. The Computer Science Teaching Fellows program is an initiative aimed at preparing new STEM teachers and CS graduates to become K12 CS teachers. These fellows, hailing from around the U.S., are the first cohort in a two-year fellowship practicum that will increase the number of students learning computational thinking and CS. Since starting in mid-June, there has been much excitement and curiosity about the program. Specifically, we are often asked about the implementation details of the program, and if we will be sharing what we learn from all of the exploration we are planning to do. I’m pleased to say that we have much to share already and that there will be even more to pass along as we continue to grow the program.
Starting in June, the fellows began their immersion into the world of CS education. For those fellows with a background in CS, the process involved intensive training in pedagogy as well as numerous opportunities to gain teaching experience through lessons and activities. The other fellows, with a background in STEM teaching, were immersed in a series of in-depth lessons on CS and CS education. Both groups, after much training and development, are currently preparing to enter their first after school classrooms!
Through this process, the fellows are exploring various curricula (such as Bootstrap, Exploring Computer Science, and App Inventor Lessons) and programs (such as Scratch, App Inventor, and Blockly) to determine which are most appropriate for their initial target student population – 4th and 5th grade students. We have two research fellows focused on evaluation and measurement, so we can acquire the data we need to improve and iterate. In my own experience as a middle school teacher, I always found that my preparation was significantly bolstered by conversations with those who have had both successes and failures identifying new and exciting ways to teach. We are finding that many of our fellows are coming to the same conclusion.
What does that mean for you, a member of CSTA? As a new program coming into a space with many outstanding leaders and key stakeholders, we will need your help. We hope that the CSTA community will get involved as our fellows begin their work. Conversely, we want to do what we can to help. Our team is excited to learn more about what you’re doing and to learn from those that have worked for years to shape CS education. Your track record is an invaluable asset and we hope that you’ll be interested in sharing your expertise. For those of you in SC, NC, or GA we will be joining the CSTA South Carolina Chapter for their October meeting. We will be sharing what we’ve learned so far and I hope (if you can join us) that you can share with us!
Cameron Fadjo,
Program Lead, Computer Science Teaching Fellows

Important New Report on CS Teacher Certification

Over the years no topic has generated more frustration and concern for CSTA members than teacher certification/licensure and supplementary endorsement. As CSTA has been saying for a long time, teacher certification in this country is a dog’s breakfast (not all at all appealing) and it is time that states took a serious look at the ways in which they are actually discouraging good teachers from teaching in the field.
Today CSTA released a new report called Bugs in the System: Computer Science Teacher Certification in the U.S. This report (developed with support from Google) is a comprehensive study of all 50 states and the District of Columbia revealing that each state (and in some states each school district) has its own process, its own definition of Computer Science, and its own idea of where Computer Science fits in the academic program and who is qualified to teach it.
Bugs in the System reveals that only two states (Arizona and Wisconsin) require teachers to be certified/licensed in Computer Science and in many states there are no requirements for teaching Computer Science at all, meaning teachers with little or even no Computer Science knowledge can teach it and teacher preparation institutions are unlikely to offer programs for new Computer Science teachers.
What doesn’t immediately jump to the forefront of the report is how incredibly difficult it was to collect this information and why that, in itself, is a critical part of the story. It took CSTA 18 months, hundreds of emails, hundreds of phone calls, and huge amounts of persistence to track down the information contained in the state report cards. This is because in many cases, the people responsible for determining and enforcing the regulations have no idea what they are for computer science or, in a surprising number of cases, what computer science actually is. Many administrators are still confusing computer science with basic computer literacy and with educational technology (the use of computers to support learning in other disciplines).
What we are lovingly calling “the Bugs report” does provide very practical suggestions to address the current certification craziness. These include:

  • Establish a system of certification/licensure that ensures that all Computer Science teachers have appropriate knowledge of and are prepared to teach the discipline content.
  • Establish a system of certification/licensure that accounts for teachers coming to the discipline from multiple pathways with appropriate requirements geared to those pathways.
  • Require teacher preparation institutions and organizations (especially those purporting to support STEM education) to include programs to prepare Computer Science teachers.
  • Computer Science offers enormous opportunities to current and future students, so our national level failure to ensure that there are enough teachers who are well prepared to teach Computer Science makes no sense, but we need the support of the entire educational community to make the necessary improvements.
    Projections show that in the year 2020 there will be 9.2 million jobs in the “STEM fields” — those that rely on science, technology, engineering and mathematics — and half of those jobs will be in computing and IT and there is not nearly enough talent in the pipeline to fill these vacancies. Addressing the current problems with Computer Science teacher certification/licensure is an important step towards ensuring all students have the opportunity to take the courses that will provide the fundamental knowledge and skills to prepare them for future computing jobs.
    Chris Stephenson
    CSTA Executive Director

Don’t Panic

The cover of the famous fictional “Hitchhiker’s Guide to the Galaxy” reads, in big letters, “Don’t panic.” There isn’t a definitive “teacher’s guide to teaching computer science” but if there were I suspect it would have the same message on the cover. Students are back to school in some of the US as I write this and most will be back in the next week or so. As teachers we start the year with all sorts of emotions. Excitement, anticipation, and to some extent a wonder of how it will all come together.
One never knows what will happen once school begins. Oh sure we start off with carefully thought out plans for the whole semester or years. Or at least we tell everyone we do. But plans change as they meet the reality of the classroom. Some years we get start students who force us to move faster than we’d planed. Other times students need a bit more attention and the plans have to be slowed down a bit. Seldom do they go completely as planned. While this happens in many subjects it is a bit different for many computer science teachers as we often have no one else in our building to go to to bounce ideas off of. We can be isolated and alone. I am here to say “don’t panic” because there are resources available. You are not alone!
CSTA local chapters have been growing in recent years and they can serve as a great support system. Chapters can be great sources of professional development, networking and opportunities for personal and professional growth. If you are not involved in a local chapter, it is time to get involved. If there is no local chapter, perhaps you can find some help to get one started.
There are resources online as well. Are you signed up for the CSTA listserv? This is a great place to ask (and answer) questions with CSTA members.
The CollegeBoard also runs an online discussion forum for AP CS teachers that is useful for more than just AP issues. You’ll need to create a free professional account at the site if you don’t already have one. If you’re teaching AP CS the account you used for your curriculum audit works just fine.
You can also find information and discussions on the CSTA Facebook page. Yes, Facebook does have educational value.
This year is alive with potential. This can be as intimidating as it is invigorating but “don’t panic” the best is yet to come!
Alfred Thompson
At Large Member CSTA Board

Who is Teaching Computer Science in US High Schools?

How do you fit in amongst the roughly 800 teachers who shared what they teach, how they are supported by their schools, their background and what’s important to them? A new survey that answers these questions has just been released. Administered by the University of Chicago’s Center for Elementary Mathematics and Science Education and Urban Education Institute, the survey is part of a larger study of high school computer science in America called “Building an Operating System for Computer Science Education”.
Along with the results of the survey are several dozen reactions to the results from other teachers, administrators, CS professors, education researchers and leaders. These reactions help interpret the analysis of the results and also, more importantly, highlight some implications of these results for the CS field and for the teaching and learning of computer science in general.
Two things stood out to me when I looked at survey results. First, computer science teachers, despite still reporting that they are the only CS teacher (or one of a few) in their community, reported feeling supported by their schools and administration. This was completely surprising to me. (Perhaps, it is the self-selecting nature of survey respondents, who are more likely to feel happy, satisfied and proud of the fact that they teach CS.) But, maybe this is evidence that the advocacy work of CSTA has been working and the shifting public view of computer science education has led to more schools supporting the teaching of computer science.
Second, we have a real problem with misconceptions about computer science, still, in 2013. And as the survey results show, as a community, we are still not on the same page about what computer science education is either. At the moment, the word “code” is gaining attention as the stuff students should learn with computers, and whatever stigma used to be attached to programming seems to be dissipating – which is good. But we have a long way to go in clarifying what a high-quality, rigorous computer science education is and that that includes more that just programming.
Still it turns out that even “code” is a new concept to the uninitiated. Last year, a high-level administrator at my school, a person I spent four years convincing to include computer science as a graduation requirement (successfully, a requirement that has been in place for 5 years now!), and a school at which I have been teaching AP Computer Science for almost 10 years, approached me in the wake of the Code.org video to ask: “Baker, do you know how to code?”, as if to emphasize something paranormal in our presence. “Is that something you could teach our kids?”
Boy, we have a long way to go! The University of Chicago study is a good start to understanding why, and what paths we might take to truly expand the teaching and learning of computer science in this country. Check it out!
Baker Franke
CSTA Leadership Cohort Member
University of Chicago Laboratory High School (Chicago, IL)

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

    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: http://onfoodandcoding.blogspot.com/2013/06/the-robots-game.html
    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

    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: http://www.insidehighered.com/news/2013/07/29/career-education-corp-expands-major-adaptive-learning-experiment#ixzz2adTstED5
    Inside Higher Ed

    Something Old, Something New

    I’ve been programming since 1972 (junior year of high school, long before programming in high school was considered a normal course of events). Over the years I’ve programmed in BASIC, FORTRAN, LISP, PL/1, Scheme, Prolog, C, C++, Pascal, Python, various other languages here and there when I took Programming Languages and AI Programming (CLU anyone?). But even with that long laundry list of languages, reasons still arise to learn more.
    So I have spent the past few weeks learning R. If you aren’t familiar with R, it’s a language designed for statistical computing and graphics. Why, you might ask, would I bother? I’m working with some of my faculty colleagues from Economics and Political Science. We have purchased a very large database of Chinese customs data. Millions of records of trade transactions at the level of “on such and such a day 25 pairs of sneakers were exported by this company through that port on their way to this other company in this other country”. Oh yeah, we’ve got imports too. Of course, my colleagues want all kinds of aggregation. It seems that customs data comes with things called HS Codes (Harmonized System Codes for commodity classification). The first two digits get you into high level categories like Foodstuffs or Textiles. But then you can dig deeper. Was that shipment wool, or was it fine or course animal hair?
    I could see how I’d compute in Python what my colleagues wanted using tons of loops and complicated data structures. But that seemed unwieldy considering that they are interested in 2-digit and 4-digit HS codes so I could be dealing with 1000 buckets of aggregation. But R is completely designed for dealing with data frames and data imported from CSV files. It can do quickly, with one line of code, the kinds of things that I would otherwise have to write a lot of loops for. On the other hand, getting started is not for the faint of heart. I made some quick headway, for sure, enough that my colleagues could use preliminary results to better articulate what they really wanted. And then I realized that my baby skills were not adequate, that I was going to have to do some serious learning.
    Two books, plenty of Googling for examples, some downloaded PDFs. But I also told myself what I always tell my students. The joy of working in an interpreted language is that you can try things out, get quick feedback, and move on accordingly. So just when frustration was reaching high levels, I started going step by careful step. After a lot of trial and error, I came up with a new approach for the part that had me stumped, and then I wrote a little inline code to check the general idea behind my approach. That worked. Then I moved that code into a function. Then I made the function a little more complicated, and a little more complicated, so that eventually it fully executed step one of my new approach. Then I wrote code that completed what I needed. Little step by little step. Then I figured out how to write the results out to a new CSV file so my colleagues and their students can review the results. I’m still waiting to hear back, since I don’t want to write any more code until I’m sure I’m delivering the correct things to them. But I was every bit as joyous when my code ran correctly as my intro students are when they get code to run. And it served as a reminder of the value of thoughtful painstaking problem solving and thoughtful painstaking implementation. As I said to one of my colleagues, looking at the code, which is just over 50 executable lines, you’d never guess how long it took to write. But if I had written it faster it would have been 3 times longer and probably 10 times less efficient. Now that I have it running for 10,000 data records, can’t wait to see how it fares on the larger data sets!
    Valerie Barr
    Computational Thinking Task Force chair

    Computer Science Finally Part of Critical Federal Bill

    The House has officially passed HR 5, the Student Success Act, by a vote of 221-207. The bill would reauthorize the Elementary and Secondary Education Act (ESEA) and includes some provisions helpful to computer science education and educators, thanks to the approval of an amendment from Representative Susan Brooks (R-IN) and Representative Jared Polis (D-CO).
    The proposal from representatives Polis and Brooks (bi-partisan support!) changes some provisions of HR 5 to clarify that computer science educators should be supported by the bill’s professional development initiatives. You can see the debate of the amendment and the compelling statistics around the need for more K-12 computer science education here:

    CSTA is deeply encouraged encouraged that the discipline provided a moment of bipartisan support during the debate, with the amendment winning broad support from the House of Representatives.
    While the ESEA reauthorization process moves forward, CSTA and the network of computer science education advocates will be pursuing multiple strategies and opportunities to elevate the profile of the most important discipline of the 21st Century.
    This is an advocacy win worth celebrating and it is important to note that CSTA and the many members of the Computing in the Core coalition played a critical role in this win.
    Chris Stephenson
    CSTA, Executive Director