Programming Dojo

By Samuel Williams
Moderator’s Note: This blog post was written by a university student in New Zealand who is very interested in teacher feedback on a new programming teaching tool he has created. If you are interested in trying something new, give it a try and post a comment to let him know what you think.
At its core, Computer Science is the study of programming languages, algorithms and data structures. Learning a programming language allows one to grapple with these ideas and bring them to life. However, it can be a barrier too: a difficult language can be discouraging and hinder progress. Choosing a suitable language for students is important, and there are many factors to consider.
In addition to learning a single programming language, exposure to a variety of different programming languages increases awareness of not only what is available, but also the different approaches one can take to solve various kinds of problems.
To this end, I have produced an online resource called the Programming Dojo.
This website has been designed with both teachers and students in mind and includes informative summaries on a wide variety of popular programming languages. Each summary includes a brief description, example source code, and links to highly relevant external resources for learning about the language.
I have also included several resources primarily for teachers: a set of posters and a programming language comparison. The programming language posters are designed to be used in the classroom and each feature a particular programming language. There are several suggested methods for using posters discussed on the site. The programming language comparison, while inevitably a little subjective, tries to provide a balanced assessment of programming languages in an educational context. The comparison has been reviewed and incorporates fairly extensive critical feedback.
The Programming Dojo is still under development and feedback from Teachers would be highly appreciated: Is this a useful resource? Are there areas which could be improved? Are there other other resources you would like to see included?
The word Dojo is actually pronounced Dou-Jyou, and is a Japanese word that can most easily be translated as: “Dou” meaning pathway, and “Jyou” meaning place, so Programming Dojo is the place where one can start on the pathway of programming.
Samuel Williams
Samuel Williams is a master’s candidate in Computer Science at Canterbury University, New Zealand. The “Programming Dojo” was developed as project work for a course on Computer Science Education run by Tim Bell and Lynn Lambert. Samuel Williams is an enthusiastic free software advocate and computer programmer, and enjoys hiking in the mountains.

CS CAREER PROJECTIONS

By Dave Reed
We all hear the stories about how the CS job market has turned around (if it ever really was on a downward slope). But, when talking to students or their parents about what a great career option computer science is, it’s best to have some hard data.
Joel Adams at Calvin College has pulled together some stats and projections from the U.S. Bureau of Labor Statistics, the CRA, and U.S. News & World Report that are quite compelling. In particular, there is a nice bar graph that shows the shortage of CS grads relative to new jobs created, and compares that shortage with other science disciplines. Check it out at
http://cs.calvin.edu/p/ComputingCareersMarket
Dave Reed
CSTA Board of Director

The 10 Worst Practices in ICT Education

By Margot Phillipps
Excuse me if you have already found this gem, but I was sent this link and immediately formed a strong view that I’d like to meet Michael Trucano:
http://blogs.worldbank.org/edutech/worst-practice.
Michael is a Senior ICT and Education Specialist at the World Bank. Working for the World Bank, he clearly travels and sees the same mistakes being repeated around the world.
I had to refrain from prostrating myself on the floor of ACM HQ when I visited last year, as I am so over awed by their foresight in writing the ACM Model Curriculum for K-12 Computer Science Education and assisting CSTA in its formation. So it is no surprise that I’d at least like to shake the hand of this gentleman!
The first mistake he notes is “Dump hardware in schools, hope for magic to happen”. This is still a mindset. In New Zealand, schools are probably past the dumping of hardware in schools phase. We are now in the dumping in schools of ultra-fast broadband. We suffer from relatively slow internet speeds and there is a project to bring ultra-fast broadband to every school gate.
But mistake number 9 is “Don’t train your teachers (nor your school headmasters, for that matter)”. And without training and adequate PD, and the principal’s really understanding the importance of that PD, new hardware or new bandwidth will achieve little.
And of course, related to this is number 5 “Don’t monitor, don’t evaluate”. With the best of intentions amounts of money does get offered to schools for ICT Professional Development (PD) projects or put into centralised PD project. What school wouldn’t hold up its hand for some relatively un-monitored money. But it is possibly money wasted as “credible, rigorous impact evaluation studies” are not done.
And my other favourite was Number 8 “Assume away Equity issues”. There is an argument that computers can level out those equity issues but as Michael notes “they don’t happen without careful proactive attention to this issue.”
He left number 10 free. Mine would be “Place people from other disciplines in charge of your discipline”. I wouldn’t assume I could manage the Social Science curriculum of a school or school district or state or country, because my background is in ICT. So do our subject the honour of having people who understand the subject drive it.
What would you make your number 10?
Margot Phillipps
CSTA International Director

The 2010 CSTA Elections

By Steve Cooper
For the first time, CSTA used on-line voting for determining its representatives to the Board of Directors. I’d first like to start by congratulating the winners of the contested elections:
Duncan Buell: University Representative
Myra Deister: At-large Representative
Deborah Seehorn: State Department Representative
But the main point of this blog post is to discuss my experiences with the process of on-line voting.
The process used was to send the membership a SurveyMonkey URL where they could go to vote. The URL was “public” in that anyone could go to that URL to vote. The voting occurred over a specified period of time, and at the end of that time, the survey was closed. To vote, an individual was asked for their name and e-mail address. The ballot form contained a significant amount of information provided by each candidate and radio buttons which the voter could use to cast her or his vote for the candidate in each position.
At the end of the election, the list of voters was reviewed. The database of all of the ballots (stripped of voting information) was checked to identify duplicates by name, email address, and ip address. Each ballot was then individually checked again against the CSTA membership database (by both name and email address) to make sure that the ballot was cast by a member in good standing. For individuals who had voted more than once, their last (in terms of a time stamp) non-blank ballot was counted. Non-members’ votes were discarded. (We did identify several cases where a member attempted to vote twice. And, there were several votes from non-members.) We then sent each member who voted an email asking them to let us know if they did not actually vote. A few members emailed us to indicate that they had not voted but when they were given the ip address and timestamp for their vote, they realized they were mistaken and that they had, in fact submitted the ballot. Only one member indicated that he/she had not cast a ballot and that ballot was removed.
There were a lot of positive aspects about the on-line elections. CSTA saved money by not needing to mail out position statements and ballots. We could ask the candidates to respond to several questions, and could make those responses available to the membership. It was also much easier to tally the votes.
In all, I believe that the voting process was fair. (I welcome criticism from those who believe the process we followed was not fair.) I was not 100% happy with the process, as a lot of work was required to check the ballots and contact all of the members who had voted to confirm that they did, in fact, vote. The filtering out of the invalid ballots turned out to be reasonably straightforward to accomplish, but a simpler solution would be desirable. Next year, we may try an alternate solution (ideally one that is free or nearly free). I welcome suggestions about alternative solutions to try. But do keep in mind that any solution must ensure the anonymity of votes. As elections chair, I do not want to know how any particular member voted.
Steve Cooper
Elections Chair

Assessment

By Joanna Goode
Thanks to the hard work of the ACM Education Policy Committee and other organizations working to strengthen national policy support for computer science, there have been many important policy victories for computing education at the federal level. Issues of teacher certification, professional development, and curriculum have been highlighted as major topics which need to be addressed and strengthened.
As a community, I think we also need to start thinking hard about assessment. How can we measure student learning in a computer science classroom? How can we quantify what students know and can do? This is a challenge for a variety of reasons:
* Grant agencies and local educational agencies often want to see test score improvements to rationalize the existence of computing courses. So far, they often suggest looking at whether standardized test scores in math and/or science increase as a result of taking a computing course. To me, this seems to be measuring the wrong content knowledge. We don’t assess geography knowledge by seeing how literacy scores raise, right?
* Traditionally, computer science courses rely on one programming language and assess learning through the writing of programs. But, as we move away from a programming-centric version of computer science towards a more comprehensive model, how do we assess the rich breadth of the field without relying on writing programs in a particular language?
* There has also been an emphasis on the creativity of computing. How do we measure creativity in computing on a standardized test in which there is typically only one “correct” answer?
In thinking about this problem, I have come up with two different approaches to solving our assessment problem in computer science education. First, I think that much like art, a portfolio approach might be a good measure to show students’ breadth of knowledge about computing, while also highlighting the creative solutions that we want students to derive as part of their learning. Second, I think we might want to develop some test-type items that are aligned with the items offered on the NAEP tests, which currently assess student learning in a variety of other subjects (arts, civics, economics, geography, mathematics, reading, science, US history, and writing). These could be given to students as pre-tests and post-tests when they enroll in computer science courses, to demonstrate whether or not they are developing computing knowledge and skills as a result of the course.
What other ideas do CSTA members have about assessment?
How do you assess learning in your class?
Joanna Goode
CSTA Board of Directors

What is Computer Science: Undergrad Perspective for High School Students

By Mindy Hart
I get the pleasure of teaching a service-learning based course at the university each semester. Within this course, undergraduate students are trained to conduct educational programs that fit the mission of our outreach program. And sometimes, for fun, I like to make them do work! One of the hardest questions we answer when working with the K-12 students is What is Computer Science? So as a final assignment this semester, I thought I’d ask my service-learning students to answer that question. Here is what they had to say.
Computer Science is
* A broad topic
* A challenge
* A deterrent to your social skills.
* A field where everyone can find a place
* A field with a 50+ year history
* A multinational multicultural field
* A team effort
* A very open environment where students cooperate and professors are integrated into their classes
* A way to change the world
* A way to innovate the way people operate in their daily lives
* About understanding
* Awesome
* Challenging
* Communicating effectively
* Creating the next generation of software
* Embracing new technologies
* Engineering
* Frustrating
* Fun
* Hard to teach correctly
* Helping the global community become integrated with technology
* Here in the USA as well as worldwide
* Innovative
* Logical thinking
* Magical
* Mathematical
* Misunderstood
* Multi-disciplinary
* Needed in many professions
* Problem-solving
* Programming
* Really tedious
* Research
* Respectable
* Rewarding
* Rife with social events to help with networking for future careers
* Somewhere to learn very diverse fields
* Still a young field
* Teamwork (collaboration of a diverse group of people)
* Useful for every branch of science
* Well-paying
* Whatever you make it (to an extent)
* Worthwhile
So what else would you add to the list?
I think this is actually one of the hardest questions for us to answer, but is imperative for creating an identity for computer science. I think our tendency is to offer non-examples such as “it isn’t just programming” or “it’s not just sitting in a cubicle.” And while these non-examples are helpful for delimiting ideas, it still does not give us a concrete idea of what it is. However, maybe we do not need a concrete idea of what it is because I think there is a reason for that (and it is stated in the next to last point in the list above) computer science is whatever you make it. It is important to note that it does involve aspects such as teamwork and problem-solving, but the more important message to send out about computer science is that it can encompass multiple interests and there is an element of computer science in many more disciplines than ever imaginable.
So, what is computer science to you?
Mindy Hart
CSTA Board of Directors

What’s Different About Boys’ and Girls’ Interest in Computing?

By Dan Lewis
Today’s college-bound students have grown up immersed in the technology of computing, and what interests them is no longer the same as what attracted previous generations to computing. For them, computers have become an appliance and the Web is their new communication medium. So why should we expect that learning how to put hello world on the screen would motivate students who are used to computer games and Web pages filled with images, animations and other forms of multimedia?
University computer curricula are changing in response, but most still fail to attract girls to the discipline. A recent WGBH/ACM report found that instead of being intrigued by how computers work, today’s students (especially the girls) are much more interested in “social interaction” and “making a difference in peoples’ lives”.
Fig. 1 - Student Interests.jpg
At a recent Preview Day, the Computer Engineering Department at Santa Clara University surveyed students who had been admitted for the fall of 2010 regarding their interests in computing. The results in Figure 1 highlight several key differences between the male and female students who attended the event. As anticipated, robotics, game design and computer hardware design were of greater interest to males, while females were more concerned with how computing can be used to benefit society. But what was not expected was how significant a factor gender is relative to interest in how the Web works and in the use of computers in graphic arts.
Fig. 2 - Applications.jpg
These differences are also reflected in our admission statistics. Last fall the department introduced a new degree program in Web Design and Engineering that combines the Web technologies of content creation and content delivery with Web-related courses from the fields of graphic arts, communication, sociology and applied ethics. As shown in Figure 2, this interdisciplinary approach has attracted a significantly greater percentage of women who (to our delight) also happen to have the highest SAT scores and high school grade point averages of all students who will join the department this coming fall.
Reference:
New Image for Computing, WGBH Educational Foundation and the Association for Computing Machinery, April 2009. See http://www.acm.org/membership/NIC.pdf.
Dan Lewis
Santa Clara University

South Africa

By Joanna Goode
I recently had the opportunity to travel to South Africa to talk with teachers and computer science education faculty about the computing curriculum in South African and the United States. They are concerned with low numbers of high school students pursuing computer science, the lack of gender and racial diversity amongst computer science students, the lack of regular support for professional development, and the programming-centric nature of the national curriculum.
At a colloquium for IT teachers and national policymakers, a discussion arose about how to make computer science more relevant for 21st century students. Many of the teachers felt that a three-year sequence of programming languages did not tap into students’ interests, but the national policymakers argued that folks could adapt the standards in ways that made the curriculum more interesting and simultaneously maintain the required curricular standards.
It became clear that teachers needed more regular professional development and support to be able to engage in this innovative teaching, but apparently, the national curriculum designers and the national professional development designers work in different offices and do not collaborate. This was a frustrating realization for the teachers.
As we work on computer science policy at the local, state, and national level in the United States, it is more clear to me than ever that we must continue to couple curriculum reform and professional development opportunities to improve computer science education.
Joanna Goode
CSTA Equity Chair

NJ Students Protest Budget Cuts

By Fran Trees
On April 20, 2010, the school budget in my township was PASSED. In an average year, approximately 70% of school budgets in NJ are approved. On April 20, 2010, close to 60% of the school budgets in NJ were defeated.
Politics probably contributed to the defeat of the majority of school budgets, but this degree of defeat has not occurred since 1976. The new governor of New Jersey recently proposed mass cuts in state education funding, freezing aid promised to districts this year and cutting $820 million for fiscal 2011.
Today, April 27, thousands of high school students across New Jersey walked out of classes to protest education funding cuts proposed by the governor. The protests were initiated by an 18-year-old college student who set up a Facebook event page about a month ago encouraging the walkouts. This event page has over 16,000 members.
Many students fear the loss of teachers, extracurricular activities, and special programs. In most areas of NJ, computer science is a special program. Will these budget cuts affect computer science education in NJ?
We, CSTA, strive to improve education in our schools. We seek to educate our constituencies about the importance of computing disciplines in our curriculum. We dream of a national K-12 computing curriculum in our schools. These cuts affect our progress.
What suggestions do you have for the NJ folks? How do we continue to move forward?
Resources:
http://www.nj.com/news/index.ssf/2010/04/thousands_of_students_expected.html
http://www.myfoxphilly.com/dpp/news/local_news/nj-governor-and-njea-react-to-student-walkout
http://www.njea.org/page.aspx?a=4145

http://blog.nj.com/njv_guest_blog/2010/03/gov_chris_christies_school_cut.html
http://blog.nj.com/njv_publicblog/2010/03/an_open_letter_to_governor_chr.html
http://www.goodporkbadpork.com/2010/03/teachers-open-letter-to-governor-chris-christie/
NOTE: The New Jersey Education Association did state that they do not support or condone students walking out of school.
Fran Trees
CSTA Chapter Liaison

Dealing with Plagiarism

Karen Lang
Plagiarism has turned out to be a major problem this year in my Computer Science class. I have had five separate situations where I caught students handing in copied code. I seem to be the only teacher in our building (there are only seven of us) that had any issues with plagiarism this year. I wondered, “Why me?” Is it that my course is so difficult that students must turn to copying? Is it that I read my students’ code so closely that I am able to catch these duplicates?
Carolyn Duffy Marsan, in her article in NetworkWorld contends that students in CS don’t necessarily plagiarize more. It is just that CS teachers are able to catch them due to access to automated tools. I didn’t use any software. I just used good old detective work. It wasn’t too tough to catch, frankly. One student’s use of odd variable names or a unique indentation of code, when replicated, jumped off the screen with a big red flag.
All copying occurred between students, not from online resources. I encourage collaboration between groups so students are allowed to ask other students for help. However, I draw the line with transferring of files. Students try to wiggle out of the infraction on that technicality, stating that they sat next to each other and programmed together, or one showed the other what he/she had done, while the other sat and typed.
I could use the approach that Georgia Tech uses, according to the article. They allow students to copy, in order to encourage collaboration, as long as the students can demonstrate their understanding of the code. Assessments count for more than homework assignments.
Plagiarism is a problem in this day and age of information at your fingertips. Technology makes it very easy to copy and call it your own. Students have such a cavalier attitude about copying and using music, video, and software without paying for it. Is that different than handing in an assignment for a grade, without working for it?
I experience disappointment and anger when plagiarism situations arise. And I am not naive enough to think that I found every copied piece of work this year. I look on the ones I do find as a teachable moment and see it as a good early warning to students before they get to college and beyond where it can have much large consequences.
Do you have plagiarism issues in your classroom?
How do you handle it? What do you do to prevent it?
Karen Lang
CSTA Board of Directors