Do Contests Promote Computer Science?

By Karen Lang
I am just coming off the spring local programming contest circuit, as many of the nearby universities held their contest during their spring break. Unfortunately, that meant that two of these contests also fell during our spring break.
I put it out there to my students, asking if anyone was interested in spending a day or two of break at a programming contest? Surprisingly, I got two teams together and even had to turn down students. It’s usually not too hard to convince students to give up a day of classes to go to a contest, but to have students give up their vacation day(s) really impressed me.
I sometimes wonder about the benefits of these contests. Some would argue that the contests don’t reflect real-life situations. Out in the real world, programmers would not be sitting in a crowded computer lab, four to a single computer, racing to find a solution to ten random problems, meeting a three hour deadline. They would not be limited to hard-copy resources.
When I asked my students why they gave up their day off, they said simply, “because this is fun”. They enjoy the challenge of solving hard problems quickly under time pressure and in a team situation. They get an opportunity to visit a college where they see professors and college students enthused about computer science. They become part of a group of people enjoying their geekiness for a day. They meet other students who love programming as much as they do.
Do contests help to promote Computer Science as a discipline? It does get the attention of the other students, especially if the team does well. But, I often take my better students, the ones who will be able to do well in the contest. It is not really an opportunity for students curious about the subject to see what it is like. It is more of an opportunity for students who have an interest to get confirmation. Yes, CS is fun and there are plenty of others who feel the same.
What do you think? Are you pro/con for contests and why?
Karen Lang
CSTA Board Member

What Employers Want

By Duncan Buell
I write this having just finished grading another set of programs. (Or is it that I am more or less always grading sets of programs, so that no matter when I blog I have always just finished grading?)
An employer survey has just been released by Hart Research Associates about what it is that employers want in their new employees. First of all, more education is desired. High school graduates, holders of associate degrees, and holders of bachelor’s degrees will be de-emphasized in that order and emphasized in the opposite order. The larger the company, the more there is an emphasis on hiring people with at least a bachelor’s degree.
Another conclusion from this survey is that employers want more than just specific knowledge of a skill set; 59% want new employees to be broadly educated.
But perhaps most notable are the top six desiderata (listed in order):
* the ability to communicate effectively;
* critical thinking and analytical reasoning skills;
* the ability to apply knowledge to real-world settings;
* the ability to analyze and solve complex problems;
* the ability to connect choices and actions to ethical decisions;
* teamwork and collaboration skills.
These dovetail almost perfectly with what students ought to be learning from a course in problem solving, algorithmic design, and programming. Certainly, there is nothing so unforgiving of fuzzy thinking than a compiler. We joke about DWIM (do what I mean) programming, but we know it’s a joke, and that the real test of whether a problem has been carefully analyzed is whether one can lay out a program to solve it. And unlike problems in pure mathematics, problems in computing usually come from real-world problems, and real-world problems don’t usually have the fixed set of rules of a mathematics problem. A use-case analysis, for example, is really just an analysis of what might be the best set of rules to apply in the current situation.
Clearly, then, our (good) students should be nailing three of the top six. I would argue that communication and teamwork come just as naturally. A program does “something”, and it doesn’t do “something else” (because it wasn’t written to do that), and it accomplishes the “something” purpose in an operational way by doing specific things. If a student can write that down clearly, and if a student can explain it to the others on the team, then it is not only known to the student but becomes part of the general knowledge that is usable by others.
This brings us to the last of the six topic choices, the one about ethical decisions. When we created our university course in professional issues, I commented to the chair of the philosophy department that the ethics part would be easy to teach. He shot back that ethics was in fact hard to teach. I had to explain that it was not that the ethics per se would be easy, but that in computing perhaps more than any other field, the examples of ethics issues jump off the pages of the newspaper (ok, off the screen of the Kindle), and they are issues that students in fact do care about. Internet censorship, file sharing, intellectual property, data privacy–all this comes to us as case studies on a daily basis, and we can analyze the choices that could be made or could have been made against the choices that were made.
Oh, and what about the “broadly educated” part? Well, Bjarne Stroustrup of C++ fame has just written in CACM his opinion that computer science students need to be urged or required to get some second area in depth. Computing can be done anywhere in any area, and a CS student ought to be learning something else besides the purely technical.
It seems to me, then, that it is easy to make the case for computer science. All the analytical thinking can be learned by trying to solve problems, and there’s no wiggle room in the end game if what has to be created is a computer program. The communication and teamwork skills come from and augment the analytical thinking and the need to explain to others what is done by this invisible thing that is a program. And the ethics questions are everywhere, because software is everywhere.
Duncan Buell
CSTA Board of Directors

Marketing Computer Science Courses

By Margot Phillipps
I joked as I left work on Friday that it was “my day of shame”. I am responsible for recruiting students for a government-funded course that offers MCSE (Microsoft Certified Systems Engineer) and MCITP (Microsoft Certified IT Professional). The course was scheduled to start March 8 but it has been postponed because we don’t have the minimum number of students.
This is a “heavy duty” course with eight months of real full time study. It is not like a university course where you can just show up for the odd lecture. But anyone who contacts us interested in the course is prepared for the work and realizes the benefit of gaining an internationally recognized certification.
So why did we not get the enrollment we expected for this course? I think that, just as is the case with my programming and database class in high school, we assumed that we did not have to market the course to students. We know that what we’re offering is useful, valid, challenging, interesting, so we assume that the students will too. And of course that’s not the case.
As a Maths teacher, I envied the state of the more established subjects. These teachers do not have to “sell” their subjects. And like most teachers, I am trained to teach, not to sell. So, at the end of the day, most of us rely on our own enthusiasm to do our marketing for us. And these days that just isn’t enough.
As for my current dilemma…well, I need more than enthusiasm. Maybe what I need is a marketing budget!
So what do you do to “sell” your courses?
Margot Phillipps
CSTA International Director

Using a Sports Coaching Model to Support Informal Education

By Chris Stephenson
As a professional community, we need better idea of how many computer science teachers are also involved in informal education. I have a sense that there are many of you doing this work with no funding and even less recognition, and we need to change this.
Recently, CSTA sent out an email asking teachers to complete a survey put together by our friend Holly Yanko at the University of Massachusetts, Lowell to help us get a better handle on this. Even once we have this information, we will need to do something to fundamentally change the paradigm we’ve been working under.
Many years ago when one of my friends was looking for her first teaching job, every school that interviewed her asked her the same first question:
“What sport do you coach?”
The possible negative conclusion you could draw from this question is that schools often value sports coaching above teacher qualifications. The more positive spin is that schools believe that extra-curricular activities provide highly valuable learning experience for students.
And if this is true, shouldn’t academic coaching be valued just as much as, if not more than, athletic coaching?
This was exactly the wavelength that Terrel Smith and Don Domes (of the Oregon CSTA chapter) were on when they thought up the eChamp grant program.
Engineering CoacHing And Mentoring Program (eCHAMP) uses a model analogous to high school athletics. Teachers receive stipends in return for serving as coaches of engineering teams. These engineering teams attend a regional or statewide competition to share their results and compete for awards, and benefit from the learning, inspiration, teamwork, scholarships, and rewards that competitive activities provide.
The eCHAMP coaching initiative was successfully piloted during the 2008-2009 school year in five Oregon school districts and leaders are excited to expand the program to more districts. The grants pay half the stipend cost for teachers to serve as engineering coaches as well as costs for first-year materials and equipment to start new programs. There are numerous team programs already in place for schools to adopt, including FIRST LEGO League, FIRST Tech Challenge, FIRST Robotics Competition, Lemelson-MIT InvenTeams, and Oregon Game Project Challenge.
Several schools in Oregon have now received funding under this grant program and the teachers note that this eCHAMP is placing robotics team students on the same platform as other varsity athletes, changing perceptions about what a team sport can look like, and most importantly, retaining the coaches who make it all happen.
I know that it may be unrealistic to expect that academic coaching will ever be as well-supported as sports coaching, but these folks in Oregon have developed a really good model that makes a start at providing much needed support.
Chris Stephenson
CSTA Executive Director
With thanks to Ron Tenison for reminding me about eCHAMP!

Lessons on Active Learning

By Barb Ericson
On 2/18/2010 I went to a talk on getting students involved in classes even if there are 200 of them in the class. It was about active learning, and not surprisingly it used active learning during the talk. I really enjoyed the talk and learned some things from it.
* Students will listen best after the first 5 minutes of class and up to about 10-15 minutes tops. They are busy getting settled for the first 5 minutes do they don’t pay much attention then. After 10-15 minutes, you will lose most people’s attention during a lecture.
* You can re-engage the students by making them think at least every 15 minutes. You can do this is a variety of ways. One way is to ask the students what the next step is in what you are doing if you are demonstrating something. You can also give them a handout that has questions that they have to answer. You can ask one person to explain to the person next to them what you just said. You can ask the students to think about a problem and talk about it with the person next to them.
* You also need them to believe that they may be called on to report what they think. Don’t just ask for volunteers. Pick at least 3-4 students to report and then you can also take volunteers. Pick different students each time.
I have had to lecture to 300 students at a time and it is hard to keep them awake. Some of the things that I figured out on my own are:
* Don’t stay up on the stage (or front of the classroom). Wander around. People have to look at you when you get close to them.
* Don’t ask if there are any questions. There are, but nobody wants to admit that they have questions. If I can, I walk around the room when I have assigned a project and ask how things are going. Then I get lots of questions.
* Repeat things. When I show how to do something I undo it and show it again. This is especially important if I have people following along.
When I lecture, I try to keep the lecture part very short (10-15 minutes tops). Then I always have an assignment that incorporates what I just talked about.
I am currently helping in an AP CS A class and I do very few lectures. I give the power point slides that I normally use in a lecture to the students to read and then mostly assign active work in class. I am doing things this way in part because I can’t be at the class everyday (I help on Monday and Friday and usually also on Wednesday) so I can’t lecture as often I would. It is also partly because the projector doesn’t work very well and students wouldn’t be able to see what I am doing. I the ask the students to apply what they should have learned from the powerpoint slides (and book).
This approach seems to be working very well for the top and middle students in the class. But, we have a group of students who are way behind. Some of them are trying, but are just moving much more slowly than the rest of the class. Some students, however, simply don’t try and do very little of the work.
I once had to give a lecture that I prepared powerpoint slides for and the projector didn’t work. So, I consulted my slides, but mostly just talked and wrote on the board. Students afterward told me that it was a great lecture. So, I am trying to reduce the amount that I actually use powerpoint slides. You can just give out handouts with complex drawings on them or just use a few slides.
What have you learned from what you have tried in your classrooms?
Barb Ericson
Georgia Tech
The url for the class I am helping with is http://coweb.cc.gatech.edu/ice-gt/1043

Analogies in the Classroom

By Dave Reed
I don’t know about you, but when I teach I am constantly using analogies to relate computing concepts to real-world experiences the students are familiar with. Some of these are pretty standard and well known among CS teachers.
For example, when I want to make the distinction between classes and objects, I relate the class to a blueprint for a house and objects as particular houses built using that blueprint. Similarly, I relate a class variable to a safety deposit box that all instances of the class have a key to.
Sometimes my analogies border on the bizarre. For example, in my programming languages class this week I compared different memory management schemes to squeezing toothpaste out of a tube. Most people just squeeze the tube in the middle. This is analogous to a garbage collection approach: it is fast and usually produces toothpaste, but occasionally you use up the paste near the top and have to take the time to flatten it out (i.e., perform garbage collection). For the brand of toothpaste I use, there are instructions on the tube (yes, an algorithm for dispensing toothpaste) that tell you to squeeze from the bottom and roll up the tube as you go. This is analogous to a reference count approach: it takes a little longer, but it ensures that toothpaste will come out as long as any is left in the tube.
What analogies do you use when you teach? Which ones work particularly well? Which ones sounded good in theory but flopped in practice? Inquiring minds want to know.
Dave Reed
CSTA Board of Directors

20% and Open Doors

By Ron Martorelli
I recently read Ken Auletta’s book Googled, about the creation and rise of Google. I read it as both a techno-geek and as an educator. There were two particular things about Google that I contemplated as an educator.
Among the more interesting tidbits I learned about how Google works was how they encourage their engineers to spend twenty percent of their time exploring ideas they find interesting and ideas they are passionate about. Many of the more innovative Google ideas, products, and initiatives have sprung from this allocated “free” time, which is encouraged further in meetings set aside where these engineers can discuss their ideas openly to benefit from brainstorming session with other engineers, as well as programs that mentor and team up engineers for further their ideas.
Interestingly, Auletta gives credit to the founders of Google for borrowing this idea from Stanford University, which both Sergey Brin and Larry Page attended, and at which their initial ideas for Google were formed and tested.
Contrast this time to develop ideas and creativity to the typical day of a K-12 teacher. If you consider a typical day as a series of forty-minute sessions or periods, a K-12 teacher will probably have one “prep” period, one lunch period, and one supervision period. So, in a seven hour school day, this teacher would have zero time to explore new technologies, teaching ideas, develop creative lesson plans, etc., unless one counts day dreaming at lunch as creative time. Yes, there is time after school and at home, but when you factor in the time it takes to create and grade assessment material, this teacher still has very little time to explore anything new.
The second thing about Google is the open door policy of management, the idea of supporting and mentoring innovation, and the willingness to test these ideas and encourage the development of those that are successful and discarding without prejudice those ideas that fail.
In one week my email box is inundated with information and newsletters about technology and education. I have bookmarks on my browser for CSTA and a host of other blogs and information portals. I receive magazines or E-zines like Edutopia which are full of creative ideas for the classroom. Announcements for grants, scholarships, and contests arrive every month with opportunities to engage my students in interesting and innovative projects.
I wonder if we have fallen into a trap of demanding more technology-based innovation and creativity in the K-12 classroom without being willing to discuss the need to change the very structure of the education system. Should K-12 school years be extended or modified? I ask this as I have a week off for “winter break”. Why do our teachers or students need a week off, just a few weeks after an extended holiday break, and a few weeks before the spring break? Should K-12 school days be changed to block schedules or alternating school days so that both teachers and students can spend more in-depth time on subjects? Should teacher schedules be modified to enable them to spend more time exploring ideas and innovation, and with time to develop the ideas for classroom instruction? How many of our schools are set up to brainstorm ideas, or to mentor and team teachers to develop their passions? Instead, we often find administrative bureaucracies that discourage the very innovation they seek.
As we watch Google grow to dominate the Internet, media, and software worlds, many of their competitors have acknowledged that they must adjust their own methods of developing and delivering software and other technology to their customers. Perhaps it is time for the educational system to face similar realities and change our methods of development and delivery to our customers – our students.
Ron Martorelli
CSTA Board of Directors

Build a Playground!

By Fran Trees
A playground is generally described as an area designed for children to play freely. Oftentimes playgrounds include jungle gyms, see-saws, overhead ladders, sandboxes and various other recreational equipment that can help children develop physical coordination, strength, and flexibility, while they are playing with their friends, enjoying the activities, and improving their social skills.
Let’s bring that playground inside! Why not host a computer playground day?
Imagine three to five clusters of computers. Each cluster is a different type of “sandbox” designed around a theme: Alice, Scratch, Robotics, Game Maker, Greenfoot, or any other fun way to look at computer science and programming. Each sandbox has a playground supervisor who can introduce the activity, instruct, and help out when needed.
Previous blogs have presented great ideas for outreach. The playground can be outreach to different types of populations: high school students, middle school students, elementary school students, computing teachers of all levels, administrators, or parents.
Gather your local teachers who have experience with the activities. Try contacting local colleges, universities, community colleges, or your local CSTA chapter for support and resources. Offer activities that can introduce the “children” to computer science in an enjoyable way while they are playing with their friends, enjoying the activities, improving their computer skills, and learning something about the programs that you offer.
Be creative with your playground but offer structured play activities in each sandbox so the “children” aren’t at a loss and so that everyone has a great time, learns something, and with a smile! Those “children” may become our strongest supporters!
So, host a computer playground day for your local ___________s? You fill in the blank! Have a great time! And then tell us about it!
Fran Trees
CSTA Chapter Liaison

Blogroll

By Michelle Hutton
Did you know that January is (US) National Clean Up Your Computer month? I didn’t manage to clean up my computer, but I did clean up my blog subscriptions, by deleting ones I don’t read very often. Here are the computer science and education blogs that made the cut:

  • Wicked Teacher of the West, a middle school computer science teacher who reflects on her practice
  • Computing Education by Mark Guzdial, professor at Georgia Tech who thinks about the world of computer science education
  • Computer Science Teacher by Alfred Thompson, who many of you have met at conferences and the CS & IT Symposium (by the way, have you registered yet?)
  • Knowing and Doing by Eugene Wallingford, professor at University of Northern Iowa
  • In Need of a Base Case by Leigh Ann Sudol who used to be a high school CS teacher and CSTA board member and is now pursuing a PhD in CS Education at Carnegie Mellon University
  • Dy/Dan by Dan Meyer, who is a very thoughtful high school math teacher and is also an intern at Google working on computational thinking and programming in math classes
  • Ideas for Teaching Computer Technology to Kids is full of links to computer science resources

Three that don’t make the professional development grade but I think might be of interest anyway:

  • Learning Curves is currently my favorite blog. Rudibecka Hirta is a delightfully snarky math instructor at an unnamed southern university or college. One of my dreams is that I get to meet her some day. This one doesn’t provide much professional development, but it is full of personality. Also, she takes computer science and stats classes and reflects on them.
  • Indexed is Jessica Hagy reflecting on the world using graphs
  • xkcd is popular among all the geeks I know

Do you have a blog? Or one you think I should add to my (pared down!!) blog reader? Post a response and let us know.
Michelle Hutton
CSTA President

Beginning to Rethink CS Education at NSF

By Cameron Wilson
The President released his $3.8 trillion budget on Monday setting off a flurry of activity in the Nation’s Capital. The budget sets the Administration’s priorities for the big stuff, like how much he wants to spend on education and defense, down the minutia, like how much money the Department of Agriculture wants to spend on slug research. (Ok, I made that program up.) Budget season also gives agencies the opportunity to unveil changes to existing programs or the creation of new ones.
One such change, that quickly made its way around the computing community, was a rethinking about how the Computer & Information Science & Engineering Directorate (CISE) at the National Science Foundation approaches education and workforce programs. More specifically, CISE staff announced that it was combining the Pathways to Revitalized Undergraduate Computing Education (CPATH) and the Broadening Participation in Computing (BPC) programs into a broader computing education program. CPATH tended to focus on higher education, while BPC issued grants for the entire pipeline, largely focused on improving diversity in computing. These two programs have funded numerous education proposals including the current work to reform the Advanced Placement Computer Science course, the Exploring Computer Science course developed in LA, and national alliances focused on diversity.
I had a chance to talk about the new program with NSF staff. I should caveat this that no one really knows what the program will look like until the new solicitation is out (more on that below), so this is my fairly high-level take.
The described intent is to evolve CISE’s work into something broader. That is the new program would look at the entire pipeline but with special focus in two areas:

  • moving earlier into the pipeline with specific engagements in middle/high school to bring computational thinking/computer science concepts into this space
  • widening the program to be inclusive for all populations, built around a theme that “computing is for everyone”

It would also add a specific education research component that would seek to build education research capacity at the university level and to provide a greater understanding of how children come to understand computing concepts. At the center of this new program would be some big ideas in K-12 education that BPC has forwarded in recent years — including reform of AP Computer Science and the so-called CS 10K project. Assistant Associate Director of CISE Deborah Crawford posted the following on a post about this topic Mark Guzdial’s blog:
“In the summer of 2010, CISE plans to release a new broadly-scoped solicitation that will incorporate the most promising components/promising practices of the CPATH and BPC programs, with increased focus on middle and high school education in computing (making its scope consistent with the CS AP and the CS 10K projects, so no need for Mark to worry there) and education research. Like the BPC and CPATH programs, the new program is likely to draw on partnerships among academic institutions, as well as other organizations similarly committed to ensuring broad participation in the computing disciplines and to more effective computing education.”
There are still challenging issues around the level of focus that the program may have on diversity efforts that are causing concern within the community. These are details that will have to be worked out as the program moves forward.
In the past few years, the computing community has recognized the tremendous challenges that face computer science education in the K-12 level. This helps explain why there is so much energy around projects like AP CS reform and CS 10K. Yet, despite the obvious need, there is little funding for this type of work across NSF. It appears that CISE is going to step into this gap with a new program focused on the big ideas and add a much-needed research component to inform the overall education and workforce goals.
But it will likely be a small step until the community can start leveraging other parts of NSF. One potential for this new program is leveraging funding from the Education and Human Resources Directorate at NSF, which has about $800 million dedicated to education and workforce programs. Tapping into this resource could bring major resources for reform to the table.
This is a fairly significant transformation of what — at the federal agency level — is the only game in town when it comes to systemic computer science education funding. It will be very interesting to see what the summer solicitation brings. Hopefully the community will work together in helping shape a very strong program.
Author’s Note: I got one e-mail this week confusing this new program with another new initiative in the budget called Cyber-Learning to Transform Education (CTE). These are distinct programs with CTE being focused on using computing to transform education generally. Funding from CPATH and BPC is not being redirected into CTE.
Cameron Wilson
ACM Director of Public Policy