CS is Featured in the Kahn Academy

Normally when preparing to write a post for the Advocate Blog, I collect my thoughts for several days prior to starting to write. I had collected some great ideas about the Gender Gap in STEM fields (as well as the dearth of other underrepresented groups in STEM), particularly in Computer Science. But we are all too familiar with those shortages. Then I came upon some great news about new resources for Computer Science educators. And so I thought, maybe that’s what I should write about…and so it will be.
The first news I encountered was the announcement that the Kahn Academy had a new Computer Science site. The Kahn Academy posts free videos about hundreds of topics related to core subjects. How nice that Computer Science is being included with that group! Then, upon exploring the site, I found that it was much more than just videos. Instead of videos, there are two vertical panes; the left pane allows students to enter code, and the right pane displays the output. Now this is something like the W3Schools tutorials for teaching students HTML and CSS, and is done very well indeed. The changes to the code affect the output dynamically (immediately without any extra effort on the part of the learner). This is an interactive site and not a video! The students learn to create graphics, animation, and to develop games. Students will love it! Salman Kahn is the creator of the Kahn Academy and has the backing of the Bill and Melinda Gates Foundation. In reading the article, I learned that Mr. Kahn has degrees in Computer Science and Electrical Engineering from MIT. So what took him so long?
This is a great way to teach Computer Science! Students begin with experimentation and creativity and then delve deeper into concepts. As John Resig wrote in his blog post last week: rather than starting Computer Science education off by explicitly teaching how a computer works or fundamental programming concepts (like variables, logic, control structures, etc.) you put the student into code of graduated complexity and encourage them to manipulate, explore, and write their own programs. What fun! It has even been suggested that perhaps math should be taught using a similar method. Hmm, that might really increase the interest in students studying STEM subjects! And apparently, I was not the only person who found the Kahn CS site really good news. There are a multitude of praises available on the Internet. Casey Brown wrote for OpenSource.com:
As the world demands more and more computer scientists, Khan Academy’s computer science program could not have been introduced at a better time. The new curriculum was debuted yesterday in a video featuring John Resig, Khan Academy’s Dean of Computer Science, and Sal Khan, Founder of Khan Academy.
But my favorite quote is this one from Liz Dwyer in the August 17 Good Education:
Given that knowing how to code is increasingly seen as essential in the 21st century as knowing how to read or write, Khan’s effort joins a handful of existing learn-to-code platforms, like the popular Code Academy and Udacity. Given that millions of people around the world view Khan Academy videos every month, the potential to ensure that even greater numbers of learners have the computer science skills they need is pretty exciting. Besides, with so many great options, now you really have no excuse for not learning to code
So it seems that people other than CSTA do indeed know that Computer Science is a 21st century skill! CS has indeed come of age in 2012! Have some fun exploring the Kahn Academy Computer Science site and reading the multitude of blog posts about it.
In addition to the Kahn Computer Science site, other news I came across this week concerned the National STEM Digital Library http://nsdl.org/. “NSDL is the nation’s online portal for education and research on learning in Science, Technology, Engineering, and Mathematics.” Once I read about that, I decided to explore the site to see if CS was included in STEM on the site. It is! A simple search of computer science produced about 60 links, including one to CSTA’s home page. Clicking on the left-hand navigation bar for Resources for K12 Teachers produced additional links to NSDL Collections, including one for Computational Science. Clicking on that brought me to more links, including links for Tutorials (including Java programming tutorials), Code Libraries, and Algorithms. Users can browse the system based on a number of different fields. Users can also register for a Computational Science Education Reference Desk (CSERD) User Account at the site. CSERD is a Pathways portal of the National Science Digital Library and funded by the National Science Foundation. Resources at CSERD may be of more interest to our higher education faculty CSTA members.
It was truly gratifying to read so much good press about computer science all in one week. And it was wonderful to find good resources for CS teachers available at the click of a mouse. There are so many resources available to teachers available and becoming available. There is indeed a renewed emphasis on computer science. I would definitely say that Computer Science has made the big time.
Websites:
Khan Academy to Launch Computer Science Curriculum, PC World, August 14
Coders Get Instant Gratification With Khan Academy Programming, Wired, August 14
Khan Academy Wants to Teach You Coding, Good Education, August 17
John Resig’s Blog Post
The Kahn Academy
Computer Science at The Kahn Academy
National Science Digital Library
Computational Science Education Reference Desk
Deborah Seehorn
CSTA State Department Representative

Taking Advantage of the Interest in Games

I am writing this at the Games, Learning and Society Conference (http://www.glsconference.org/2012/index.html) in Madison, Wisconsin. This is an interesting and useful conference from a CSTA point of view, but perhaps not one that our membership has penetrated. There are probably 400 people registered and attending, with a good mix of K-12 teachers, education researchers and graduate students, art and design people, gamers and game-company representatives, and some computer scientists (not that any two of these sets have empty intersection). I am here with a colleague from Media Arts at USC to deliver a paper on the mobile application we are developing that will present using ludic methods one of the more controversial and sensitive subjects in the history of the University of South Carolina. (The controversy is that most of the historic campus was built by and maintained by slaves either owned by the university or hired from slaveowners by the university in the antebellum era.)
I would say that perhaps a third of the presentations here, including one of the keynote addresses, talked about games for STEM education. Unfortunately, although there is one session (that is about to start) on games for computing education, what I have heard most of the time suffers from the stereotypical exclusion of computer science from “STEM”. I have raised this issue with a couple of the speakers. There have been talks that involve heavy use of software tools for teaching about science concepts, but most of these show a marked disinclination to include real computer science. I come away wondering how these research projects intend to have a sustainable set of software packages.
The other really curious thing that I have seen is a substantial commitment to computational thinking, and this commitment is coming not from computer scientists but from the graduate students in education. I wonder from where this commitment derives? And I will be contacting the speakers to ask them as soon as I get the chance (conferences being somewhat chaotic and crowded and not always conducive to extended discussions).
This has been a really good conference so far (and it will clearly get infinitely better tomorrow morning when my colleague and I present our paper ((insert smileys here)) ). There are clearly opportunities for CSTA, its membership, and for the students, and we as a community should take advantage of the expertise here.
Duncan Buell
CSTA Board of Directors

Letting Students Explore Technology

I use Greenfoot for one of my programming courses and last year support was added so that you could use a Kinect with Greenfoot to write interactive programs. While my students were not quite at that level I thought I would peak their interest and see what they would think of using a Kinect in class. On a day before a break I brought in a Kinect and loaded the sample programs that Greenfoot provides (http://www.greenfoot.org/doc/kinect). I let all of my computer classes play with it with great results. They laughed, tried different things, and even created contests. This day did not involve any coding but they used their creativity and problem solving skills. Here are my two favorite results (you may have to look at the sample programs to fully understand what they are doing but I think you will get the gist):
1. There is a stick figure program that recognizes a person and then will allow you to “paint” on the screen. Students took this to a new level as a contest to see who could write the best word with the “paint”. They even had a partner so when they had to stop writing to move their hand elsewhere the partner pushed the pause on Greenfoot and then pushed run when they were ready. For pictures, see:
https://plus.google.com/photos/108343937961035327554/albums/5708673684121835601?authkey=CPjYzNO3puubBQ&banner=pwa
2. There is another program that drops balls and when the Kinect recognizes a person you can hold your arms up and catch the balls. With this program the students changed the image so they could catch all kinds of things. One pair of students changed it to an image of a man and then using some umbrellas in my room played on the song ‘It’s Raining Men’.
Click this link to see screen shots we took of a couple of the best words and the Raining Men.
Letting the students try out technology and go where they want to go with it does get them excited and then they want to know more. They were looking at the code on their own and figuring out ways to change it to do what they wanted the programs to do. It was a great time of exploration and creativity. This is something I want to incorporate more in my classroom so that my students see the excitement of computer science and that they can do what they want with it.
Stephanie Hoeppner
CSTA Ohio Vice President

Collaboration A Key Skill for the Elementary Classroom

Motivation often comes from the most unlikely of sources. My mother recently waxed nostalgic about life before computers. She said, “Life was much simpler then. The internet brings the evils of the world into our homes and shows us how dangerous it is out there”. I felt that while I did not agree with her sentiments, I did share some of her concerns about the use of the Internet. As a teacher, I was now on a mission to find a definitively positive use for this technology, and, as luck would have it, I did. I decided to use the power of the Internet to create an authentic collaborative learning experience for my third graders.
Collaboration is an essential skill for the 21st century and also an integral part of CSTA’s K-12 National Computer Science Standards (see note below). It is also an important skill for the elementary classroom. A large part of the socialization process for young students is learning to work together, to share responsibility, respect each other’s opinions and negotiate compromise. Moreover, according to the Partnership for 21st Century Skills:
http://www.p21.org/
it is imperative that students learn the 4Cs (Critical thinking and problem solving, Communication, Collaboration, and Creativity and innovation
After a rough start convincing my young charges of the importance of collaboration, I decided to combine a variety of educational mediums in which to engage my third graders. They had been eager, since the beginning of school, to share the experiences of their older classmates programming with Scratch.
According to the developers of Scratch, the Scratch Online Community was designed to be a source of inspirational ideas, to provide an audience for children’s creations and to foster collaboration among its members. Collaboration takes many different forms on the website, from contributing to programming projects, commenting, tagging, bookmarking, joining galleries, participating in discussion forums and remixing, thus making Scratch the perfect vehicle for my students’ collaborative experience.
Using their desire to explore this paradigm, I embarked on a mission to find another classroom with similar goals. I posted a request on the Scratch Educators’ website:
http://scratched.media.mit.edu
for a class and, thanks to the wonders of global communication via Twitter, a teacher from a private elementary school in Dublin, Ireland responded. Our adventure in a global partnership, an important 21st century skill, was about to begin.
The first step in the project was the creation of a blog, where the students would introduce themselves, share their projects, and brainstorm ideas for future collaborative Scratch programs. The students couldn’t wait to get started. They eagerly shared relevant information about themselves, their families and their schools on the blog (created using www.kidblog.org). We also created a post on the blog for shared resources.
The first programming exercise used the Scratch curriculum guide draft’s Dance Party outline:
http://scratched.media.mit.edu/resources/scratch-curriculum-guide-draft
After the students finished their programs, I uploaded them to my school’s account on the Scratch website and then placed them into a specific gallery:
http://www.scratch.mit.edu/galleries/view/152596
Now we wait for the dialogue to begin. As my students will shortly find out, the real fun comes from exchanging ideas and listening to each other. It is not enough to share, but to engage. Progress only comes from working together. And they are more than ready to be full participants in this experience. In the charming words of one of my students “I can’t wait to work on Scratch with you”. I share their enthusiasm, and I am equally eager for them to get started.
Note: discipline. Significant progress is rarely made in computer science by one person working alone. Typically, computing projects involve large teams of computing professionals working together to design, code, test, debug, describe, and maintain software over time. New programming methodologies such as pair programming emphasize the importance of working together
Patrice Gans
CSTA K-8 Representative

The Problem with Students Who Won’t Problem Solve

This semester I am teaching two sections of Web Page Design. This is the third year that I have taught the class at the high school level, but I still struggle with some of the same issues.
The two sections of the class are like night and day. The first class has some really good problem solvers and the students are able to process the coding that we are working with to create some really nice work. The second class has few students with problem solving skills and they all seem to rely on me when “something is wrong with my project.” Sometimes I wonder: “How can two classes from the same student body be so different?”
The other day I assigned a due date for a simple project we have been working on in class over several weeks. Only three students within the first class didn’t complete the assignment on time and needed additional help to complete the assignment. In the second class, only three students completed the assignment on time. Almost the entire class was waiting for me to help them with their projects!
I have one student who requires a predominant amount of my time during the class time to complete his work. He constantly is asking me “What do I do next?” or “Why won’t this work?” I try to treat this student as I do all my students, as I tend to answer questions with a question. I try to get my students to think through the problem to find their own answer. This can be extremely frustrating for some students, as they have been trained to expect the teacher to always give them the answer.
I wish there were some way to teach students to become better problem solvers. Wouldn’t it be nice if teaching students to problem solve was similar to correcting students’ coding errors?
Dave Burkhart
CSTA Task Force Chair

Can Coding Really Change the World?

Is there any question that technology-based innovations like PCs, the world-wide web, social media and smart phones have fundamentally changed the way we work, communicate, govern, educate and so much more? While Apple and others may wax poetic about the magical properties of their latest devices, all these technological innovations are possible because there were programmers who could write code. Why is it then, that if technological advancement is so rapid and so integral to our society, the study in the field of computer science (CS) has not been keeping pace? And by not keeping pace, I’m not just talking about the overall numbers studying CS being a mere trickle in the higher education pipeline, I’m talking about an epic failure to engage women and minorities in this field. I’m learning that its somewhat of a mystery and theories abound. Some theories lay blame on a dysfunctional educational system that’s moved away from the sciences in favor of going back to the basics of reading, writing and arithmetic. Others suggest it’s the persistence of the lonely, pocket protector-wearing, cubicle-occupying nerd programmer stereotype that is not an appealing career path. I think the answer is all of the above and more.
Efforts to reverse this trend and address the crisis have also been underway, but strategies abound here too. Many highlight the income potential and the projected need. Some work on widening the pipeline to increase participation from women and minorities. Others work specifically on gender equity issues. Again, I think all of these strategies are important, but I don’t think they will really motivate girls, especially middle school girls, which is really where you need to capture their interest because by age 13 girls determine a positive or negative attitude towards subjects like CS. I think deep down, girls and minorities want to change the world because frankly they are living in a world where they are not valued as they should be. I think this is where CS is an exciting avenue, as it really does have the potential to change the world in so many innovative and creative ways.
I teach technology to 4th thru 8th graders and as a career-switcher with a CS background, it seemed only natural that coding would be one element of my curriculum to foster computer fluency. As I thought about how to get my students excited by the idea of coding, I considered how I got interested in CS. It certainly wasn’t the prospect of studying algorithms or learning about logic. It started with my gadget-loving dad bringing home a TRS-80 desktop computer. That’s when I taught myself BASIC because really there wasn’t much else you could do on a computer with a whopping 4K of memory and a cassette tape drive for storage. I was sold on CS after I created my first program in Assembly Language. Although, Assembly is no doubt a very tedious form of programming, the idea that I was in control of the very essence of the computer, that was empowering! I was converted from a mere Astroid-playing computer user to a technology creator.
Over the years, I have introduced students to coding not with the goal of understanding what CS is, but really with the goal of letting them get a peek “under the hood” of technology. I want my students to understand it’s not magic that makes this technology stuff work. Northwestern University, MIT and Carnegie Mellon provide amazing programming tools for free including NetLogo:
http://ccl.northwestern.edu/netlogo),
Scratch:
http://scratch.mit.edu
and Alice:
http://www.alice.org/
that I use with students all the time. I must admit, I’m not really that great of a programmer. My CS strengths lie in planning, design, testing and documentation. So while I may be more comfortable getting my students started with these programming tools than a teacher without a CS background, I really do just give them the bare minimum of introduction and I’m working on tutorials to share those introductions with others (http://techkim.wikispaces.com/tutorials). It doesn’t take long for a student to surpass my knowledge in one of these programming environments and I look forward to that moment when I become their student. I want my students to get as much hands-on experience as possible and once they are on, they really fly. It may start slowly, but once they figure out how to do one thing or their classmate does, then they think of the next thing and teach each other and experiment and collaborate and make mistakes and figure out alternate solutions. I see them doing all these things that I think we really want them to learn how to do. Things that will prepare them to be the change they want to see in the world.
I’m not expecting everyone will want to be a programmer when they grow up; I just want anyone to know they can. I want to convert technology users into technology creators, collaborators and activists.
Kim Wilkens, Technology Activist
[email protected]
http://teentechgirls.wikispaces.com

Kicking Off CS Ed Week

What better way is there to kick off CSEdWeek than to hold an open house showcase of great student work and projects? This will answer for my community the age old question, “What is Computer Science?”
The open house is also a celebration of changes in our district. We built a new high school and moved in just in time for the start classes. In addition to opening a new building, we combined two existing high schools into one and closed five other schools. We restructure the building grade levels to K-5, 6-7, 8-9, and a 10-12 high school. Needless to say it has been a challenging start to the school year, but we know how resilient our students can be!
Our open house will confirm that CS education in Mifflin County is doing great things for students.

  • My programming and web design classes will have displays of their work including websites created using Microsoft Expression Studio and games made with Scratch, Alice, and XNA. The XNA projects were made possible by a donation of 20 Xbox controllers from Microsoft.
  • Our FIRST Technology Challenge (FTC) team will setup the field and run through some of the missions for the upcoming robotics competition. This is our second year for team competition and we are excited to show our progress to the community.
  • The success of FTC and my middle school girls’ summer camp encouraged me to start a Fisrt Lego League (FLL) team for students ages 9-14. The FLL team grew from six of my sons friends to over 25 with absolutely no advertising. So many students want to participate that we also have a Junior FLL team for students ages 6-9. Next year we will need to recruit more coaches. But how do you say “no” to a student who wants to learn about robotics, programming, and engineering?
    The public will get a chance to talk to my students, see firsthand how much they have learned, and discover why my students enjoy learning in this great project-based learning environment. Maybe someone will volunteer to be a coach!
    To see photos, videos, and weekly updates, check out our blog at www.pegfisher.wordpress.com.
    The open house is open to the public and you are invited to attend.
    6-7:30 Monday December 5
    Mifflin County High School
    501 Sixth Street, Lewistown, PA
    Hope to see you there!
    Mrs. Peggy Fisher
    STEM Club Advisor
    Computer Science Teacher
    [email protected]

    Knowing That Order Matters

    The start of a new year puts me once again in front of a second semester class, using as text the pdf of my book that is about to appear (shameless advertising). And once again I am trying to teach students more about organization and structure than about programming per se.
    At least half the battle in writing correct programs is just making sure not to make mistakes in the routine stuff. Yes, there’s a lot of detail involved in writing correct programs. On the other hand, a lot of that detail is just knowing that it is just detail.
    I have students who can’t get Javadoc to generate the documentation, but who don’t seem to understand that it’s not just having the documentation in the program, it’s having the documentation in the program in the right place in the program. Knowing that order matters is important. (As one of my university professors once said, “Life is not commutative. Try exchanging the order of having the traffic accident and buying car insurance, and you will understand that.”)
    It’s all about information. What information does the Eclipse tool have and what does it need to have? What information does the Java compiler have, and what does it need to have? What information does the program have, and what does it need to have?
    Duncan Buell
    CSTA University Faculty Rep.

    What Does Auto-completion Say About You?

    Word completion is a common feature in browsers and other text entry tools. When you begin the entry of a frequently-used word, the computer automatically completes it, or proposes a list of choices (Wikipedia). Code completion is welcomed by many of us in our Java IDEs. Well, email has this auto-complete feature as well. A colleague of mine did this little exercise and it was very clear that he was working way too much!
    What does YOUR email auto-complete feature say about you? Try this little experiment: In the “To” field in a new email message, type each letter of the alphabet, one letter at a time. Choose the first option of the auto-complete choices offered by your email software.
    What does your final distribution list look like?
    What does it say about you? My list is below.
    It clearly indicates the importance of CSTA!
    A: Angie Thorn, CSTA Ohio President
    B: Bergman, Doug, CSTA South Carolina President
    C: Chris Stephenson, CSTA Executive Director
    D: Bergman, Doug (again)
    E: my ‘spouse’
    F: Fran Trees (myself-when I get bored, I guess I talk to myself!)
    G: Ria Galanos, CSTA Georgia President
    H: Henry Vo, CSTA Texas Greater Houston Area President
    I: personal friend
    J: Joe Pistone, CSTA San Diego, CA President
    L: Lance Pederson, CSTA Alberta, Canada Secretary
    M: colleague
    N: Steve Nicollerat CSTA Missouri President
    O: personal friend
    P: Joe Pistone (again)
    Q:
    R: Rebecca Dovi, CSTA Central VA President
    S: Susy Johnson, CSTA Colorado President
    T: Tammy Pirmann, CSTA Southeastern Pennsylvania President
    U: Chinma Uche, CSTA Connecticut President
    V: Henry Vo (again)
    W: Chris Winikka, CSTA Oregon Past President
    X:
    Y: Don Yanek, CSTA Chicago, Illinois President
    Z: Julie Zelenski, CSTA Silicon Valley California Past President
    If you are not a member of a CSTA chapter, you can find the email addresses of most of the CSTA folks listed above on our CSTA chapter page (http://www.csta.acm.org/About/sub/CSTAChapters.html).
    What does your email auto completion say about you? Have some fun! Share a summary of YOUR results! (Oh, there are ways to control the suggestions. Google “Auto complete email.”)
    Fran Trees
    CSTA Chapter Liaison

    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