Learning computing with metaphors

Don’t think of an elephant!

Now what are you thinking about? Of course, it’s an elephant.

This sentence is the title of a book by George Lakoff, a contemporary linguist who makes that case that we frame our thinking with the words and metaphors we use. By consciously recognizing this, we can understand our own thinking better and become more persuasive.

Inspired by Lakoff’s work, Alvaro Videla published an essay Metaphors We Compute By in the October 2017 Communications of the ACM. As a computer scientist and software engineer, Videla recognized the extent to which we make sense of concepts in computing via metaphors. He gives this example:

Say you could program a computer to command other computers to perform tasks, respecting their arrival order. This description is already difficult to understand. On the other hand, you could describe the solution by describing a queue server that assigns jobs to workers based on a first-come, first-served queue discipline.

Consider all the examples from daily life in the description of the solution: A “queue” is something with which all of us are familiar—that’s a “line” for those of us speaking American English! “First-come, first-served” is how most everyday lines operate, “workers” and “jobs” are people and roles from our daily lives.

With this metaphor, it makes sense. The everyday concepts translate into computational artifacts. A worker becomes an operating-systems process. A job becomes an algorithm carried out by that process on some particular data. The line becomes a FIFO queue.

This idea of using metaphors goes back far in our field. Some of the early CS education research focused on how the names of words chosen to be language commands helped (or hindered) students’ understanding. For example, in the 1987 article The Buggy Path to Development of Programming Expertise, Pea, Soloway and Spohrer reported on how students expected parallelism in BASIC code with “IF… THEN” statements. They thought the computer could evaluate any statement as needed, firing when a condition became true—as it might be in daily life.

I’ve used metaphors to explain function application—a concept in functional programming. It’s similar to how parameters or arguments are supplied to C or Java functions. I brought a rubber mallet to class, and described function application as the mallet “pounding the parameters on the head.” So if you have a function increment, which adds one to its parameter, then increment sees a 3, pounds it, and produces a 4. Then “functional mapping” is walking down a list, pounding each parameter in turn. In Scheme: (map increment (list 1 2 3 4)) produces the list (2 3 4 5).

Later during the semester, I could just pretend I was holding the mallet to bring back the idea of function application.

What metaphors have you introduced to your students to help them understand computing concepts? Did they work? Have you changed them over time? Please share with your colleagues!

head shot of Fred Martin, chair of board of directors

Fred Martin, chair of board of directors

We are rebooting The CSTA Advocate Blog!

Hello fellow educators of CS!

After a one year hiatus, we are relaunching The CSTA Advocate Blog.

With CSTA Advocate, we will bring people and ideas together.

For the next year, I will be editor. We will have a new post each Wednesday.

We’ll use The Advocate to get conversations started around ideas related to K-12 CS Education. It will involve interviews, opinion pieces, trend analysis, innovations, new technologies, surveys, invitations to get involved, success stories and even stories of failure. If you have ideas about topics you’d like to see, feel free to communicate! CSTA hopes to keep our members up to date on goings-on of our organization as well as provide interesting insights and incredible connections.

I am Doug Bergman, head of Computer Science at the Porter-Gaud School in sunny (and sometimes flooded) Charleston, SC. I am new board member and extremely passionate about Computer Science.

I’m a product of public education, and have worked in private education for the last 20 years. I’ve taught classes ranging from 1 student to over 300. I’ve taught students ranging in age from 3 to 99. I’ve taught and attended school in the United States as well as in France and Japan. I’ve worked in public, private, and professional schools. I’ve also taught online classes. I am currently completing my 100% online masters degree at Georgia Tech. My point is that I have experienced most types of education, and I bring this perspective to any conversation.

I can sum up my philosophy with a quote I heard at the CSTA conference this past summer: “I am not here for the answers, I am here for the questions.”

And I am looking forward to interacting with all of you—online and in person.

Doug Bergman Headshot

Doug Bergman – Gr. 9 to 12 teacher representative

Just released: Video interviews on computational thinking

What is computational thinking?

How is computational thinking distinct from other thinking skills?

How can teachers assess computational thinking skills?

Have you ever wanted to ask an expert these questions? The CSTA Computational Thinking Task Force is creating a series of video interviews in which we do just that!

Listen in on our conversation with Chris Stephenson, Director of Computer Science Education Programs at Google, as she answers our questions and describes cross curricular computational thinking applications in the task of preserving native languages (https://youtu.be/FuN6g8NmuHc).

Listen to our conversation with Eric Snow, Education Researcher in the Center for Technology in Learning at SRI International as he answers our questions and describes his research in assessing computational thinking (https://youtu.be/92pv8dPItjE).

We have several more interviews with experts in the field planned for later this fall.

All of the interviews are archived here: csteachers.org/page/CompThinkInterviews.

Growing Up Leadership

I sat in a small conference room in the summer of 2009 with several other CS teachers from around the US. CSTA brought us all there for advocacy leadership training and the beginning of what some called a grass roots movement for CS. I remember feeling excited that there were all of these other people just like me – passionate about CS Education and who were interested in helping it grow however they could. We learned about advocacy at local, regional, and state levels. We talked about our struggles, the situation of teacher certification, whether or not our state recognized CS, and formed friendships that last till this day.

Through that week and a subsequent training the following year the Leadership Cohort was born (now called CSALT). Through these passionate people districts were changed, courses were added, local government actions were taken, some states passed resolutions about CS ED Week, and there were even opportunities where one or two spoke to National leaders. All of these things were accomplished by volunteers and the support of CSTA.

We were also encouraged to start local chapters. Some were able to do this and are still apart of the chapter’s leadership today. Others of this group has gone on to write curriculum, provide professional development to other CS Teachers, developed and pilot the CS Principles course (and others), have become leaders for CS in their state, have presented at many different conferences including our own CSTA Annual Conference, and still some have been elected to serve on our CSTA Board.

This is not to say that all of our great volunteers and CS advocates started this way; however, there is a strong core group that I can point to that all got their start in those advocacy leadership trainings.

Growing leadership is important for organizations to thrive. Creating lasting friendships and networks of people and resources is also essential. I have “survived” my years of teaching and advocating because of so many of the people that I met that summer. So I say thank you to CSTA for the foresight to start CSALT (formerly Cohort Leadership) and for continuing to support all CSTA members through the conference, other professional development, and the great network of people and support. I urge any of you to attend the conference, a local chapter meeting, or anything you can to be a part of the larger CS Education team.

Most of all I say thank you to CSTA for giving me a chance seven years ago to be part of the CS movement. I have learned beyond my expectations, worked harder than I would have ever imagined, and I have some lifelong friends because of it.

AppInventor Goes Local: adult students build an app inviting islanders to test their knowledge on the local dialect

I haven’t been shy to expose the insane decisions of the Greek Ministry of Education when necessary; one such time was 3 years ago, when the government removed the elective “Application Development in a Programming Environment” from 12th Grade Curriculum and the Greek University Entry Exams, in the context of a law ironically titled “New High School”. My writings reached EU headquarters in Brussels to no avail, but an e-mail I sent to the CSTA caught the attention of Chris Stephenson and played a decisive role in my being nominated and elected as International Representative on the Board of Directors. In 2014 I had an article published in the online edition of UK newspaper “The Guardian”; soon after the Minister of Education stated in public “the decision [of the previous administration] to remove the programming class option from candidates intending to study computer science was not only unacceptable, it has absolutely no ground on an international scale”. The class was eventually reinstated.

That said, maintaining an open mind commands giving credit when deserved, even to people or agencies with whom you have previously clashed. In the beginning of school year 2014-15 Computer Science teachers in Greece were happy to see that the 10th Grade CS textbook had finally been replaced with a completely new and updated version. But what really surprised us was that there was an entire chapter dedicated to the AppInventor environment, complete with examples and detailed instructions guiding students through all the stages of developing their first app.

I taught the book for the first time in an adult-learner setting in 2015-16; in the computer lab we used the MIT App Inventor tutorials on YouTube to quickly get a feel for the kind of stuff we could build (language was hardly a barrier as most Greek students have good working knowledge of English, plus the video-capture tutorials make it easy to watch video and pause in one tab while working in the other). After brainstorming an idea for our app, we decided to take last year’s 10th Grade Project a step farther by using the local dialect words they had registered on Wiktionary to build a multiple-choice quiz in AppInventor. We explored different formats and decided to go with the simplest, as the evening school students have practically zero free time for homework and all the work had to get done in a semester of two 35-minute sessions per week. Christos carefully made sure each question was a challenge with his tricky choices; Kostas quickly learned how to set up the components in “Designer” view and move the command blocks from screen to screen in “Blocks Editor” view with the AI2 “backpack”; Meletis, Kimonas and Philippos connected their Android devices to test the app and offer ideas and feedback. The quiz now comprises 20 questions with four choices each… next year we plan to take it even farther by adding more questions, levels of difficulty and – why not? – voice and illustrations for a rich multimedia experience. Soon we expect to have it published and live on Google Store: keep up with us by watching our blog (generally in Greek but we will include an English snippet for our AppInventor post).

Kostas appinventor

(Camera-shy Kostas enters the questions in Designer view and then programs in the Blocks Editor”)

 

Meletis-Kimonas-philippos

(Meletis, Kimonas and Philippos check out the questions for the quiz while Christos (in the background) takes a break)

In closing my last post as a Board Member of the CSTA, I would like to extend my congratulations to the new International Representative, starting July 2016, Miles Berry, and wish him the best of luck and success in his efforts. Miles, keep an eye on the situation in Greece as the third administration in three years prepares once again to downgrade the role of computer science teachers, amidst a six-year-strong financial crisis that would only benefit from the advancement of coding and other labour – as opposed to capital -intensive fields of financial activity. Sometimes the only argument we need to promote the teaching of computer science is plain common sense; and sometimes common sense is so hard to find…

Mina Theofilatou
Kefalonia, Greece

Computer Science for All – Are We Asking the Right Questions?

Every two weeks, the CSTA K-8 task group hosts a twitter chat using the hashtag #CSK8. These twitter chats help teachers like me connect with other computer science education enthusiasts; they offer us a place to share and learn new ideas for our classrooms. Since I am part of the CSTA task force that hosts these chats, I have learned a lot on how to run these twitter events. Picking the right questions for a chat is key to its success.  The questions must provide the right amount of structure and be interesting so that all participants contribute to the chat. This is difficult since we do not know who will actually join the chat.
The chat on Feb 10 was on the new initiative proposed by President Obama called ‘Computer Science For All’ (To read more on this initiative, see  “CS for All”  and  Watch the president’s full remarks here). The chat was moderated by another CSTA Task force member Vicky Sedgwick and myself.
Computer Science For All initiative is still in the early phase, with of course no clear idea on whether it will ever be approved. However, the initiative has opened up the discussion on computer science access to a wider audience, and it was a perfect topic for our chat. Vicky and myself struggled to come up up with the best set of questions and we were modifying them as the chat progressed.   Selecting the right questions to ask on this topic helped us think more on the big question – how do we really provide computer science education to all? Here are the questions that we finally used on this chat. Take a look below –  what would be your answers?
  • Q1: Obama said “we have to make sure all our kids are equipped for the jobs of the future.” Is this really why #CSforALL is needed? #csk8
  • Q2: Why should #CSForAll be a federal initiative? Can’t we just rely on state/local/industry/non-profit efforts? Pros/Cons? #csk8
  • Q3:  How will we find teachers for #CSForAll & what is needed in terms of professional development & teacher credential programs? #csK8
  • Q4: There are currently many states with their own CS standards & more writing them. How does this affect #CSforAll or does it? #csk8
  • Q5: How would you spend $4 billion? What is most important? K-8/High School/PD/In-school programs/AfterSchool programs/Diversity? #csk8
If you are interested in reading the conversations on this topic (or other topics), check out the archives of the #CSK8 chats at the CSTA K8 G+ community at https://plus.google.com/communities/111803101139836526905/stream/00a8a67d-804b-4ee1-9c95-0852dfa0b171
Do you think we are asking the right questions? If you had five questions to ask on this topic, what would they be?

Vintage Computer Festival — five events this year!

If you’re looking for novel ways of inspiring students, then consider giving them some hands-on exposure to the past at a Vintage Computer Festival event.

Vintage Computer Festivals are a series of family-friendly events celebrating computer history. The event formed in the 1990s and gradually spread to other parts of the country and into Europe. Each event has an exhibit hall where anyone can see and try out historic computers from the 1960s-1980s. There are also keynote speeches by celebrities and VIPs, technical classes, tours of nearby museums, consignment sales, and more.

Upcoming editions include VCF East (April 15-17, New Jersey) and VCF West (August 6-7, Silicon Valley). Children enter free for most of the event.

These events are the only place where your students can see things such as a 1960s DEC minicomputer, 1970s systems such as an Altair 8800 or Apple-1, and all manner of 1980s eight-bitters — all up-and-running. Take a learn-to-solder class, play a round of Zork, see a UNIVAC mainframe, and learn how to load BASIC from paper tape.There’s no better way to make students appreciate modern smartphones than to see an 800-pound Cray supercomputer or boot a Commodore 64 into a flashing cursor prompt.

The series producer is Vintage Computer Federation which is a 501(c)3 educational non-profit. In addition to the shows, the Federation also owns the Vintage Computer Forum online discussion site, incubates regional chapters, and operates its own hands-on computer museum.

– Evan Koblentz, president, Vintage Computer Federation

www.vcfed.org 

evan@vcfed.org 

facebook.com/vcfederation 

twitter.com/vcfederation 

Introducing CSPdWeek

We shine a spotlight on CS education for students each December during CSEdWeek. Why not do the same with a perennial offering for CS professional development for teachers?

After all, professional development has long been recognized as one of the key ingredients in CS education. Bringing even one PD provider to train a handful of teachers and counselors in a small district is prohibitively expensive, and even the smallest school district will need multiple solutions to implement the dream of CS4All. One way to solve this problem is with grants and sponsorships, subsidizing local workshops for a handful of teachers at a time. However, this only solves part of the issue–even with limitless dollars, scheduling constraints make it extremely difficult to bring multiple providers in at the same time. This makes it nearly impossible for most districts to adopt the broad mix of offerings that are necessary to increase diverse participation in computing. In other words, coordination can be just as large a bottleneck as funding.

CSEdWeek is a model for coordinated advocacy. Schools in a district, in a state, and across the country effectively leverage funding and volunteer efforts at the same time every year. It’s time to do the same for professional development, and this is the impetus and foundation for CSPdWeek.

The first annual CSPdWeek is this July 18th-22nd, 2016 – find out more at www.CSPdWeek.org!

CSPdWeek Events

An inaugural event, offering PD from Bootstrap, NCWIT Counselors for Computing, AP CS Principles, and Exploring Computing Science will be held during the week of July 18-22nd at Colorado School of the Mines. The event is sponsored by the Infosys Foundation USA, with additional support from the National Science Foundation, The National Center for Women & Information Technology, and the Computer Science Teachers Association. We invite teachers and counselors from across the US to apply for full funding (covering travel, food, lodging and PD), with an emphasis on those working in high-needs schools. Join nearly 300 educators from across the country, and spend the first CSPdWeek with us in Golden, Colorado!

Can’t make it to Golden? That’s okay! CSPdWeek is for everyone, and we encourage other PD providers to offer their own professional development events during the week. Professional development matters, and will be a crucial component of CS4All. By staking out one week during the summer, and coordinating our efforts, we can amplify the impact of everyone in our community.

It’s going to be an incredible summer, and we hope you’ll join us in celebrating CSPdWeek 16!
Owen Astrachan (CS Principles)
Gail Chapman (Exploring Computer Science)
Joanna Goode (Exploring Computer Science)
Jane Krauss (NCWIT Counselors for Computing)
Emmanuel Schanzer (Bootstrap)

DRAFT 2016 CSTA K-12 CS Standards: We Need Your Feedback—Again!

Much excitement and activity continues to take place in the K-12 Computer Science Education space. The K-12 Computer Science Framework and the Computer Science for All initiative started by the White House both continue to evolve. Many states and school systems are working to implement computer science into their curriculum. And, the CSTA K-12 CS Standards Revision Task force continues to refine the draft 2016 CSTA K-12 CS Standards.

Thanks to all of you who took time to provide us feedback on the draft 2016 CSTA K-12 Computer Science Standards during the first review period. We received many great recommendations and comments about the standards. The CSTA K-12 CS Standards Revision Task Force members met in person on March 5 and 6 to read and analyze the feedback that we received. They have been diligently working to revise the first draft of the 2016 CSTA K-12 CS Standards to reflect the feedback. The second DRAFT of the 2016 CSTA K-12 CS Standards is now ready for public review and feedback. We need your assistance once again!

Please take some time to review the revised 2016 draft standards and complete the 2016 CSTA K-12 CS Standards Feedback Form. This will provide the CSTA Standards Revision Task Force members with additional constructive feedback that will assist us as we seek to refine the standards and make them most useful for K-12 educators. You will have the opportunity to give us detailed feedback on individual standards in each of the grade levels (Level 1, Grades K-5; Level 2, Grades 6-8; Level 3A, Grades 9-10 (for all students); Level 3B Grades 11-12 (enhanced standards for students who wish to further study CS). You will also be able to provide feedback on all the standards for a grade level within a concept area.

Feedback for this second review period will be accepted from April 6 through April 20, 2016. The task force members will analyze this feedback and further refine the standards as needed. CSTA is committed to an iterative process that allows multiple drafts and revisions before publication. Our goal is to release the interim 2016 standards at the 2016 CSTA Annual Conference.

We want your feedback. We need your assistance. Please thoughtfully complete the CSTA K-12 CS Standards Revision Feedback Form. This second round of feedback on the standards will be accepted until April 20, 2016.

Thank you for your time, expertise, and enthusiasm in supporting K-12 CS education.

Deborah Seehorn, CSTA Board of Directors Past Chair & CSTA K-12 CS Standards Revision Task Force Co-Chair

Tammy Pirmann, CSTA Board of Directors District Representative & CSTA K-12 CS Standards Revision Task Force Co-Chair

Website Links

Computer Science for All https://www.whitehouse.gov/blog/2016/01/30/computer-science-all

K-12 CS Framework http://k12cs.org/

2016 CSTA K-12 CS Standards Revision Task Force http://www.csteachers.org/?StandardsTaskForce

CSTA K-12 CS Standards Revision Process http://www.csteachers.org/?StandardsProcess

2016 CSTA K-12 CS Standards Feedback Form http://www.csteachers.org/?SubmitYourFeedback

2016 CSTA Annual Conference http://csta.acm.org/ProfessionalDevelopment/sub/CSTAConference.html.

 

 

 

Choosing a computing major

Teachers are an important resource for students when it comes to their college decisions. Indeed, undergraduates students often state that a high school teacher influenced their decision to become a computer science major. This blogpost includes a number of  for CS teachers to help their students learn about computing related majors. It might also help teachers recruit students in their computer science courses and highlight the breadth of majors available for students. Along with my colleague Susanne Hambrusch, we have developed the following list of resources for computer science teachers as a part of our NSF-funded PD4CS project.

There exists a range of four-year computing and computing-related degrees a student can pursue. It can be daunting to determine differences and commonalities.

Four-year Liberal Arts Colleges will typically offer one degree, most likely in Computer Science. The simplicity may have a drawback: the number of courses offered may be small and few opportunities for specialization may exist. On the other hand, many liberal arts colleges provide a strong computer science education that is often combined with flexibility, allowing students to take diverse courses in other areas.

Large, research-oriented schools tend to offer multiple computing degrees. The types of degrees and specializations offered are often influenced by whether Computer Science is in a College of Science, a College of Engineering, or in its own College (e.g., College of Computing, School of Information).

Most schools provide information and guidance for incoming students. For example,

Many rankings of computer science programs exist. No ranking is perfect and many schools not ranked or not ranked highly can provide an excellent undergraduate education. The US News and World Report rankings have a good reputation and are respected by universities and colleges. They rank different types of institutions, different research areas, different geographical regions, and more.

Students majoring in a STEM field often consider getting a minor in Computer Science. Having a CS minor will give them additional and often attractive job opportunities after graduation. A minor typically consists of 5-6 CS courses (the student is expected to have the appropriate math courses).  Students majoring in math or physics can often double count courses and may be able to complete a minor with less effort.  Guidelines and expectations differ and a student needs to find out the details for the particular program.

************************************************************************************************************
Aman Yadav is an associate professor in the College of Education at Michigan State University. He serves as the teacher education representative on the CSTA board of directors. Follow Aman on Twitter @yadavaman