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

Data Science in Schools

I’ve no doubt that good CS education involves finding some motivating contexts for getting the ideas across, and for pupils to get to grips with programming. Lots of teachers have found their pupils highly engaged through creating games and animations, or through interacting with the real world through physical computing and robotics, or, perhaps more unusually, through algorithmic art or composing music. I think we could make a good case for adding some data science into this mix, getting pupils to do a little visualisation and exploratory data analysis, and through this starting to answer some genuinely interesting questions. 

When we wrote the English computing curriculum, we included some explicit references to working with data: 7-11 year olds are taught “collecting, analysing, evaluating and presenting data”, and 11-14 year olds “undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data.” Or at least they’re supposed to. CSTA’s standards go quite a bit further, with a whole strand given over to data and analysis, with a clear sense of progression and ambitious targets for high schoolers like “Create interactive data visualizations” and “use data analysis tools and techniques to identify patterns in data representing complex systems”.  I worry that we’ve put so much emphasis on coding that these crucial skills, and the consequent understanding gets overlooked in too many schools. It needn’t be this way. Indeed there’s plenty of scope for doing this data visualisation and analysis with code. 

I’ve been thinking recently about how we can take the foundations / application / implications (that’s roughly computer science, IT and critical digital literacy) model that underpins the English computing curriculum and apply it to related (and some unrelated) subjects, to help promote a broader and more balanced approach to curriculum design. We can use this model for thinking about data science in schools. 

If we’re serious about pupils’ learning data science, then I think we need to lay the foundations with some old school probability and statistics: typically these are already part of the math curriculum, but there’s so much more we can do here when we let our pupils use computers for this, from simulating dice rolls, through plotting graphs to calculating summary statistics for some big datasets. All these things can be done by hand (‘unplugged’?), but once pupils have an idea of the techniques, they can concentrate on selecting and using the right tools, and making sense of the results if they use technology to automate the automatable parts of the process – it’s far more interesting and useful to be able to make sense of a scatterplot (for example) than to be able to draw one by hand.

I’d also want pupils to apply this knowledge to some interesting problems. In elementary school, I’d look at opinion polls or other surveys as a way in to this, perhaps getting pupils to work collaboratively at coming up with good questions – agree / disagree Likert scales are a good starting point, and then exploring what they can learn by slicing the data they collect: is there any difference between boys’ and girls’ enjoyment of school subjects in elementary school (and is there any difference in high school…)? Later on, I’d start looking at time series: weather data is great for this. In the UK we’ve open access month on month meteorological data going back over 100 years, and a comparison of temperatures for the last 30 with the previous 70+ makes a persuasive case. Later still, I’d get pupils looking for patterns and relationships in big (or biggish) datasets: sports fans might like to play with accelerometer or GPS data from micro:bits, wearables or phones: can they work out what sport someone was playing from the datafiles (or a visualisation of them)? Could a machine do this? Big, public, anonymised datasets could be linked very powerfully to some social studies topics: what are the links between gender, ethnicity, education and income? Or pupils could learn about text mining techniques and apply these to their study of English: are there quantifiable differences between the vocabulary and grammar of Hemingway and Morrison? Or between Obama and Trump?

Even more importantly, I’d like pupils to think through some of the implications of collecting and using data as freely as we do. Coming back to my elementary school survey idea: what questions shouldn’t we ask one another? What questions shouldn’t we answer? Does it matter if your name is attached to the answers? In one day at school, how much data does a pupil generate (attendance, grades, cafeteria, accessing the internet, CCTV, online learning, behaviour management, etc…)? What happens to all this data? What could you discover about a pupil if this was all linked together? Does anyone mind? How much do internet service providers, search engines and email services know about a user? What do they use this for? Again, does anyone mind? If big tech firms provide the wonderful services they do for free, how have they got to be some of the most valuable companies in the world? The English computing curriculum includes teaching pupils ‘new ways to protect their online identity and privacy’ – what should we include here?

Some of this certainly should be part of what our pupils learn in their school computing lessons, but lots of it provides ample opportunity for cross curricular links, with math, social studies, civics and even sports! I think we as CS teachers gain so much through showing how relevant coding can be to the other things our pupils study.

Miles Berry
International Representative

Building a Pre-K to 12 Computer Science Program.

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

It is that time of the year when we re-open our doors to our students for another school year.  With that in mind, this is a great time of the year to start thinking about what new computer science resources students will be introduced to this year.  As a district computer science curriculum specialist for Plano Independent School District in Plano, Texas, it is my role to work with teachers from Prekindergarten (Pre-K) through 12 grade to build a vertical computer science program. 

Building an equitable computer science program takes a great deal of planning and collaboration with others.  Input from teachers, campus and district administrators, parents, the District Board of Trustees, and community partners is an important part of this process.  The process requires taking a look at what resources are out there and digging into the state standards and CSTA Computer Science standards. 

For the past three years, we have been working in my district to develop a computer science program that will allow every student to have an opportunity to learn to code and prepare themselves for a career in computer science or that uses skills from the field of computer science. 

As we roll out new resources, we are constantly looking ahead to see what is our next step.  So far, this is what we have developed and what we have learned through this process.

Pre-K students have unique needs as many are not yet able to read or write.  We have decided to put Lego Coding Express in our early childhood campuses and elementary schools with Pre-K students.  Coding Express provides students with structured play while introducing some coding terms such as sequencing, looping, conditional coding, and cause and effect using some color-coded action bricks.

Our elementary schools are engaging students in coding during and after school.  Through our partnerships with the University of Texas at Dallas and other community partners, we are able to bring graduate students and professionals to our campuses after school at no cost.  During the school day, we are engaging students through interdisciplinary learning by combining computer science and math, science, social studies, and English language arts.  Resources like Code.org are great since they allow us to engage our bilingual students through the various translations available.  Last year, we created an Elementary Computer Science Cadre to help build this grade band of the program.  This group serves as voices on their campuses to help promote this program while helping us evaluate and develop curriculum over time.

Our Pre-K through second-grade students have been engaging with Blue-Bots.  Blue-Bots allow students to learn to code through the application of sequencing and looping.  We have placed Blue-Bot kits on all 47 elementary and early childhood campuses.  Our third through fifth-grade students are provided with more rigor by learning to code with Sphero SPRK+s.  These can be programmed using block-based and text-based JavaScript. 

We have purchased more Sphero SPRK+s for our 13 middle schools.  Initially, this is to provide our students with after school opportunities to learn to code or to engage students with coding through an existing class.  Having physical resources for students who are learning to code helps most students connect better with the concepts and see what the code does each time it is run.  Our goal is to introduce computer science courses to our middle schools in 2020-2021.  We are excited about adding a fifth year to our vertical high school program.

Our high school program is the most developed part of our program.  We offer on level, Advanced Placement, and International Baccalaureate at our various high school campuses.  Our computer science teachers are a very collaborative and supportive group of teachers.  Over the summer, our teachers work together to write the curriculum for these courses.  We schedule three full-day pullout days to continue the momentum throughout the school year.  Students have an opportunity to engage with our computing clubs that are very active in our region.  These clubs compete in Java programming competitions with peers from our neighboring districts.  Our three senior high campuses are known for bringing back trophies from these competitions.

Lots of work goes into building a district-wide computer science program.  We encourage you to check out the work our district is doing by visiting our website at https://www.pisd.edu/computerscience

Dan Blier
District Representative