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 (https://www.microsoft.com/en-us/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 Code.org 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 

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 https://bit.ly/2XlLkBI. 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 csteachers.org/page/standards-for-cs-educators 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

Recent Good News on Participation and Opportunities for Young Women Studying Computer Science

Two pieces of important and good news have come out recently about the state of, and opportunities for, the participation of young women in computer science.   The first is the participation of women in the 2019 computer science advance placement exams; the second is the announcement of this year’s Aspirations in Computing awards program organized by the National Center for Women & Information Technology.   Together, they are an indication of how far we’ve come as a community in recent years in embracing the opportunities for young women to study computer science in high school, and in providing encouragement and support to continue these studies in college.

The participation in the computer science AP exams, like most everything else associated with computing, has exploded in recent years, and the participation of young women has outpaced the overall growth.   As is summarized in this article, the total number of women taking CS AP exams in 2019 grew 32% since last year, to over 48,000, and the percentage of women among all test-takers increased to over 29%.   The growth in the number of women taking AP CS is nearly five-fold in just four years, and the percentage of women which had hovered in the high teens for years has grown dramatically.

Much of the growth of enrollment in high school computer science, and in CS AP exams, is due to the CS Principles course.   As is described here, in just three years since this course and exam were introduced, the number of students taking CS Principles AP has skyrocketed to over 96,000, which now is nearly 60% of the total CS AP test takers. And the participation of women students in the CS Principles AP exam outpaces the overall CS AP participation by women, at 33%.   This still is far from half but is approaching a tipping point! 

A great accompaniment to the quickly growing participation of young women in high school computer science courses is the NCWIT Aspirations in Computing Program.   The Aspirations program has grown over recent years to include not only awards that have become well known, but also community elements that stretch down to lower grades and up to the university level.  Here I’ll just focus on the upcoming awards program.  The Aspirations awards are a great opportunity to recognize and encourage young women who are actively engaged in computing at the high school level.   By a system of competitions and awards that now is conducted in 79 separate regions across the US, this program provides opportunities to recognize many young women annually (nearly 14,000 since 2007!), as well as their teachers.   Having been to several regional Aspirations awards ceremonies, it is inspirational to see the impact of this program on the young women and on their families.   Please encourage your students to apply to Aspirations, and support them in taking courses that lead to the CS AP exams!

Bobby Schnabel
Board Representative

The Second-Best Job

Don’t get me wrong, being retired is the best job ever (with teaching a close second!) but I must say I feel very lucky to be able to stay active in the computing education community. Particularly, being the co-chair of the ACM Education Board and participating as a CSTA Board member has given me opportunities to keep learning and participating with people around the world. 

I was invited to attend the ACM SIGCSE China conference in May, 2019 in Chengdu China https://www.acmturc.com/2019/en/SIGCSE.html(and yes, the panda bears were very cute). I was part of a panel which was titled Computer Education Research. Panelists included Junlin Lu (China), Juan Chen (China), Jane Prey (USA), Steve Cooper (USA), Andrew Luxton-Reilly (New Zealand), Brett Becker (Ireland), Bo Yang (China). While this may sound like a research discussion, we ended up talking about various scenarios for teaching computing in primary grades (aka K-12.) There were many opinions and ideas around the availability of resources, diversity and engagement. We discussed the different languages used, the various approaches, etc – takeaway #1: People from around the world ask the same kinds of questions we do on how to best teach their students. 

What I enjoyed most were our conversations on how “easy” vs “challenging” the content should be and if programming/coding should be the principle deliverable from the class. Particularly interesting comments included:  if it’s too easy, what are they learning?, how to keep students interested in doing something challenging?, how to challenge students and have them feel successful and rewarded for doing the hard work?, how to recognize when to push and when to hold back, how to have students add to their ability to solve problems? My takeway #2 is that our group (panelists and attendees) believe that computing in school should be fun, that fun does not mean easy, that fun should include moments of reflection and work, that work should be fun. 

Takeaway #3: there are many smart and passionate people around the world working to answer these questions. I am very lucky my grandchildren will be taught by such people. 

Happy New School Year!

Jane Prey ACM Representative