An extra reason for you to head south this July!

July is probably the most important month in the CSTA agenda: it is the time of year when computer science teachers from all over the world join to exchange ideas and practices while attending the premier professional development event tailored specifically to their needs.

This year, the CSTA Annual Conference will take place from July 12th to 14th in Grapevine, Texas; the lineup of workshops and presentations is so stimulating that many of us will have a hard time choosing which concurrent session to attend! But this year there’s an extra reason to head south, that many attendees may not be aware of: it so happens that this year the Annual Conference of Wikimedia* enthusiasts from all over the world will be held from July 15th to 19th in Mexico City, Mexico.

The conference is aptly named “Wikimania”: ask any long-time Wikimedia editor why and she’ll talk passionately about the values of the largest crowd-sourcing community in the world. I, for one, have been a Wikimedia editor since 2007 and most of my edits have been made in the context of school projects involving students of all ages in Grades 7-12. Over the course of nine school years to date, my classes have gained skills, knowledge, appreciation for teamwork and pride in contributing to five of the total fifteen Wikimedia projects in two different languages; it’s been an absolutely priceless experience, and every year it just gets better.

The Wikimania conference is annually held in a different place in the world since 2005.The conference program encompasses a number of tracks, which means there is always something fascinating going on no matter what your interests are: this year the first two days (15th-16th) will host a Hackathon (or DevCamp), followed by three days of workshops, presentations, quick meetings and much, much more. The tracks that educators will  be most interested in are, no doubt, Education and GLAM (that’s Galleries, Libraries, Archives and Museums)… and of course, computer science teachers and enthusiasts will be sure to enjoy the hackathon.

Each year the Wikimedia Foundation awards around 100 Wikimania scholarships to active members of the worldwide Wikimedia community to cover travel and accommodation expenses; I am proud to be one of the two Greek Wikimedians who earned a scholarship this year. So, why not join me as I head further South after Texas this July?

All in all, an exciting week of professional development, hacking, learning and sharing (not to mention, tequila parties!) lies ahead this summer… hope to see you in Texas and Mexico:)

More information about registration here (link should be active in a matter of days)… or just drop me a line and I’ll be glad to assist.

Read this post for more about how integrating Wikimedia projects into your classroom can enrich your students’ learning experience.

*Wikimedia is the “umbrella” Foundation for Wikipedia and it’s 15 sister projects.

Mina Theofilatou
CSTA International Representative
Kefalonia, Greece

End of year thoughts

Its that time of year for end-of-year projects, crazy state testing schedules (in Ohio at least) and other random activities. As an end-of-year project, many of us assign open ended projects so our students can demonstrate their knowledge, do something that interests them, and to stretch their minds. This year I have a very eclectic group of programming students and have been surprised many times by their interests and abilities. This end-of- year project is no exception.

What I have learned is that they are stretching my brain in the process of stretching theirs.  I have spent more time sitting next to students analyzing a problem, discussing possible solutions, teaching them a particular construct that they need that maybe we haven’t covered, and loving every minute of it. I have been busier than normal with questions and they are not slowing down.

This project had a component in it that previously failed with another class. However, I think it is what has pushed this group to envision possibilities. In the students project plan I had them give me four different variations of the program they could do – “something that works”, “average program”, “extras included”, and “the sky is the limit program”.  This group really thought about what they would do to have something working and then many different possibilities of the other versions. Most of the students are shooting for the sky and I am thrilled to watch them. Unfortunately, with time constraints, many will end up in the “extra” version of their program but even that will far exceed my expectations.

This class of students has reminded me of the old saying about if you have high expectations the students will rise to the occasion; however, in this case the students have the high expectations and are working hard to not let themselves down. These past couple of weeks have reminded me of why I am a computer science teacher and just how exciting CS can be when “the sky is the limit”.

Public-Private Partnerships in Computer Science Education

By: Lorilyn Owens, Director, Oracle Academy North America

Industry partners are content providers, augmenting and enhancing curriculum resources. Industry partners are funding sources, helping support classroom resources, professional development, and extracurricular clubs and activities. Industry partners provide volunteers to support classroom teaching, lending expertise and credibility to real-world ideas. All of these ideas were expressed by experienced educators at the 2014 CSTA conference during the Oracle Academy panel discussion focused on how to maximize public-private partnerships to better support computer science (CS) education. When it comes to CS education, which approach is right? Or are they all right? The lively discussion only began to scratch the surface. We did learn, however, there is no one right answer.

For more than 20 years Oracle, through its flagship philanthropic Oracle Academy program, has worked to advance computer science education and make it more accessible and engaging to students everywhere. Oracle Academy supports continuous computer science learning at all levels, and makes available a variety of resources including technology, curriculum and courseware, student and educator training, and certification and exam preparation materials.

Over the years, we have seen tremendous progress with public-private partnerships. Recently there has been an influx of both industry and nonprofit organizations that provide support for computer science education. While some of the resources come with a hefty price tag, many of them are free or low cost. The resources often differ in scope and objective. Some resources are vendor specific and some are vendor neutral and focus on core concepts and foundational knowledge. Some resources are event driven and others are curriculum based. Some resources focus on students and others focus on educators. There are e-books, videos, software, games, and countless websites with downloadable resources. With so much available, how do you choose what is right for you and your students? Rather than solely considering the available resources, perhaps you should also look at the resource provider and seek an opportunity for a public-private partnership.

Although we cannot provide specific guidance, in our experience, effective public-private partnerships in support of CS education do three things:

  1. They provide an opportunity for true engagement. If an industry partner is seen only as a project funder with little direct engagement with students or teachers, it is a missed opportunity for all involved. Seek a partnership that helps foster a strong and supportive community of practice, and provides support for educators at all levels.
  2. They are mutually beneficial. The arrangement should clearly articulate what the industry partner can offer the educational institution and what the educational institution can offer the industry partner. All involved need to be sure they deliver on commitments.
  3. They help address the need. Don’t lose sight of the problem you are trying to solve. Have a good understanding of what you are trying to accomplish and what is needed to achieve that goal. Then, seek a partnership that truly helps to deliver what is needed. Finally, consider including success metrics as a way to evaluate the effectiveness of the public-private partnership in addressing your needs.

Access to computer science education, regardless of gender, ethnicity, or socioeconomic status, is a defining 21st century social issue. Technology permeates our lives and drives the global economy. Future growth requires people with strong computer science skills. As we work collectively to prepare the technology innovators of the future, consider engaging in public-private partnerships to support your efforts. They can be effective avenues to increase access and opportunity in CS education.

New IT Roles Produce a Slew of New Job Titles

In case you missed this CIO.com article in March, I thought I would share it here. The topic is a good one for discussion with students who might not see themselves as software engineers or computer scientists. The article discusses the new business landscape for some of the larger IT companies and how they are redesigning their infrastructures to accommodate the changing needs of the industry. The article touches on a few of the less talked about job positions that are needed for a vast majority of new, or re-envisioned jobs, for the changing IT landscape. This includes roles such as project manager, solution architect, data scientist, and new customer service oriented positions that some companies are developing outside the traditional “customer service” role.

http://www.cio.com/article/2899037/careers-staffing/new-it-roles-produce-a-slew-of-new-job-titles.html

Advocating the “Coolness” of CS

Quick – what is one “cool thing” about computer science? Hopefully several thought flooded your brain and you probably had trouble deciding what one thing you would reply with. I would assume that would be the case with most CS Educators and supporters; however, what would your students say?

It is scheduling time at our high school and students are making decisions about what courses to take and why. When a student looks that the computer science offerings what comes to their minds? What message have you gotten out to the students? Do they think it is cool? Important? Necessary for future? Fun?

We send messages to all students in our classes and I think we need to be purposeful about those messages sometimes. Over the past month I have reiterated how cool computer science is in my programming class by promoting “there is no one right answer – you can solve problems how your brain works and thinks”. My programming class had an ah ha moment when we were working on a program and I showed a couple different ways it had been completed and that both ways worked. For my part I did mention that as you learned more there may be better solutions in term of speed, efficiency, etc. but that right now I just wanted them to solve problems how they saw them.

A couple days ago we were removing an object (a car) that got to the edge of the screen (a frogger simulation game). We discussed a removeObject method and how you would go about using it and they all were happy they could now remove the pile up occurring on the side of their screen. I stopped them though and said….there is another way of doing this – maybe better or maybe not – but it is how I saw the program for the first time. Then I began to explain I wouldn’t remove the cars. I would reset their location on the screen and reuse them as if they spawned on the other side. Because of that I also would not continually create new cars, instead I would create a set number and kept reusing them. I said that is how my brain envisioned the game the first time I saw the program. There were some nods of understanding and then I said “but that is the beauty of programming, I could do it that way and others could remove cars but we would all still have a working frogger style game.”

I think we need to remind students why CS is awesome, why we love CS, and I think it is important we share how we view solutions especially when they may not be the most common way. It makes other students more comfortable to solve something the way they see it. Then maybe they tell their friends “Computer Science is cool. I can solve problems the way my brain thinks.”

Computing for the Common Good

In starting to write a long overdue blog post, my thoughts are inevitably on the reason it took me so long: my mother has been seriously ill since the beginning of the year. Throughout the past two months I have been consulting with doctors and medical specialists on a quest to find the best possible solution to her current symptoms, fully aware of the fact that her condition may soon become terminal.

I live on an island on the west coast of Greece; it may be one of the largest islands in the country but there are many shortcomings when it comes to healthcare. Although we do have a hospital, several departments (e.g. gastrointestinal), procedures (e.g. ERCP) and an Intensive Care Unit are missing.

Throughout the three years of my mom’s illness, I am more than certain that she wouldn’t have made it this far if it weren’t for computing. Hardware and software – scanner, digital camera, smartphone, imaging software, e-mail, cloud drives – have all been employed to transmit vital information to doctors in Athens so that they can make timely decisions on her treatment. Sometimes the necessary actions can be taken in Kefalonia – in which case ICT “takes over” to complete the feedback loop. Usually she needs to be transferred to Athens – seven endoscopic and one standard (this last one) surgical procedures plus intensive care, all dependent on cameras, probes, monitors etc. – plus a “fighter” attitude and she’s still here with us, with good quality of life for as long as humanly possible.

On a different note, the school project I am probably proudest of was completed by my students four years ago: amidst a severe humanitarian crisis in Greece we devised a system for distributing meals to the needy based on the concept that volunteers need only contribute a plate of food from their daily cooking. All the material needed to deploy the system in a community is available under a Creative Commons license at enapiatofaghto.wikispaces.com. (in Greek. For an English summary featured in the European Year of Volunteering 2011 see here)

Now that smartphones and tablets are ubiquitous we may even develop an app for mobile users (anyone interested in furthering the project is free to do so: that’s what the CC Share Alike license is all about!)

The point I am trying to make in this post: all too often when we talk about teaching our students computing we naturally focus on computational thinking, coding classes, how to successfully pursue a career in computer science and technology… for students on the other hand, all too often computing means gaming, social media, entertainment and a profitable career. The videos I reviewed as a member of the Equity Committee in the recent “Faces of Computing” competition showed that this is the primary message our students are getting (though there were some brilliant exceptions!). Perhaps it’s time we encouraged our students to explore the wonderful prospects computing has unlocked in dealing with illness… in helping people in need… in fighting injustice. Perhaps it’s time to shine a spotlight on Computing for the Common Good.

This post was written in Ippokrateio General Hospital in Athens, Greece and is dedicated to its medical, nursing and administrative staff (especially Drs. A. Romanos and S. Matthaiou). In Greek “Ippokrateio” means “belonging to Hippocrates”… I am certain the “Father of Medicine” would be proud of them!

Mina Theofilatou, CSTA International Representative

L’Oréal For Women in Science Program

I don’t hear often enough about the accomplishments of young women in professional or near-professional accomplishments in CS, so I was excited to learn about the annual L’Oréal For Women in Science program that recognizes and rewards the contributions women make in STEM fields and identifies exceptional women researchers committed to serving as role models for younger generations.  More than 2,000 women scientists in over 100 countries have been recognized since the program began in 1998.

The L’Oréal USA For Women In Science fellowship program will award five postdoctoral women scientists in the United States this year with grants of up to $60,000 each. Applicants are welcome from a variety of fields, including the life and physical/material sciences, technology (including computer science), engineering, and mathematics.

Do you know someone who qualifies? Do you have acquaintances in universities who might know candidates? Please send them the information.

Applications opened on February 2, 2015 and are due on March 20, 2015.

The application and more information on the L’Oréal USA For Women in Science program can be found at www.lorealusa.com/forwomeninscience.

Should you have any questions or require additional information, please e‐mail rpacifico@us.loreal.com.

10 Lessons Learned from Developing a PK-12 Computer Science Program in SFUSD

by Bryan Twarek
Division of Curriculum & Instruction, San Francisco Unified School District

Computer science (CS) is becoming increasingly critical to a student’s success in preparing for college and career. In today’s digital age, all students must develop a foundational knowledge to understand how computers works and the skills required to creatively solve real-world problems. However, the vast majority of schools do not yet offer computer science instruction. In fact, in San Francisco public high schools, only 5% of students are enrolled in a computer science class, and only half of the schools offer a single course. Even at the schools that do offer computer science, the students in these classes are generally unrepresentative of the schools’ population as a whole, with far fewer females and students of color.

It is critical that we address this need with an equity mindset and ensure that all students have access to computer science, beginning in the earliest grades. With this in mind, the San Francisco Unified School District (SFUSD) has committed to expanding its computer science programming to ensure that all students at all schools have experience with high-quality computer science instruction throughout their PK-12 educational career.

Currently, we are developing a policy and implementation plan for integrating computer science into our core curriculum. As part of this work, we are crafting a PK-12 scope and sequence of essential knowledge and skills to be taught at each grade level. We will pilot at select schools next school year, with fuller implementation in 2016-2017.

I would love to share 10 lessons that I have learned through my experience with this initiative:

  1. There is a lot of excitement around computer science.
    Many schools had a taste during the Hour of Code and are now asking for more. Through surveys and interviews, we have determined that the vast majority of teachers, administrators, students, and families support expanding computer science instruction. In fact, 100% of surveyed teachers responded that it is important for their students to learn computer science.
  2. Most adults don’t have prior experience with computer science.
    It is challenging to begin teaching a subject that most never learned themselves in school. While most of our current high school computer science teachers have a degree in CS or relevant industry experience, this is not a scalable practice. We will have to develop teachers from within the district, and they will need to learn the content before learning how to teach it to their students. For this reason, we plan to utilize dedicated computer science teachers at all grade levels, rather than have all multiple subjects teachers to integrate a new discipline into their classes.
  3. Defining computer science is tricky.
    Many people mistake computer science as educational technology (i.e., integrating computing into teaching and learning). Others believe that computer science is just programming. Developing a thorough, yet concise definition of computer science is challenging even for experts. It’s been helpful to present the five strands in CSTA’s K-12 Standards as a way to simple way to articulate the various aspects of computer science. 
  4. We must begin teaching computer science at younger ages.
    Unfortunately, we have noted that females and students of color are underrepresented in computer science classes, even as young as sixth grade. Therefore, we must reach children before they develop constructs of who pursues and excels in STEM fields. We plan to normalize computer science education by guaranteeing access to all students when they first enter our schools in kindergarten or pre-kindergarten. 
  5. Little academic research and few curricula exist.
    There has been little academic research on K-12 computer science education since the days of Seymour Papert, which makes it difficult to know exactly what to teach and how to teach it. Additionally, there are very few cohesive computer science curricula targeted for elementary and middle school students. Only within the last one to two years have organizations like Code.org and Project Lead the Way created K-5 CS curricula, and it will likely be several more years before we have a clear picture of what works well.
  6. Great things are happening outside of the classroom.
    While few of our students currently take computer science classes, some excellent nonprofits, community-based organizations, and individual teachers have worked to fill in these gaps. Clubs, after school activities, one-time events, and summer programs offer additional opportunities to engage with CS. Some try to reach all students, including: Mission Bit, FIRST Robotics League, CS First, and Coder Dojo. Others target underrepresented populations, including: Girls Who Code, Black Girls Code, Chick Tech, and Hack the Hood.
  7. We must attack this issue from multiple angles.
    Developing a plan to go from 5% of students to 100% takes time, but we recognize that if we wait for our plan to be fully implemented, we will miss many students. We can start providing computer science education even before we create new classes by advocating for and supporting clubs, after school activities, and informal opportunities outside of the classroom. We can also quickly start trying ideas out with interested schools and teachers who already have the technology and time for instruction or space for integration. Additionally, we are also working to bring CS classes to more schools by leveraging industry professionals to volunteer and develop our teachers through the TEALS program.
  8. It is important to leverage successes.
    It is easier to gain traction when there are successes to point to. We already have strong three-course computer science sequences at two high schools, so we are using these as models for expanding to other high schools. Plus, pilot programs will allow us to learn from their trials, successes, and struggles as we develop our plans for scaling to all schools in the district.
  9. Competing priorities make it hard to fit in.
    Even when various stakeholders agree to the value of providing computer science education to all students, it still leaves the contentious questions of where and how this fits into the schedule. That is, how many hours do we devote to CS, and do we integrate into existing classes or create new ones? if we have dedicated CS teachers at all levels, we have to hire more staff, but we gain better quality control and more effective teacher development. On the other hand, if our science, math, and multiple subjects teachers teach CS, they can leverage their strong relationships with students and more seamlessly integrate with other content areas, but the majority don’t have background experience and are already working to transition to the Common Core, alongside many other important school and district initiatives. Since few K-12 models exist, it’s even more difficult to come to a consensus.
  10. Our plan will have to be continuously updated.
    The field of computer science is still relatively new, and technologies quickly become outdated. We must acknowledge that the field will continue to rapidly evolve in sometimes unpredictable ways, and as such, our plan for teaching computer science will also need the flexibility to continuously adapt.

Accessibility in Computer Science

During January 23-24, 2015, I attended an AccessComputing meeting (Alliance for Access to Computing Careers) that focused on ways to increase participation of students with disabilities in computing courses. As an educator, it was a useful meeting where I learned not only about the importance of focusing on meeting the needs of EVERY student, but also about the useful resources AccessComputing provides for CS educators. Richard Ladner, who leads the alliance makes a strong argument for why we should support all students stating, “when more citizens have access to computing opportunities, and when computing fields are enhanced by the perspectives of people with disabilities, we all benefit.”

AccessComputing offers a number of resources and tools that educators could incorporate in their classrooms. The website has resources on how to web pages accessible by following these 30 accessibility tips and how to apply the principles of universal design to make sure computing facilities are accessible. If you have students who need accommodations in your classroom, visit AccessComputing accommodations section to “find tools and resources for assessing the accessibility of your lab or department and developing accommodation strategies”. Another useful resources is the knowledge base, where you can learn about specific disability related issues.

 

 

Teaching and learning with “gift code”

Last month I co-taught a two-and-a-half day workshop introducing students to building apps with MIT App Inventor. Some of our students had prior programming background, and others did not.

Here, our goal as teachers was to get our students engaged in their own original projects (rather than teaching any specific set of computing concepts).

I’ve done a bunch of workshops like this, with learners of all ages, and we’ve developed the concept of “gift code.” (Thanks, Michael Penta!)

With gift code, a student describes their idea to you, and you translate it back to them in the form of working code.

Ideally, gift code has the following properties:

  • It’s short. I’ll dictate the code and have the student type it in (or in the case of App Inventor, select and configure the code blocks). It really has to be small so neither of us gets impatient.
  • It works. The premise is that the student will understand the computational ideas in the code by seeing them work. Often the code will combine a bunch of concepts together—ideas that would be hard to explain individually, but make sense when combined into a working unit.
  • It’s the student’s idea. This is pretty important—the code should embody the student’s idea! But it’s OK to simplify what they said, as long as it demonstrates the essence of what they wanted.
  • It’s extensible. This is crucial. In a few minutes, I’m going to walk away and work with another student, and I want my student now to understand enough so that they can keep going. It’s fine if their next step is a copy-paste of the same code structure—e.g., adding a new condition-action rule.

It’s really fun when it works. Students are empowered because they can get complex things working quickly.

In the best case, an hour after receiving gift code, a student has full ownership over it. They understand it, they have added to it, and they don’t even remember that I gave it to them. (That’s totally fine with me.)

Do you use gift code in your own teaching?

Fred Martin
CSTA University Faculty Representative