« July 2013 | Main | September 2013 »

August 30, 2013

Bring the Experts into your Classroom

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

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

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

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

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

Pat Phillips
Editor, CSTA Voice

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

August 28, 2013

Privacy, Protection, and Personal Safety

One of the great things about working in a top-10 computer science department is that I get to see which fields are really hot. At the University of Washington I get the added bonus of working with faculty who care deeply about teaching. I get to see both of these in spades when I wander three doors down the hallway to the always busy office of Yoshi Kohno. Yoshi is our security guy. Computer security, that is.

It's abundantly clear that security is a hot topic these days. Everyone is scrambling to figure out how to keep our systems secure. And Yoshi can give you endless examples of how the technology has gotten way out ahead of the security. We are deploying computer applications all the time without worrying about whether they are secure. This is an issue for privacy and protection of intellectual property and national security and even personal safety.

Yoshi and his students figure out all sorts of fascinating vulnerabilities in commonly used technologies. They'll show you how they can use the keyless entry mechanism in your car to steal it. Then they'll point out that a stalker can hack into the communication between your tennis shoes and your wristband health monitor to track you as you go on your evening jog. They'll even show you stuff straight out of a spy movie where they drive up next to your car and order it to disable the breaks and accelerate out of control.

Yoshi teaches the most popular undergraduate course in our department. The security course regularly fills up before the end of the first day of registration. This is partly because the field is hot, but also because Yoshi is such a creative teacher. He has written papers on his use of "science fiction prototyping" to get students to think about potential security scenarios. And Yoshi has developed a game that he hopes will be used by students in K-12 and in college. It is a card game called Control-Alt-Hack. Students pretend that they work for a computer security company that does ethical hacking to help organizations find any security vulnerabilities. Each character has different hacking skills and the players work through various scenarios to see if they can find security problems that should be addressed.

Stuart Reges, Principal Lecturer, University of Washington
Faculty Representative, CSTA Board

Posted by cstephenson at 09:45 AM | Comments (0)

August 26, 2013

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

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

August 23, 2013

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

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

August 21, 2013

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

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

    August 19, 2013

    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

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

    August 15, 2013

    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)

    Posted by cstephenson at 12:20 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: 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

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

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