What’s Happening in CS in Other Countries

I am part of the organisation that trains and selects students to represent New Zealand at the International Olympiad in Informatics (IOI). We attract some government funding by circuitous routes for the students to attend, but none for the leaders. Last year was our country’s best overall performance at the Maths, Chemistry, Biology and Informatics Olympiads, and the suggestion was made that we analyses the results, hopefully helping our case for fundraising.
I enlisted the help of a student during our summer camp and gave him the results for the last three Informatics Olympiads. I asked him to weight the gold, silver, and bronze medals won appropriately and then rank the country on performance with respect to population size.
Naturally India and China don’t look so good when you do that and adjusting by population is a bit spurious! But, in those three years, the same 10 countries were always in the top 10.
They are, in alphabetical order: Armenia, Belarus, Bulgaria, Croatia, Estonia, Georgia, Latvia, Lithuania, Singapore and Slovakia.
Nine of these are ex soviet block countries and I claim to know nothing much about them, with the exception of a little about Lithuania. Lithuania has a small band of people who work tirelessly within the education ministry (they have a centralized education system) to promote computer science, one of whom, Valentina Dagiene, attends the IOI. She has an impressive record of advocating for informatics, teaching, and producing textbooks for high schools.
If you know of the education systems in these other countries, or the state of CS in their high schools, we would love to know more. Please share you information with us by commenting!!
Margot Phillipps
CSTA International Director

Bad Decisions About CS Education in Ohio

About a week ago the University of Cincinnati in Ohio announced it was no longer going to offer Computer Science as a Major. Dean Carlo Montemagno said it was a money decision. He also said “I can no longer do more with less,” and “I have to do better with less.”
What am I to do with this information? What am I to tell my students who want to study computer science? What ripple effect does this decision by a large university have on computer science education in Ohio and in other states? As we look at the Running on Empty: The Failure to Teach K-12 Computer Science in the Digital Age Report we are all reminded of the sad state of affairs of K-12 education. I am now getting concerned about the state of affairs computer science at the university level. If the University of Cincinnati can do this who is next?
K-12 teachers often have to justify their CS classes to administrators, boards of education, and communities. We have to fight to keep computer science courses in a world that is becoming dominated by technology, and now it seems the fight is also at the college level. What support do I have for my argument now if the largest university in our backyard (30 mins away) is not even supporting computer science? You could argue as the article does that there will still be some computer science courses in other areas. One of the comments suggests “you find that you get that training [computer science] in other programs as well. Every degree will offer their version of computer science classes.” Maybe this is true and it would be nice if computer science permeated all other degrees; however, I find that hard to believe if budget cuts are the main reason to cut Computer Science Majors.
I am just saddened and concerned as I will not be writing any more letters of recomendation for my students to attend UC. I will continue to fight for my K-12 program and continue to fight the battle to promote CS Education. I just hope more colleges do not follow suit.
To read the full article and to comment on it, you can go to:
http://news.cincinnati.com/article/20110214/NEWS0102/102150310/1196/UC-drop-computer-science-major?odyssey=nav|head
Stephanie Hoeppner
CSTA member & Ohio Cohort Leader

Election Data and Socially Relevant Computing

There is a fair bit of discussion these days about “socially relevant computing” and how connecting computing to current issues might make it more interesting to our students. I have been involved in a project with the League of Women Voters of SC to look at the election data and reconcile the official counts with the counts that are supported by the data collected and stored by the election commission.
We have obtained under the Freedom of Information Act the actual vote image files from several counties, including my own (Note: I think there are some states where this is actually illegal!). We have, as we expected, found some errors, and I am assigning some programs to my second semester students to have them write the code that would find the same errors. The vote image file is an ASCII printer file, so it’s a good exercise in string manipulation just to convert the text strings into usable data. There is also some amusement value that can come from looking at the write-in votes. I am assigning to my students, for example, the question of which duck (Daffy or Donald) got more votes in Richland County last November. (Note: Some of the write-in votes will use NotSafeForWork words. In a college classroom I don’t find this a problem, but you would have to be prepared for this in high school situations.)
I also excerpted three precincts, including my own (although I don’t know that I can recognize my own vote because I don’t know that I remember who got my vote for Soil and Water Commissioner). It turns out to be a really cool use of the Java TreeMap to count votes in one pass. We don’t, for example, have a list of all the candidates and contests—we build that from the data. Rather than put the votes in a spreadsheet and then either sort several times or make several passes, we can use contest and candidate as the key value for a TreeMap. The first time we pull up the value associated to the key, it’s null, and we store the first vote. The rest of the time we add in the vote and store the (key, value) pair back. This lets us count all the votes in one pass over the data and is a good lesson on the value of the right data structure. It’s a good problem of handling variable sized tables inside the data and data that isn’t sorted to begin with. I will get maybe three homework programs out of this as we build to a program that will in fact count all the votes from the data file.
And there is a good message here. I have given the students the data from my own precinct, where the counts are correct. When we get to the assignment that will have them count votes, I will have them cross-check against the official totals on the state website. In the other two precincts there were 1127 total votes that didn’t get included in the certified count for November 2. They may hear about it from press releases (or this blog!) but I don’t intend to tell the students this little item before the assignment is made. I suspect there will be a lesson, when we get to this assignment, about “socially relevant computing”, when they find more votes than got counted. And it will be a nice message to the media that second semester undergraduates are fully capable of writing code that would find problems in the vote counts for the November election.
Note: Donald Duck received the most votes.
Duncan Buell
CSTA Board of Directors

What Do You Need to Know About Computational Thinking?

The theme of the May CSTA Voice is “Computational Thinking.” As I thought about what to include in this upcoming issue and reviewed some of the past CT work by people such as Jeannette Wing and Joan Peckham, as well Valerie Barr who leads the CSTA Computational Thinking Task Force, I realized that a lot has changed in the past four years during which I have been thinking about CT.
There are new analogies for trying to conceptualize CT, new reasons for its value, new strategies for including CT into course curriculum, and new ideas for engaging the teachers of other disciplines in our schools in the task of including CT in their classroom activities. A lot of attention is now being paid to CT in universities and professional computer science organizations. I don’t think CT is going away and I think as CS & IT professionals we ought to be informed to a level that we can talk about CT with our peers and make sound decisions about why and how to include CT strategies in our teaching strategies.
The missing piece in my plan for the May CSTA Voice is:
What do you, CSTA members, need and want to know about CT that will enable you to better prepare your students for the intellectual realities of their lives, and to help your colleagues better understand (and ultimately incorporate) CT into their classroom lessons across diverse subject areas.
Do you have questions about CT that I can call upon experts to help answer?
Are you curious about how CT will impact CS & IT courses?
Is CT a new topic for you and do you need a basic CT lesson?
Have colleagues asked you about CT and do you need essential details that you can share to help them better understand the concept?
What do you want to learn about in the May issue of the CSTA Voice?
Please let me know. Let me see what I can find to help us better understand computational thinking.
Pat Phillips
Editor, CSTA Voice

What Do You Want and How Can We Help?

Recently, I was forwarded an email from one of our CSTA members asking for some help finding curriculum resources for teaching computer science in the classroom. It was refreshing and satisfying to be able to answer this teacher’s email. Hopefully there will be some information in that email that will be of use to this teacher.
As the chairperson for the membership committee, I wish I received more emails of this type. What is it that our members want from CSTA? What curriculum resources are there that you need help identifying? I understand that we all would like more money for our programs, but there are great free resources that many of us use and are able to pass on to others.
Every two years, CSTA conducts a survey of its members to determine the importance of our current benefits, but sometimes just a person asking for help can be a better way of determining needs than a survey.
I encourage our members to use this blog as a way to ask for help.
What kind of resources are you looking for?
How can CSTA help you out?
Let us know!
Dave Burkhart
CSTA Membership Chairperson

CS and Science Fairs

“We need to teach our kids that it’s not just the winner of the Super Bowl who deserves to be celebrated, but the winner of the science fair and that success is not a function of fame or PR, but of hard work and discipline.” President Obama
Science fairs are not what they are stereotypically portrayed on television as: building volcanoes and such. Those are things are demonstrations. Science fairs are about the scientific method and student research. What a lot of people don’t quite realize is that it is also the “engineering method.” The term “science fair” is just a shorthand way of saying “science and engineering fair.” These days, engineering is its own category. Often it is broken up into several types of engineering. In most science fairs, whether they are local, state, or international (the US doesn’t have a national science fair, but we host the international one) you will find one to several engineering categories AND a computer science category.
Some would argue that engineering and computer science don’t often follow the standard definition of the scientific method. The reality is, however, that students working on projects in these categories design, create, test, and deploy a finished product. CS projects often deal with creating a new software application, creating new algorithms, making algorithms more efficient, or developing computing devices. They cover the gamut of CS and computer engineering.
Participating in a science fair is a great way for students to explore a computer concept or to create a software solution to a computer or user problem for the real world. It allows the student to go through the software development life cycle for a problem that they are addressing. It is no longer a programming assignment or Lab 4.5. Rather, it is applying the CS concepts we teach to a real problem that they identified. What better way to drive home the idea that CS has real world value and relevance?
For many cities and states, science fair “season” is upon us. So, it might be too late for your students to apply to this year’s fair. But find out when and where the closest science fair is to you and stop by and visit it. Better yet, plan a field trip to it and bring your students!
There is nothing more powerful than students seeing the work that other students are doing to make them see that they can do it too. The Intel International Science and Engineering Fair (http://www.societyforscience.org/isef) has a list of affiliated fairs. Affiliated fairs can be local (city, regional, county, etc.) or state level.
Shirley Miranda
CSTA Board of Directors

A New Direction for CS

This past Tuesday I had the privilege of attending a presentation titled Developing a New National Course in Computer Science presented by Dr. Owen Astrachan of Duke University. The presentation was sponsored by the RISE Network (Promoting Research and Instruction in STEM Education) at the University of North Carolina in Greensboro. The presentation was not only informative, but was enjoyable as well.
I had arrived a few minutes early and took the opportunity to notice the audience as they filed into the lecture room. There were a few folks in my generation, a few somewhat younger, and many who were obviously students (perhaps they received extra credit points for attending). I was delighted to see so many young people attend, but disheartened that only 4 or 5 of the students were female. There was good ethnic diversity at the meeting, so that was encouraging.
Dr. Stephen Tate of UNC-G introduced the speaker and spoke of the several critical issues that we face in Computer Science (including underrepresentation of females in the discipline). Dr. Astrachan then gave a brief background of the (AP) CS Principles course initiative and the process. He then presented the seven Big Ideas for the proposed course:
1. Computing is a creative human activity that engenders innovation and promotes exploration.
2. Abstraction reduces information and detail to focus on concepts relevant to understanding and solving problems.
3. Data and information facilitate the creation of knowledge.
4. Algorithms are tools for developing and expressing solutions to computational problems.
5. Programming is a creative process that produces computational artifacts.
6. Digital devices, systems, and the networks that interconnect them enable and foster computational approaches to solving problems.
7. Computing enables innovation in other fields including mathematics, science, social science, humanities, arts, medicine, engineering, and business.
Dr. Astrachan proceeded to discuss the indicators that would expand each Big Idea, which led to interesting discussions among the group. One must note that the entire course is not programming, though programming is part of the course. Several intriguing examples of content that could be covered in the proposed course sparked student interest. So much so, that one young man raised his hand and asked what the students could do to help with the current state of CS Education. Another spoke up and asked if a mathematics teacher could teach a course of this sort. Again interesting conversation followed.
I was most heartened to see that at least some of the students considered teaching high school CS (problematic in our state, since we have no CS Teaching License). Maybe they liked all the great visual demonstrations that we viewed. Maybe they were inspired by Dr. Astrachan’s story about how high school students may come back to thank an awesome teacher for help or inspiration given. Maybe they just love the discipline. We can hope. Maybe this will be the spark that ignites CS education in our schools. Maybe we will see more females in the CS discipline. In any case, this is a new direction and a welcome one.
More information about the proposed (AP) CS Principles course can be found by following this link:
http://csprinciples.org/
A simple Google search on “CS Principles” produces several blogs that address the proposed course, including this one:
http://www.apluscompsci.com/blog/?p=404.
Deborah Seehorn
CSTA Board of Directors