Reflections on Teaching Computing, Ethics and Social Responsibility

This fall, I taught an undergraduate class (at the University of Colorado Boulder) on Computing, Ethics and Social Responsibility.   It was a wonderful experience.    I think there are some lessons from this experience that are relevant to high school teachers who are thinking of introducing some discussion of issues in ethics and computing into their courses, even if just a few classes or portions of classes are devoted to this topic.   There also is an increasing awareness that these sorts of issues shouldbe introduced to students studying computer science in high school.   So, a few reflections:

  • There are lots of interesting topics.   My course included discussion of: internet privacy, including targeted advertising and the Right to be Forgotten; internet security and hacking; facial recognition; misinformation; impacts of internet and social media on our lives, particularly those of young people; algorithmic bias; gender and race in algorithms, and in the computing industry; use of robotics in eldercare and in warfare; autonomous vehicles;  medical and healthcare applications of computing; and the impact of computing technologies on the future of work.   Certainly there are some topics in that list that would interest you and your students!
  • The best resources are recent media articles.  And there is no shortage!   You can easily populate a few classes from what pops up in your newsfeeds in recent months.   There also are ways that you can find references that other people have used.   One approach is to go to this crowdsourced listof courses in tech ethics and look at the references used in some of those courses.   There is work in progress in ACM aimed at organizing a repository of links to such articles.
  • Students are interested.   My experience was that there was plenty of interest and enthusiasm from students for these topics, particularly ones that related to the students’ experiences and interests.    One example is how sites such as YouTube, or any site with ads, decide what to recommend to us next – everyone has experienced that and wondered about it a little.  Robotic applications are another – everyone wonders what’s coming in their lifetimes.
  • The students’ perspectives may be different than yours.   An example in my course was discussions of privacy and surveillance; the famous 1999 remark of Sun Microsystems CEO Scott McNealy, “You have zero privacy anyway.  Get over it.”, seems to have become much closer to the reality of the current younger generations.
  • Small group discussions are particularly effective.    The students got energized about discussing a particular topic or an article they had read and then summarizing their small group discussions with the full class. Groups of 3-5 students and 10-15 minute discussions seemed to work well.
  • Short written assignments are effective.  This is a nice opportunity for students to be resourceful by finding a recent article related to ethics and computing on their own, and submitting a short summary and reflection on it.
  • There is a field called philosophy.   Most undergraduate courses in this area introduce several philosophical theories, most commonly deontology, act utilitarianism, virtue ethics, and sometimes social contract theory.   This may not be feasible in a briefer coverage in high school, but it may be good to make people aware that theories like this underlie a careful treatment of these topics.
  • Your mileage may vary.    As always.
Bobby Schnabel
Board Representative

It’s a New Year!

Happy first CSTA blog post for 2020! Each year I try to reflect on the past year to help gain perspective for the next. When I think about CSTA and 2019, I have a warm and fuzzy feeling inside. It’s been a wonderfully success year for CSTA – from the conference in Phoenix to the amazing volunteers to the fabulous new additions in our staff to the increase of CSTA chapters across the country! WOW! Great job, everyone!

What people often don’t realize is the amount of hard work that goes on behind the scenes. Our volunteers are an essential part of what makes CSTA a growing, vibrant organization. A couple of the people who have greatly contributed to the fabulous 2019 are Fred Martin and Jen Rosato – they are the past and current chairs of the CSTA Board. They started as volunteers and have demonstrated their passion for K-12 computing education and our community. I have been lucky to be on the Board while Fred and Jen have been in leadership roles. I admire their inclusiveness and willingness to listen. I enjoy the way they organize and run meetings. And I greatly appreciate their many hours of work to help CSTA become an organization that benefits K-12 computing teachers. 

As we start a new year, we will be deciding on how to spend our “free” time. There are many worthy organizations and activities we can join. They all need great volunteers. If you haven’t been a CSTA volunteer before, I highly recommend you consider trying us out! If you’re already a volunteer, be sure to keep up with all of the new activities that you may want to participate in! You don’t need to give up sleeping to volunteer – join your local chapter and participate in local activities, share something you’ve learned with another teacher. Be a part of CSTA family! (We’re really fun!!)

Here’s to an even more exciting CSTA in 2020!

Jane Prey ACM Representative

The Importance of Industry Partnerships in CS Education

By Dan Blier, CSTA Board of Directors (District Representative)

One main purpose of computer science education is to prepare students for industry.  Without industry partnerships, our CS programs may not be preparing students for the workplace.  As part of my responsibilities of building and support a Pre-K through 12 grade CS program, I work with several industry partners. 

As we prepare students for future jobs, we also need to better understand what companies, who will be hiring our students, need.  We must push past teaching only programming syntax.  Students must be able to collaborate with others and come up with creative solutions to various problems.  In one conversation with an industry partner, we asked what issues they see from newly hired computer science majors.  Some issues were simple things like not showering to go to work.  However, other issues were more concerning.  New hires are attending planning meetings and not engaging by asking questions.  They return to their desk lacking clarity of their assignment because of this issue.  We must provide students opportunities to engage with each other and to feel comfortable asking questions in a group or classroom environment. 

Our district has worked with several locally-based industry partners such as USAA, Finastra, Capital One, Texas Instruments, Boeing, Toyota, Amazon, and JPMorgan Chase.  These companies reach out with a variety of opportunities for their employees to engage with our students.  When students have an opportunity to meet people who work in the field, students gain a better understanding of CS-related jobs.  Some students would never know about these types of jobs without these experiences.  Getting an opportunity to see what the workplace looks and feels like is an important part of CS education.  Through these partnerships, students have been brought to these organizations to engage in coding activities while collaborating with employees.  Hackathons are another great way for students to engage with industry partners while learning more about careers in CS.  In other cases, industry partner employees have visited our classrooms to lead Hour of Code activities or other coding experiences.  These employees are always asked to share something about their job with our students. 

In some cases, teachers can participate in externships during their summer break.  Teachers in the CS program have come back and shared their experiences with the rest of the CS team and brought back industry knowledge to their classrooms. 

Students will eventually have to interview for computer science positions in companies.  One thing that has come up through our discussions with industry partners is that candidates go through what is called a whiteboard interview.  The candidate may be interviewed with other candidates in a group situation.  They may interview with a team of employees.  Through the whiteboard interview process, candidates must show their ability to think on their feet, take their content knowledge and come up with a creative solution within the parameters set by the company, and engage with others.  Some organizations are no longer requiring a bachelor’s degree for an entry-level employee.  If we are to prepare our students for these entry-level jobs, we must prepare them for the interview process.  Industry partners can be helpful in providing volunteers to come run students through such a process. 

Whether you are in a metropolitan area like Dallas-Fort Worth or in a rural area, there are different ways to engage with industry partners.  Organizations like TEALS ( can help you connect with industry partners wherever you may live and work.  Here are some other computer science career-related resources to check out.

Dan Blier
District Representative

From 70 MPH to 55 MPH

There is a feeling when you are driving on the open road and just enjoying the flow of the traffic and you are just cruising and advancing at a constant pace, that is satisfying. Then, there is the feeling when you enter the big city, at peak traffic time, when you feel you are never arriving at your destination and then you are stuck behind a nice sweet grandma driving. Well, these are feelings I have gotten to know well in my teaching life. Throughout my 19 years of teaching Computer Science, I have had the opportunity to teach all divisions from K-12 and all of them have their rewarding and challenging moments. This year I was asked to teach 6-8. I have to say that I am in my first semester and I have gotten a huge sense of respect for Middle School teachers.

When you teach Pre-school or Elementary you feel like you are getting bright new brains that are waiting to be filled in with new information. When you teach High School, you get kids that are going through the maturity process of finally getting that what they do in this stage will determine what they decide to do for their higher education. And then there is Middle School, that limbo stage of it all. That peak hormonal stage where kids are confused about everything. Their priorities change not only every day but several times throughout the same day. This has made me change and adapt to the way CS should be taught.

I had never had to modify so many plans on the go as I have this year. You plan and plan and then somedays it is the best lesson ever and somedays it just not. So how do middle school teachers do it? I am relearning how to teach CS and I have a lot of help from my colleagues in the same hallway. They have been the best induction to teaching Middle School as no book or article can tell you how to best get these kids inspired or show their creativity like another teacher doing the same, does.

My kids have achieved amazing projects, but in the process, I have learned who has a crush on whom, who is now friends with whom and just a plethora of gossip that I did not know had to be now part of my information bank. It is amazing that they can be programming a Micro: Bit, creating a videogame using Scratch, designing 3D models, all while socializing and sharing their lives both in-person and digitally. I now have a new definition of multitasking. I have also learned that even if they are doing this, as long as they are working, everyone is happy! Thank goodness for headphones. One of the most wonderful things is that this is the age where they don’t hide their passions for something and if I am smart, I use these snippets to my advantage and plan lessons accordingly. Keeps me on my toes. This is a crucial moment when I can open their minds to all CS has to offer, I just have to move all the other clutter in their heads to a side.

So I might not be driving at 70 MPH as I was when I was teaching High School but while driving at 55 MPH I can see what’s going on in this big city called Middle School and how these kids are shaping their lives and finding themselves one CS project at a time. Once again, my biggest applause and respect to all those Middle School CS teachers out there.

Michelle Lagos

Representative at Large

Celebrate the 10th Anniversary of CSEdWeek

This December marks the 10th anniversary of Computer Science Education Week (CSEdWeek) and it’s remarkable how far it has come. I’ll be honest, I wasn’t a CS teacher during the first-ever CS Education Week, so I can’t claim to remember the full history, but thanks to the magic of unlimited email storage I can share the first email I ever got about CS Ed Week:

It’s no surprise that my local CSTA chapter was also my connection to the early days of this national movement. I know I proudly took the 2010 CSEdWeek pledge (not that I can remember exactly what the pledge was anymore).  In 2011, I remember trying, unsuccessfully, to get my local alderman to get the Chicago City Council to officially proclaim CSEdWeek. Given the amazing momentum around CS education, it’s easy to forget that we’re building on a foundation built by passionate teachers, and I am so proud that CSTA has been there supporting teacher voices from the start.

That’s why I’m very excited that CSTA will be co-hosting this year’s CSEdWeek kickoff. We’ve partnered with and the Computer Science Alliance to launch CS Ed Week 2019 in Santa Fe, New Mexico, on Dec. 9 with an insightful panel discussion focused on this year’s theme — CS for Good — and the announcement of the 2019 Champions of Computer Science. For those of you who can’t make it to Santa Fe, we’ll be live streaming this event, so I encourage you to watch if you have the opportunity.

Behind the scenes at CSTA, our team has been developing new classroom resources honoring the CS for Good theme, including a set of posters that feature diverse people who use CS for Good in multiple industries. We’ll be releasing these as part of our CSEdWeek celebration, so make sure you’re following our social media channels to learn how to download the posters. 

What happens in each of your schools and classrooms is what makes CS Ed Week most exciting. Please share what you do by tagging @csteachersorg in your Tweets and use #CSforGood #CSEdWeek in your posts.

Jake Baskin, CSTA Executive Director 

Dr. Jan Cuny’s National Impact On Computer Science Education

by Art Lopez, 9 – 12 representative, CSTA Board of Directors

In writing this blog post, I wanted to take the opportunity to share with you, our members, the impact that Dr. Jan Cuny has had on our children, our communities, our country and on computer science education. I do not know if you know or heard about Dr. Jan Cuny; Jan is the Program Director for Computing Education in the in the Division of Computer and Network Systems for the National Science Foundation and, in my opinion, why computer science education has progressed so far forward for the past several years.

I first met Jan in Washington, D.C. in an event sponsored by the NSF and the White House Office and Science Technology in 2014 on recognizing the top 100 CS educators in the country. Jan informed us of the importance of providing computer science education in public education for ALL of our children, the broadening of participation of underserved and underrepresented groups in computer science (women, ethnically diverse, and learning differences), and equity access. Jan was incredibly inspiring, and I found an article she had written in ACM Inroads, {VOL 3, ISS 2, (June 2012)} named Transforming High School Computing: A Call to Action. Jan clearly outlined how important computer science education is for our children and our country’s future.

I was so inspired, yet, at the same time, unsure of what I could do to help contribute to advancing computer science education in my community and region; I did not know how to proceed. A few months later, I got to meet Jan again and was able to have a conversation with her. Jan said she believed in and encouraged me (and so many others!) to think of ideas on connecting with our higher education colleagues and organizations such as CSTA,, Exploring Computer Science, CS for All, CSforAll Teachers, and the Broadening Participation in Computing Alliance Program  (BPC-A) (just to name a few), to motivate young people and adults of the importance of computer science education in their lives; to broaden participation and provide equity access for computer science education that can change the lives of our children and communities for the better. Through Jan’s connections and the NSF funding of programs, I connected with my higher education colleagues at UC-San Diego to help push forward computer science education in my district, the Sweetwater Union High School District, the region of San Diego and Southern California.

I wish I had the space to share with all of you of the efforts and work Jan has done in having so many people and organizations to be a part of this endeavor and national effort, such as the creation of the AP Computer Science Principles course, Exploring Computer Science, providing training and resources for teachers and students, broadening participation, equity access, and so many other programs. Unfortunately, I can only offer a small view of what Jan has done.

Jan has, through the NSF, not only impacted and offered me opportunities to impact the education of our children, but impacted and created a community and a network of so many people and organizations that can collaborate and share their expertise: experts in computer science and educational practices with teachers who are experts in teaching. It was, and remains today, a great collaborative effort for the advancement of Computer Science Education for our children and country.

A few months ago, I got to see Jan speak at the College Board’s AP CS Principles reading and once again, was so inspiring with her talk to the readers. I had a side conversation with her and really enjoyed our discussion about how far we had come in providing computer science education courses to so many more students, schools and communities in the past few years; but we also talked about how much more we had to go to reach out to ALL students; this would NOT be happening without Jan’s commitment and vision.

Recently, Jan has decided to retire from the NSF; there was a great tribute to her at the CSforAll Summit, and many people whose lives she has touched over the years shared with her how important and central her vision and she has been for the advancement of computer science education, broadening participation and equity access.

I did not get a chance to be there and do the same; but, I can share with you, our members, the importance of Jan Cuny and what she has done (and continues to do!) for the advancement of Computer Science education for our kids, teachers, communities and country. Jan gave teachers, higher education colleagues and institutions, and organizations the opportunities to integrate and embed computer science education in public education, to impact and hopefully make the future of our children’s lives and communities better; and I think that is the best thing I can say about anyone: Jan, you made the world a better place; thank you Jan.

Art Lopez
9-12 Teacher Representative

Thinking about Reflection

I have always loved this quote by Seymour Papert: 

“You can’t think about thinking without thinking about thinking about something.”

It always leads me to wonder what students are thinking about their thinking as they are learning. Are they able to think about and grasp the concepts they are learning as they write a game in Scratch or program a step counter on a micro:bit or build and program a robot? Are they able to understand what they have learned and transfer it to a new programming environment? What can we do as teachers to help our students to think about their thinking so they can understand what they are learning? 

To make reflection a normal part of the process for my students, each student has a portfolio website for sharing and reflecting on the projects and activities they complete during their technology classes. My youngest students use Seesaw for sharing their work. Starting in 3rd grade, my students use Google Sites for their portfolios. This allows the students to not only think about their thinking and reflect on their current work but it lets them look back at their thinking in prior years, as well. 

I decided to use these types of portfolios for a few reasons:

  • Reflecting on and documenting their work may help to meet computer science standards, including:
    • 1A-AP-15: Using correct terminology, describe steps taken and choices made during the iterative process of program development.
    • 1A-IC-17: Work respectfully and responsibly with others online.
    • 1B-AP-17: Describe choices made during program development using code comments, presentations, and demonstrations.
  • Since the students are writing during their computer science classes, it may also help them to improve their writing skills and meet language arts standards as well – CCSS.ELA-LITERACY.CCRA.W.2: Write informative / explanatory texts to examine and convey complex ideas and information clearly and accurately …
  • Their portfolio shows their growth over the years.

It can be difficult to get students to think about their work. To help, younger students are given sentence stems to complete or are asked to answer certain specific questions when they post their work. They will also often record their answers rather than typing in their answers like Natalie did when she was in 1st grade talking about Hello, Ruby lessons

Upper elementary and middle school students are still given questions and other guidance to help them focus on their thinking and learning but the amount of guidance decreases dependent on the grade level and ability of the student.

3rd Grade Girl Scratch Project Reflection
4th Grade Boy Scratch Project Reflection

Check out a 7th grade girl’s reflections on working with micro:bits.

While I love using student websites or blogs as a vehicle for students to think about their thinking and reflect on their learning, it’s not always possible to do so. It also does increase the time required to finish an assignment or project. This got me thinking about other less time intensive ways for students to reflect on their learning and serendipitously this popped up on Twitter:

I love the idea of using a simple checklist document to help students reflect on what they are actually learning. This could easily be printed or turned into a Google Form and used as an exit ticket in the last few minutes of class. 

How are your students thinking about their thinking and reflecting on their learning?

Vicky Sedgwick K-8 Teacher Representative

Using Drones in the Classroom

Many students look at drones as cool toys to play with, not an emerging technology with several career possibilities. Drones are being utilized in several industries and are making huge impacts on society. Below are a few examples:

From an educational perspective, exposing students to drone technology in the classroom provides an innovative learning experience. In addition to having students explore the many career possibilities in this fast-growing, multibillion-dollar industry, drones can also serve as an educational tool to teach computer programming. Drones also present many opportunities for students to practice 21st Century Skills, such as communication, collaboration, critical thinking and problem-solving. Last year I implemented Apple Swift Playgrounds and the Parrot Education Subscription to teach my students how to program and pilot a Parrot Mambo drone. Students learned how to program a drone to takeoff, land, move in all directions, make aerobatic figures, and even control accessories. It was a successful hands-on learning experience for my students and they had the opportunity to see first-hand the cause and effect of their programming. Although there were many successes, there were also failures, providing authentic opportunities for learning. For example, one of the challenges I gave my students was to program the drone to fly through an obstacle course. This challenge posed a lot of struggles for my students; but every time they failed, they worked to troubleshoot their programs and figure out why the drone was not doing what they wanted it to do. They then fixed their code and tested it again. The perseverance that I witnessed by my students during this experience was truly amazing. 

Drone resources that I use in my classroom can be found at I encourage you to consider incorporating drones into your classes. They are engaging and a great opportunity for learning computer science.

Kristeen Shabram
K – 8 Representative

What is easy?

I have been thinking about the phrase “it’s easy,” and how hurtful that phrase can be. Just because something is easy for one person doesn’t mean it is easy for everyone. And conversely, just because something seems like it will be hard doesn’t mean it will be hard.

Maybe you think someone doesn’t have a lot on their plate compared to you. But maybe their plate is smaller than yours and doesn’t have a lot of room to begin with. Or maybe their plate is paper, and their flimsy paper plate can’t hold as much as your sturdy ceramic plate can.

Secret Kindness Agents

Sometimes “it’s easy” is deployed in a very personal way – something I think is easy but someone else might not find easy. For example, I think functions are fairly straightforward – easy, even – but for many students they are one of the most challenging parts of programming. Even when I am frustrated as a teacher, telling my students that it is easy doesn’t help them understand, it only makes them feel worse about how challenging they find it.

When I taught middle school, a teacher down the hall had a big sign in her class that said, “YET.” Her philosophy was that when students did not succeed, it was because they had not yet mastered the material. What a forgiving and empowering view of learning: it isn’t that students are deficient, it’s that they aren’t strong yet. Yet is a very growth mindset point of view.

On the flip side, “it’s difficult” can be just as arbitrary. One teacher I know believes that nothing is truly difficult (even functions!), that if students are struggling, it means we aren’t teaching it very well.

One example of something that seems hard is recursion. We have a shared belief that recursion is hard. It means that students come to believe that recursion is hard. Yet at its most basic, the idea that a function can call itself isn’t that hard. And especially for problems that are recursive in nature – the Fibonacci sequence for example – the recursive solution is obvious, and is what students will natively come up with if asked to figure it out.

Thinking things are hard or easy can be a barrier for students – scaring them or preventing them from accessing things we perceive to be too hard, or making them feel bad for not grasping things that are “easy.” Hopefully we can all achieve the goal of making learning accessible – not too hard and not too easy.

Michelle Friend
At-Large Representative

Preparing Computer Science Teachers

I’ve been fortunate enough to have some great conversations about what CS teachers need to know over the last year. Stakeholder groups, including teacher education programs, state department of education specialists, CS and education faculty at higher education programs, are all working to figure out how to develop sustainable models of preparing computer science teachers to meet the growing demand for CS teachers.

Some of the conversations are driven by and informed by the current process to refresh the CSTA and ISTE Standards for CS Educators. In January 2019, CSTA and ISTE began work on these standards, which seek to set clear goals for CS teachers know and be able to do in the classroom, serve as aspirational goals for CS teachers, and establish benchmarks for those providing learning opportunities for CS teachers. The second draft has now been released and is available at for comment until October 11th. The final version is expected to be available by the end of 2019.

Other conversations have been very focused on practical matters, including what should be included in a computer science methods course. Here is a list of items that education and computer science faculty brainstormed during a workshop sponsored by the Maryland Center for Computing Education this summer. Workshop participants drew on their experiences teaching methods courses for generalist educators (often at the elementary and middle school level) and for secondary educators seeking licensure in a specific topic.

  • CS Subject Matter Knowledge (SMK),  in particular for generalists as they may not have had a standalone course in computer science
  • CS Pedagogical Content Knowledge (PCK) – how to teach computer science
  • Evaluating curriculum – how to choose a curriculum that aligns with relevant standards, is relevant to students, engages students, etc.
  • Unit Planning – how to create a set of lessons that build on each other to achieve learning objectives
  • Understanding and aligning with student standards (e.g. CSTA K12 Standards)
  • Common misconceptions in learning computer science, including how students construct models of how a computer works
  • Classroom management, especially managing instructional technology and devices
  • Formative and summative assessments of computer science learning 
  • Designing instruction for all students, including those with learning or physical disabilities and those typically underrepresented in computing
  • Understanding professional codes of ethics for computer scientists and the impacts of computing
  • Supporting students in learning academic vocabulary as well as reading in the content area
  • Teaching methods for computer science, including strategies such as peer instruction, POGIL, pair programming, worked examples with subgoals, Parson’s problems, and many more
  • Integrating computer science in other content areas, in particular for generalists
  • Field experiences – a teaching placement in a school that includes computer science

Of course, this is not an exhaustive list of what might be included in a CS methods course, nor would all of these topics necessarily be included in a single methods course. Teacher educators may need to consider their local context, including where there is overlap with other areas of their education program and the state licensure requirements. But, it is a start and I’m looking forward to having more conversations in the future with stakeholders working on developing sustainable programs for computer science teachers.

Jennifer Rosado
Board Chairperson