Showing posts with label CSforAll. Show all posts
Showing posts with label CSforAll. Show all posts

Monday, August 03, 2026

Computer Science is Not Just Coding and Its NOT Dying

The discussions about the future of computer science and of computer science education are unending. We are seeing huge numbers of layoffs in the tech industry as coders are (attempted to be) replaced by artificial intelligence. Universities and high schools are seeing drops in signups for computer science courses as students don’t see the same economic future in coding that they once did. Some are trying to counter the “CS is dying” narrative. For example, the two opinion pieces linked below.

Much of this is self-inflicted. Far too many people, especially in politics and in school administration roles have pushed computer science as vocational. Dare I say, as JUST vocational. Now in a career technical school that pretty much made sense. For comprehensive schools, I maintain, that it never made sense.

I have been saying for years that we don’t teach physics because we have a shortage of physicists. Nor do we teach biology because we have a shortage of biologists. Rather, we teach those subjects, and many others, to help students to understand the world in which they live. That is the reason why students still need to learn computer science.

We need to change our messaging. No, that’s wrong, I think that computer science educators have always tried all along to promote CS as more than just vocational. That message has just gotten lost in the noise from people with louder platforms. So not “our message” but the message that the wider world is hearing.

Coding is still a language of computer science. It’s not going away. We’re still going to require coding knowledge in the future. It will probably not be the main thing in a job but understanding what AI is doing is going to require some knowledge of the language of computing.

Logic is still important. It turns out that expressing logical expressions in computer languages is still a good way to learn things. Coding is still a good tool in learning about abstraction and breaking a problem down into smaller parts and assembling building blocks of processes. Understanding how computers work and how they communicate and how they tackle problems is still basic computer science. AI does not make the need to understand those concepts go away.

If one thinks of computer science as little more than writing code it is understandable to think that learning CS is less valuable. On the other hand, if one understands that computers are going to be increasing in importance and impact on society AND that CS is about what makes AI work than CS is more important than ever. Students who enter the workforce without an understanding are going to enter it handicapped and limited.

Computer science is alive and growing. It is growing in complexity, in influence, and in the need for people to understand how it works. Students need computer science education.

Monday, February 23, 2026

Who Is Driving Changes to Computer Science Education

There are a lot of Changes happening at code dot org The Slashdot article linked there lists several of them. While the changes include a number of people changes including President Cameron Wilson stepping aside, Chief Academic Officer Pat Yongpradit leaving to join Microsoft, and some staff layoffs the change in direction, to AI, may be the most concerning. From Hour of Code to Hour of AI? Some interesting comments follow that post.

The questions top of my mind are "who is driving the direction of CS education" and "is CS education moving in the right direction?" A lot of people believe that industry is pushing CS education in the direction of being vocational. The new focus on Artificial Intelligence often feels like a vocational direction.

My involvement with computer science education predates code.org and even CSTA so I have seen a lot of changes. In my first teaching days computer science teachers were pretty isolated. There was SIGCSE which accepted K12 teachers though welcomed sometimes felt like aspirational rather than actual. ACM, of which SIGCSE was and is still a part, was doing some support for CS education. Cameron Wilson was a huge part of that and worked policy.

CSTA was developed by some wonderful people in and around ACM. This started the real movement towards expanding K12 CS education. CSTA helped train and organize teachers to push for more more CS education. Code,org came a bit later and brought something new to the effort.

Code.org brought money and industrial production values. From the first set of videos that went viral to some very good curriculum resources as well as connections to industry and political leaders. Getting policymakers to push for CS education stepped up.

We’ve come a long way.

Coming back to my earlier questions. Is industry driving the directions that CS education is moving? A lot of people think they are. Industry has money and it has funded a lot of the work by code.org and CSTA. The modern Golden Rule is that the people with the gold make the rules after all.

Industry has some motivation here. I spent a few years working at Microsoft myself where my job was to promote the use of Microsoft tools for teaching. I didn’t get much in the direction of what to teach. I always felt that teachers should decide what to teach and I just wanted to help teachers find ways to use tools to teach those concepts. Teaching computer science as vocation was always there though. Senior mangers often told me that industry needed more people to know CS because there were jobs that needed to be filled.

CS as vocation has always been a selling point for CS education of course. It’s what helped sell school boards and other elected officials. Among teachers that was usually a secondary motivation. For a lot of teachers, including me over time, CS education became more about understanding how the world works. We don;t teach physics because we want to make more physicist. We teach it so that students understand the world around them.

People who are not working for tech companies often have to use computers and make decisions about computing. From spreadsheets to databases to internet searches. And now AI. People in all walks of life use computers. Understanding computer science can make those people more efficient. Computers are an important part of our world.

It seems like all the big tech companies are betting huge sums of money on AI. There is a lot of pressure to move the direction of CS education into AI. Is the industry push vocational in intent? Is is all about helping these companies to make money? CSTA and code.org are both pushing AI these days. Is this because of industry (gold making the rules?) or would it be happening independently?

That leads to the second question – are we moving in the right direction? I think that question may be different for K12 and for university. Personally, I still think CS education in K12 should be about understanding and not vocational. Someone else can address higher education but K12 should be about preparation for life and not for vocation at least in comprehensive schools.

So is AI the right direction? I think it is indisputable that AI is important to learn. Students should learn prompting and they should learn what AI can and cannot do, They should also learn how to think about what AI should not do. They need to know something about how AI works and that is core computer science.

I think that computer science, in the old analogy, is the dog and AI is the tail. The tail should not wag the dog. Making AI the focus at the expense of basic  computer science would be a huge mistake. We do have to teach the basics that make AI possible. Students need to understand where AI comes from and where it might go. Understanding code is an essential part of that understanding.  There is always going to be more to CS than just AI. We didn’t stop teaching arithmetic when calculators were invented. We should not assume that AI code writers mean we don’t have to stop teaching basic computer science.

CS in K12 should not be just vocational. Is industry driving CS education? I fear they may be. Are we moving in the wrong direction? Maybe. If so, it will be up to educators to provide some course correction. 

Friday, March 07, 2025

Rethinking High School Computer Science

I love programming. I took a computer science course as an undergraduate and really fell in love with programming.While I made my living writing code for many years, my wife once wondered if I would have been happier with coding as an avocation rather than a vocation. That’s a bias I have no doubt taken in my teaching career. But is it the right bias for developing high school CS curriculum? I’m starting to wonder about that.

I’ve said in a number of ways that we don’t teach high school physics because we need for physicists. We teach HS physics to help students understand the world they live in. The same needs to be true for high school computer science.

A recent blog post by Mark Guzdial brought that into focus. (CS doesn’t have a monopoly on computing education: Programming is for everyone) The key line in that post was this: Computing education for non-CS majors is different than what we teach CS majors.

Now we talk a lot about computer science for all and that teaching high school computer science should not be about vocational training or just preparing students to be CS majors. But is that how we are developing our curriculum and our ideas about what students should be taught?

Note: The rest of this post is based on a comment I left on Mark’s blog post BTW.

Often we're lucky to have any CS courses even with improvements in recent years. SO having a variety of courses for different types of students seems impractical. High schools don't have the resources that universities do. Actually, small colleges and universities don't have the resources that schools like Michigan does!

But circling back to high schools which is my focus, what should we be teaching? For the most part, high school CS is largely still preparation for CS majors in university or for vocational preparation. The growth in cybersecurity courses in indicative of the vocational focus, for example.

Some schools do have the ability to offer multiple courses. It takes a larger CS program to do that though. The high school I retired from did adopt a course teaching Python largely at the request of the Physics department, for example. R is a big language in many university majors but we don’t see much R in high schools. Should we? I am not sure. Many schools will be limited to one or two courses that have to prepare everyone in any case.

Advanced Placement Computer Science Principles is probably the closest course available for computing education for meeting multiple computing paths. It's still controversial in HS CS with its perception in some circles as a watered-down CS course. It may just be the course we should be paying the most attention to though.

Writing requirements for HS CS is going to remain difficult though. Getting people to give up or even depreciate loops is going to be impossible. (Reading the Guzdial post makes that last line more understandable. Not all programming requires loops.)

Ultimately, high school computer science is all over the map from schools that offer little to none with few taking CS to schools offering multiple options and requiring all students to take some. Universities cannot expect students to have even a base level of CS. Some students are going to have huge advantages. And that makes me sad.

Tuesday, February 27, 2024

Alphabet? What alphabet?

I used to start a talk on internationalization of code with the question “How many letters are in the alphabet?”  Once I had several people say “26” I would ask “Shouldn’t you ask ‘what alphabet’ first?” I would then discuss some different alphabets and how many more or fewer letters they had. Then briefly mention that not all alphabets look the same. That’s is why ASCII is not good enough.

Today I ran across the following graphic. I wish I’d had it back in the classroom.

Who knew there were so many diffe3rent scripts? I suspect that are many more not on this list of course. Let’s not forget that some them are read left to right and not right to left.

Are you discussing multiple scripts and alphabets with students? It can bring up some interesting questions. And widen ones experience. If you are lucky enough to have students who are familiar with these non-Roman script languages ask them to explain how sorting of words happens. I had Chinese exchange students who were happy to explain how Chinese words are sorted. Short answer is by the strokes that make up the words.

Monday, September 11, 2023

Reimagining CS Pathways: High School and Beyond

This looks like a great opportunity to make a difference in CS education.

We are seeking community involvement in a new project called Reimagining CS Pathways: High School and Beyond, led by CSTA, CSEdResearch.org, ACM, Code.org, College Board, CSforAll, and the ECEP Alliance. Please consider applying to join us. We particularly need diverse voices from post-secondary as well as industry representation.

This project will convene representatives from K-12 ed, higher ed, and industry three times across this school year to develop community definitions of (1) what CS content is essential for all high school graduates and (2) pathways for continued CS learning. We aim to:

  • Make recommendations for revisions to CSTA K-12 Standards and AP CS courses

  • Clarify alignment of and develop model pathways for CS courses, including content that fulfills a high school graduation requirement, introductory post-secondary CS courses, and AP CS courses

We have a limited number of spaces for participants in a series of in-person convenings (Nov. 13-14, 2023, Jan. 25-26, 2024, and Mar. 19-20, 2024) and a series of virtual focus groups (offered at multiple days/times). Additionally, we welcome reviewers to asynchronously provide feedback on reports.

Please apply to join us. We expect the application will take 5-10 minutes. Our priority deadline is Sept. 15. The steering committee will select participants to create a balanced group, and CSTA will follow up with more details for those selected near the end of September.

Please note that there is no compensation for participation, though CSTA will cover travel expenses to the three convenings. This project is supported by the National Science Foundation under Award No. 2311746. For questions or more information, contact Bryan Twarek at bt@csteachers.org.

Thank you!

Bryan Twarek, CSTA, PI

Monica McGill, Co-PI

Saturday, December 31, 2022

Looking Back and Looking Forward in CS Education 2023

Traditionally I write a year end look back on thee previous yest in CS education. (Last year at Looking Back on Computer Science Education in 2021) Honestly, that post would largely work for 2022 as well. I attended SIGCSE, CSTA, and the New England Regional CSTA conference. They were all great. There was good learning at all of them. But new stuff? Not a whole lot. A few new tools. Some new robots. Some new AI and cyber security curriculum. But really not a whole lot.

I think we’re in for some disruption in 2023 though. Tools like ChatGPT and GitHub CoPilot are probably only the first of tools that are going to shake things up in teaching programming. Are we even going to still teach programming in computer science? If not, what will computer science courses look like? If we are still teaching programming how will we do it? What will it be all about?

We’re still going to see a need for teaching about cybersecurity for sure. Artificial Intelligence is also going to be more important. We’re seriously going to have to think about how we teach about it. We have to include not just how it works but how it should be used. Ethics in computer science has never been more important.

The discussion about ChatGPT and what it means for education in general and CS education in particular is going to be ongoing. We have to reink how and what we teach. It’s going to be an interesting year. Have you been thinking about it? What are your thoughts so far?

Note: I highly recommend Mike Zamansky's blog post at Kicking off 2023

Tuesday, October 25, 2022

The Computer Science Professional Development Problem

Mike Zamansky is stirring up trouble again. OK not really his intent I’m sure but people can get defensive. I have to say that I agree in principle with most of his post at Why PD doesn't work for CS

Mike lists four different types of PDs.

  • Teachers sharing practices
  • conferences and meetings that teachers choose to attend
  • PD run by content providers, that is, people selling something
  • PD required by schools and districts

It’s as good a break down as any though the fourth kind can really include any of the first three. So I will zero in on those for now. Full disclosure: I have given all three of those types of PD in my time. This includes working for a content provider, Microsoft in this case, that was more or less selling something even though the stuff I was presenting to teachers was free.

I think that these types of PD can be great things for improving a teacher’s knowledge and skills. None of them are really good for starting from scratch.

Teachers sharing practices is a wonderful thing. At least if the audience has a solid base to start. We see a lot of it in social media. Not as much on blogs as I would like but still some valuable stuff is shared on Facebook and even Twitter. I have learned a lot from teachers sharing practices. I hope I have helped some teachers as well. Short bursts of knowledge is not a foundation to start a CS teaching career on though.

Conferences are wonderful. The sessions are short, typically 45 minutes to an hour and a half. They are great for sharing and for helping teachers to build on existing knowledge or to lead them in new directions for further exploration. But one should not expect a new to CS teacher to attend a conference (or two) and expect them to be a trained teacher.

PD run by content providers are typically longer form. Usually a week, sometimes two. These can be awesome especially if they are given to educators who have prior experience For example, a teacher who has taught simple web page building attending a session of a more advanced toolset for a more advanced course. Or a teacher who is learning a new programming language who can relate it to previous knowledge. These sorts of PD can be a mixed bad of course. Some focus totally on the tool and not much of pedagogy. Others are concept focused as much a tool focused. Regardless, these can be very valuable especially when the content provider is a non-profit with goals beyond selling product.

We’re getting to an interesting point in the development of CS for All. We’re rapidly outgrowing the availability of strong technical CS educators. Qualified CS teachers are hard to find. We’re not doing students any favor by putting untrained or antiquatedly trained teachers in the classroom. Colleges and universities have been complaining about having to reteach students who were poorly taught in high school for years. Do we really want to see more of that? I think not.

We really need more long term training for CS teachers. We’re starting to see some programs and more universities are developing CS education research programs and working with schools of education. That really needs to ramp up. States have to start requiring more training for CS teachers AND put some money into making it happen.

Wednesday, August 17, 2022

A Spoon Full of Computer Science

I was thinking about data science lately. The problem is that I don’t know much about data science. I learned about data bases in school and worked with them some in industry but that was mostly about how they work internally. I used to give talks on how B* Trees worked and I could (back then) give serious talks on how databases do journaling. But I never did much of anything with real work data applications. Not professionally at lease. But I do like playing around with data and Excel is my friend.

So my first thought was to look at Bootstrap’s data Science curriculum. I did find their definition:

data science the science of collecting, organizing, and drawing general conclusions from data, with the help of computers.

Sounds good to me. I guess I have been doing some data science after all.

Looking though the curriculum had me thinking about Mark Guzdial's work with teaspoon languages. It feels like there are some things Bootstrap and Teaspoon languages have in common. The idea of teaspoon languages is to add some computer science to other subjects to broaden participation in CS. Bootstrap is using data sets from other subjects in their curriculum. So both are using CS and programming to help students learn about a lot more than just computer science or the subject they are taking. Note that Bootstrap also has Bootstrap Physics! and Bootstrap Algebra.

While I was doing all this thinking Mike Zamansky posted this post - Teaching CS - How early and how often? Mike askes a lot of practical questions about fitting CS into grades k through 8. It’s easy for us zealots to say that CS should be in every grade and expect K8 teachers to make magic but that is not really fair to anyone. Maybe the answer is to have some teaspoons of CS in existing subjects. It doesn’t make a lot of sense unless adding this CS makes learning the subject it is imbedded into better though.

We’ve seen for years in higher education that computer science and [some other area of study] can be a big win. Can we move some of that down to lower grades? Probably though it is going to take some time and some innovation. It’s worth doing, in my not so humble opinion. We use math in other subjects. We use reading and writing in every subject. Might not CS help teach/lean a lot more subjects than just programming? I think so.

Monday, July 18, 2022

A Summary Look Back at #CSTA2022

CSTA 2022 was energizing! After three years of not seeing people in person it was awesome to reconnect with people. And to meet new people. The energy level was high through the whole event. Masks and proof of vaccination were required which I thought was great. It seemed to work out well at SIGCSE. Quite frankly, after lots of stories' of people getting COVID at ISTE which did not have those requirements I really apricated the carefulness of CSTA.

Masks did make it harder to recognize people. I’m glad I wore my trademark hat which one person told me was more famous than I am.

Sessions were very good as one expects. The exhibit hall had about 75 exhibitors and everyone was staffed by engaged, knowable, and upbeat people. The hallway track was really fun. I learned a lot from friends old and new in discussions. As I understand it there were about 1,700 people in attendance for everyone to talk to.

The venue, McCormick Place was huge. It needed to be to all all of the concurrent sessions. We only took up a small part of the place though. If you explored to far you could easily get lost. And I did. There was food available for purchase in the back of the exhibit hall. It wasn't bad. It was nice not to have to go far and wide to search for food. There were many good places to eat nearby however. I liked that I could get from the conference hotel to the conference without going outside. Especially the day it rained all day.

A good number of people approached me to say that they read and value this blog and/or my Twitter feed. I can't tell you how much that means to me. Thank you to all of you. You made CSTA extra special.

It looks like next year’s CSTA will be virtual. Sigh. I know that it will make it possible for a lot of people who can’t travel to an in-person conference to get valuable knowledge from sessions. A virtual exhibit hall doesn’t excite me though. And I will miss the hallway conversations. On the other hand, maybe we can have even more sessions and have them available to more people.

My previous posts on CSTA 2022

Thursday, July 14, 2022

Day One #CSTA2022

Well it was day one for me. I know that some people got in yesterday or earlier either because they were taking a workshop today or were part of the Chapter Leadership program. For me, today was about getting settled, meeting with old friend (and making some new ones), and the exhibit hall. Wow! has the exhibit hall grown. The conference as well. Apparently there are about 1700 attendees registered. I remember thinking 300 was big some years ago. Looks like about half the attendees are first timers as well. That is amazing and wonderful

My trip was good. I checked in for my flight with an app. I paid for the El (Chicago’s mass transit trains) with an app, and checked into my hotel with an app. Travel seems to be all about the apps these days.

The exhibit hall was open soon after I arrived at my hotel so I went right in after registration. Proof of vaccination is required to attend and wearing masks is required as well. I’m good with that. I hear a lot of people got COVID at ISTE and these measures make me feel safer. It seemed to work at SIGCSE!

I met many old friends while in the exhibit hall and walking around the conference. Catching up was great. We also talked about CS issues of course. So great to have people who share ideas. I couple of people I have not met in person before but who I know from social media visited with me as well. It is so good to put faces with names and be able to get to know each other. If you are at CSTA and are a blog reader or Twitter follower I would love to chat with you.

I walked through the exhibit hall several times to get a feel for what themes there are. I’ll be blogging for about that as the conference goes on but I’ll share a few first thoughts here now. Physical computing is big in the exhibit hall. Lots of robots but also many other programable gadgets. Cyber security was represented by several exhibitors as well. We really need to teach more of that in the US so I was glad to see thing. Several artificial intelligence programs were being highlighted in the exhibit hall. I want to dig into that more this conference.

Lots of curriculum providers are exhibiting which is not surprise. They’ve all be exhibiting at CSTA for several years. The companies with hardware all have curriculum as well. It’s not like the old days when people dumped some hardware and said “here. Figure out something interesting to do with this.” Progress I think.

Google, Microsoft, Meta, and Amazon have booths as well. There is a set of swings in the Google booth (Pictures tomorrow) I’ll write about their programs as well when its not 11PM my body time after getting up at 6AM and travelling all day.

Today was everything I wanted my first day at in-person CSTA. Still more friends to meet and make and lots more to learn.

Friday, March 04, 2022

SIGCSE 2022 Day 2

The morning keynote was by Barbara Ericson. She talked about a lot of her early work including some of her online books CSAwesome and her work with the free online CS textbooks at Runestone Academy. I need to look at these some more https://runestone.academy/runestone/books/index She also talked a lot about Parsons Problems - a subject I am really interested in. One project is Sisters Rise Up which provides mentorship for women taking AP courses. She’s got a lot going now as well. She is an inspiration.

First Paper Session:Trends in CS Teacher Professional Development: A Report from the CSTA PD Committee. A lot of CS teachers are experienced teachers but not experienced in CS. Teachers want PD but it can be hard to find. The PD committee is evaluating and accrediting CS Ed professional development. You can see their efforts at the CSTA web site

Next up was Detecting Struggling Students from Interactive eBooks Data: A Case Study Using CSAwesome This talk was by Barbara Ericson and was about data from ebooks on Runestone and CSAwesome. Barb was able to collect a lot of data.  Students don’t watch videos to completion a lot which doesn’t surprise me that much. A lot of information in this talk. I recommend reading the actual paper. (Available for free for a limited time) I really need to look at these ebooks and see if they are something I can/want to try and create myself.

Last of my morning papers was Who Belongs in Computer Science? This study looked at middle school students to see what their perception was of computer scientists and how that impacted their feeling of belonging. In brief, boys and girls had the same perceptions but girls didn’t see themselves in what they perceived as being a computer scientist.

I took advantage of the “hallway track” to talk to Aman Yadav (author of the paper above) about the importance of CS teachers talking about race and computing. We need students to understand how bias works its way, usually unintentionally, into software. Both white and non-white students need to know about this. We clearly need a diversity of involvement in computing if we are going to have a chance as software that is fair to all.

After lunch, a GitHub Supporter Session: Scale your classroom with GitHub Classroom and Codespaces. A tough decision as there was also a panel I was interested in attending. I was curious about GitHub though so … The features of GitHub classroom including connections to LMSs, automated assignment distributing, auto grading and more seem pretty exciting. I also like the idea that students will create GitHub repositories that can act as a portfolio. The demo was great. I have set up a GitHub Classroom but I need to play around and try some things before I feel like I can use it. I think I need to create a “student account” as well. We’ll see how much time I can put to it.

Next up was a Microsoft Supporter Session: Core developer tools for your computer science classroom because I wanted to  see what Microsoft was promoting for educators to use for teaching CS. That was once my job.

They started with talking about VS Code and VS Code Coding packs are a tool to make it easy for students to set up a development environment. They are available to set up VS Code for Java, Python, and .NET. The packs for .NET and Java are available for both Windows and MacOS.

Next up was Development Containers and VSCode.dev which is a web past development environment so no installation is needed. This combination makes it easy to ensure that all students have the same development environment. This looks pretty cool for bring your own devices schools. There was a lot presented in a short period of time. I need to dig into some of these things on my own.

Over all a great day for me. I have some things to look through tonight.

Monday, December 06, 2021

Computer Science Education Week 2021

Well, its CS Ed Week again. Still no cards in the Hallmark store for it. I’ll get back to that in a moment. CS Ed Week has long been a time to introduce more students to computer science. When it started there were only small percentage of schools that offered any computer science education at all. We’ve made a lot of progress. There is still a long way to go though as even though more schools offer CS the number of students taking it are still very low.

There is no shortage of ways to introduce students to computer science during CS Ed Week. Hour of Code is probably the best known and widest platform in use. And it is a great one.Miles Berry has several activates in his blog post Five (out of twenty) things to do with a computer with more information about using Turtles one another blog post - Make a Turtle!

I never made a big deal of CS Ed Week when I was teaching for the very simple reason that the school I was teaching at required a full year (or two semesters) of computer science as a graduation requirement. Getting students to take courses was not an issue. We spent more time trying to make the course interesting, relevant, and even fun while being rigorous.

In hind sight, perhaps I missed an opportunity to have students celebrate what they were doing though.  There are some activates not involving code that we could have done. Maybe you want to try them as well.

Grace Hopper – The timing of CS Ed Week is the week that includes Grace Hopper’s birthday – December 9th. So it is a good time to talk about her and other women in computing. Women have played a huge and often underrecognized role in computing. Maybe younger students would like to make Grace Hopper birthday cards?

CSTA ran a number of contests for student for CS Ed Week some years ago. They make good activities. For example, filming a PSA video to promote computer science in general or specific courses. Posters to promote taking a CS course might be fun. In fact, have students create posters for a specific course that might be over looked. That may help fill courses that students don’t understand from a course description in a program of studies.

Speaking of programs of studies, ask students to write their own description of the course they are or have taken. You may gain insights into how students view the course that help you make the course better.

About that greeting cards, what would a CS Ed Week greeting card look like? Ask students to create some. Let’s make is have a celebratory feel!

Thursday, March 19, 2020

Teaching From Home–Day 4

I have no idea how long or how consistently I will be writing these posts. I guess when I have something to say. In some ways I think of this as a sort of record of what I am doing for myself and maybe for people who will be going through this themselves.

My students are already wondering how long we will be continuing online. They miss their friends and the face to face contact. I don’t blame them. I doubt we’ll be back before May and even that seems iffy at best. So we continue on.

Today went as smoothly as I could have hoped for. My Programming Honors students have been great. The virtual machine they connect to has handled 21 Visual Studio uses at once brilliantly.  I was worried about that but our IT person has done an outstanding job of support us in this area. I don’t know what I would do without these virtual machines.

I used Zoom for the first time with my APCS Principles class. It worked pretty well. I was using technology to try to solve a people problem and that always has its challenges. Being able to mute students and not let them unmute themselves or mute me has, I’m sorry to say, been a necessary feature..

 Mike Zamansky has a great review of Zoom in his first day of teaching online blog post. It has a lot of good features that Google Meet does not. I feel like after a few more sessions I will have a wish list of what I want in an online classroom. Some of it Google Meet and Zoom already have. Some they don’t. Or I haven’t discovered. I’m doing a lot of just in time learning.

Basically for me Google Meet feels more light weight and easier to use than Zoom. Zoom has more features but is a little more complicated to use. I’ll probably spend some more time experimenting with both. Some schools are using Microsoft Teams and I really should try that out just to see if it has some features or ease of use that I don’t know I need.

This while experience has me thinking about teaching paradigms. I prefer desktop apps to cloud apps for the most part. Maybe because I am set in my ways. I think though that teachers have to give a lot more thought to teaching CS using cloud based development tools. Not strictly web based but hosted in the cloud.

Microsoft and Amazon have options. that look good to me. They are still mostly set up for professional developer organizations and, for education, university CS departments with good professional support. The first one to create an inexpensive (ideally free) cookbook solution that secondary school teachers or part-time IT support in schools can use is going to be a hero.

A cloud hosted solution will solve the problems of student having different kinds of computers at home, installation of software (license issues made easy), and open up learning and projects to expand beyond the computer lab. In my opinion as lot of the web based development/teaching tools are good but that we need to go to a next level of power and flexibility.

Monday, March 09, 2020

What is The Best Way to Provide #CSforAll?

Getting more computer science education to more people is something I think about a lot. Mark Guzdial, I want to be him if I ever grow up, has me thinking in new directions lately. Take his recent blog post for example - Defining CS Ed out of existence: Have we made CS too hard to learn and teach? You really should read it and the comments as well. I started to write a comment but WordPress “ate” it so I’m writing some more thoughts here.

The primary way we have been trying to get CS for everyone in the US is through stand alone computer science courses. It seems great in theory but we have a couple of thorny problems. One is fitting it into the curriculum. Another is finding enough teachers. Mark lays out some other problems or potential problems in his blog post. the tl;dr of it is that doing it this way is really hard and may not be the best way anyway.

One thing Mark has been talking about lately (I try not to miss his posts on Twitter or Facebook) is how Norway is moving in CS education. Basically, Norway is moving to teach CS in context with a bunch of other subjects rather than as a stand alone course. I really want to learn more about his but in general I like the idea.

For many years I have been talking about the value of using CS to help students learn other subjects. In y early teaching days, 20+ years ago, when I thought programming might be out of reach I was suggesting using spreadsheets in math and social studies. How better to process and analyze data than a spreadsheet? And graphs? A computer spreadsheet can let a student look at the same data with different graph types in a short period of time.

These days with have block languages like Scratch, Alice, Snap!, and more that can be used to program by young students. Telling stories to build up language skills. Analyzing data and showing it in interesting ways. Well, you get the idea.

Maybe if we did this in the early (primary grades and middle school grades) students would see computer science as something they can handle in secondary school. Maybe we could even go deeper into CS concepts if we didn’t have to teach secondary school students what a loop is all about. And much more.

We know that students make decisions in middle school that greatly impact their trajectory in later education steps. If CS is part of their environment, and is a learning tool they are comfortable we’ll get more students in deep pure CS courses. Even better, they’ll have CS as a powerful tool in secondary school as well.

This can’t happen over night of course. There is a lot of work. Teachers have to be taught. Curriculum has to be written. And that curriculum has to be interesting, relevant, and shown to promote learning of more than just CS tools., Maybe teaching CS as incremental steps and in context will help teachers and students alike to be less intimidated by it.

Monday, July 08, 2019

CSTA 2019 Day 0

Sunday was the start of CSTA 2019 with workshops and the Chapter Leadership Summit. I wasn’t part of the summit and I didn’t get to any workshops but I still had a good day. I did crash the reception Google hosted for the chapter leadership summit though. Jake Baskin announced a million dollar grant to CSTA from Google and Google’s new “Code with Google” program. I expect to learn more about both as the conference goes on.

The highlight of the day was spending time with friends. I’ve been to every previous conference (going back before there was a CSTA) and in the early days it was much smaller so I made a lot of friends back then. I’ve made still more friends by being involved – volunteering in different ways. I had dinner with 10-11 friends almost all of whom had been on the conference committee with me, the CSTA board with me, or both. Besides helping the CS community, volunteering with CSTA is a great way to make friends.

I wonder how it is for people new to CSTA. It’s so much bigger today and while that is wonderful in many ways I can see it being overwhelming for some as well. My hope is that people expand their connections beyond people they may have come with or know from elsewhere.  Diversity is really important. Part of what made last night’s dinner so interesting for me was people from a number of different states and two countries other than the US.

Diversity came up in a number of contexts yesterday both in conversation and in he Google announcements of yesterday.  Companies in the industry are starting to really appreciate the importance of it but I really believe that as educators we have an important role in fostering diversity from the start.

Today, Monday, I will be working the registration desk for a while this morning, visiting the exhibit hall in the afternoon, and trying to connect with as many people as I can. Learn from the best I often say. If you’re around come find me. I am wearing my hat and I have “I Follow @AlfredTwo” ribbons if you’re interested.

Tuesday, June 11, 2019

Join the Online #CSed Conversations

At it’s best, social computing is a conversation that moves in a positive direction. The more people who participate the better the conversation and the more benefit for everyone involved. For computer science teachers, who are often alone in their school. opening and participating in online conversation can be a real benefit. These conversations can cross boundaries of time, space, and even online environments.

A recent example. Garth Flint wrote an end of year post (Last Day of School And Done with Java) that I lead to a post of my own. (How Well Can You Code the Projects You Assign Students?) Mike Zamansky wrote a follow up post of his own. (Do It First ) All of these posts were also discussed in Facebook and Twitter. And of course there are comments left on the various posts. So there are multiple ways to participate in the conversation.

No one has to participate in all the conversations or all online tools/communities to benefit though. Things, especially good ideas, tend to propagate across paths. That’s how networks work after all. There are enough people who act as transmission nodes that the best knowledge and the best ideas tend to move around pretty widely. Everyone benefits from this. People who lurk (read and don’t respond) learn a lot which is an almost invisible benefit. At least it is usually invisible to the people who are writing but it is probably pretty visible to the students whose teachers take what they learn and use it to better their own practice.

Still I wish more people took an active part in the conversation. Be it a comment on a blog or Facebooks post. A tweet with a link and a comments.Tweets in a Twitter chat.  Or an original blog post of their own. (I REALLY wish more CS teachers blogged about what they are doing.) How ever people participate we all benefit.

Computer science educators tend to be a very supportive community. Jump in with both feet.

Wednesday, May 01, 2019

With Great Code Comes Great Responsibility

Omidyar Network, Mozilla, Schmidt Futures, and Craig Newmark Philanthropies recently announced the winners of the Responsible Computer Science Challenge. The challenge, and grants of up to $150,000, go to universities but the programs might have some use in high schools. Maybe. At some point.

The winners’ proposed curricula are novel: They include in-class role-playing games to explore the impact of technology on society. They embed philosophy experts and social scientists in computer science classes. They feature “red teams” that probe students’ projects for possible negative societal impacts. And they have computer science students partner with local nonprofits and government agencies.

Of course it is wonderful that these universities are integrating ethics into their courses. Society will benefit more as these universities package, promote, and see their programs expanded into other universities. That is the goal of the Responsible Computer Science Challenge. There is a second round of grants with that as the prime goal. It makes sense to develop and test programs before expanding them.

I hope that these institutions will seriously consider helping to adapt these programs, tools, methods, and other resources so that they can be incorporated in high school (maybe even lower grades) in the future.

Responsible Computer Science Challenge banner with logos

Monday, March 04, 2019

Remember The Ladies–And Act

In March of 1776, Abigail Adams wrote to her husband who would be the second US president “I long to hear that you have declared an independency. And, by the way, in the new code of laws which I suppose it will be necessary for you to make, I desire you would remember the ladies and be more generous and favorable to them than your ancestors. Do not put such unlimited power into the hands of the husbands. Remember, all men would be tyrants if they could. If particular care and attention is not paid to the ladies, we are determined to foment a rebellion, and will not hold ourselves bound by any laws in which we have no voice or representation.” [ emphasis mine]

After all this time, we, mostly us men, seem to forget the ladies. Most of us are aware that there is a shortage or at least an imbalance of women in the computing field. It’s men’s fault mostly.  We make it worse when we ignore the efforts and accomplishments on the many wonderful women in our field.

We talk about Ada Lovelace and Grace Hopper but use them as tokens too much of the time. Today there are a number of wonderful groups whose focus is directly on bringing more women and underserved minorities into the computing field. Unfortunately, they don’t get the attention they deserve.

Reshma Saujani, founder and CEO or Girls Who Code gives an important response to this problem with her post Erasing Women in Tech: How 60 Minutes Ignored Women’s Voices, Stories, and Expertise

Now I can hear someone saying, well, yeah, but code.org is doing great work and they are helping girls and young women. Plus the 60 Minutes piece was a good promotion of computing for all. There is some truth to that but it misses a point.

These other great efforts, those that Ms. Saujani names and more need their own recognition. How else are they going to attract the participants, the supporters, the money, and build sustainability if no one knows they are out there? Outstanding programs like these need the sun shown on them so they can grow and thrive.

The truth is that we need some special programs for girls and minorities because the male dominated organizations are still not making them as comfortable as they should. Oh sure some of us are trying. I like to think my classrooms are safe spaces for everyone. I’m sure most of my regular readers feel the same way about their classrooms and computer labs. We may even be right. But we’re not everywhere.

As a community, we in computing have to be more generous and favorable to women than we have in our more recent history. Our future depends on it.

Tuesday, January 01, 2019

Happy New Year 2019

I’ve been thinking about this post for the last several days. My usual practice has been to start the year with a list of things I want to watch in CS education during the coming year. As I look at last year’s list (see Looking Back on CS Education in 2018) I don’t see a good list for this year. The things I’ve been watching have largely matured. The next big growth area is not clear to me.

Sure we’re making progress in getting computer science education for more and more people. Of course there is more to do and room for growth but it feels like momentum is going to carry us through.

So this year I am thinking about what I can do to give my students an edge. What can I shoehorn into my curriculum that will go beyond the average. There are people who way ahead of me of course. Doug Bergman and David Renton at Porter-Gaud School are doing amazing things. A number of the career/technical schools I know of have room in their curriculum for a lot of things I haven’t been able to fit into mine. Likewise, there are a number of magnet schools covering some really advanced topics. Most of these have more room in their curriculum for CS than my school. That means I need to do things differently.

I suspect that most teachers at comprehensive or college prep schools have some similar time limitations. We have room for only so many courses. In may case I have what seems like a lot of options. We teach some programming in our freshmen course (it’s only one semester long and we cram a lot in already). I have a one semester honors programming and a one semester mobile application programming course. In both of those we get students to the point that they can do interesting things and then the semester is over.

We offer both Advanced Placement Computer Science courses. They're both a full year long but it feels like they are pretty constrained. I only teach the Principles version so playing with APCS A is a moot point for me.

The AP courses are a problem of sorts. As they say, a blessing and a curse. Parents and administrators love them. They help make schools look good to parents. They make students look good to college admissions officers.  There is lots of well-developed curriculum and professional development for teachers. What’s not to like?

But you wind up teaching to the test. It’s almost unavoidable. Your curriculum plan has to be approved by the CollegeBoard for starters.  While you can get clever about things like projects, tools, and for APCSP even languages there is always that constraint about what is on the test that you have to focus on. If APCS is the only course one teaches you probably have the type and energy to get really creative. If you teach four different courses (as I do) it can be a bit overwhelming to make big changes to the AP CS course.

The path of least resistance (for me teaching APCSP) is to use the developed curriculum and teach using that. The code.org APCSP curriculum, which I am using,  is pretty amazing for teaching that course. Since I have two other courses I teach alone based on self-developed curriculum there is some strong motivation to spend time on those.

What I want to squeeze in somewhere are cloud computing, Artificial Intelligence, and Virtual Reality development. I don’t really know enough about any of these to know how hard it will be to fit any of them in or where they would fit logically. If I had a year long course after my honors programming class that wasn’t constrained by the AP curriculum I would recruit a group of smart curious students (plenty of them around) and we’d all learn together. Alas, that is not currently an option for me.

My current thinking is to try and learn more about one or two of these on my own and by the summer have an idea where I can fit some of it. Amazon Web Services has AWS Educate which I have signed up for. It has a bunch of free resources and training. Seems like a good place to start learning the cloud. It looks pretty well set up for teachers as well. SO that is the cloud piece.
Next is either VR or AI. VR requires some hardware to do right as far as I can tell so I have to factor that in. Both AWS and Microsoft have some AI that can be used. Since I already know about the AWS resources I may start there with AI.

VR is pretty exciting as well and there are some great resources for using Unity with C# for that. I already teach C# using Visual Studio so going the VR route may be a good option.

I hope to get my current semester long courses in good enough shape during the school year that I can really deep dive into the cloud, AI, and VR over the summer. Not that I will wait until then to start but that will be when I can get deepest. And of course the search for resources for my own learning, for teaching, and for making this stuff fit goes on all the time. Let me know if you have links to share.
So basically my message is, 2019 has some serious potential.

Wednesday, December 05, 2018

Where Does Computer Science Fit–Revisited

David Renton is teaching his students at Porter-Gaud how to program virtual reality projects. He posted a video of some of these projects a few days ago.

These are pretty cool, Virtual Reality apps created by [David’s] Porter-Gaud High School senior CS students using Unity for SteamVR. They tested them using HP & Lenovo Windows Mixed Reality Headsets. They each created at least 2 3D models themselves using Maya and imported the other models from the Unity Store and/or remix3d.com. They also created at least one sound effect themselves using Audacity. They coded the interactions using C# in Visual Studio. https://youtu.be/xddytj0hVZU

One project was highlighted on the Microsoft Education blog with a post by the young lady who created it. How a VR trip through the solar system honed my down-to-earth skills – go read it. I’ll wait.

That is a project that involved math, physics, and art into a computer science project. I suspect that the math teacher she approached for help was pretty pleased to get involved. I’ve sent students to math teachers myself over the years. 

We don’t ask where reading fits in the curriculum after some magic line in elementary schools. We teach students to read in large part so they can use it as a tool to learn more about more subjects than just reading. I’ve long believed that computer science can, and should, become a tool that students learn to help them learn other subjects.

Yes, we need students to have a base of CS knowledge first. David’s students have had several years of CS, starting in elementary school, before they get to him. Using that base they can learn more about CS for sure but they can also create projects that interest them and motivate them to learn more, not just about computer science, about a wide range of other subjects.

Like reading, we need to teach enough CS that it can be used across the curriculum. It can’t stay a silo subject if we’re really going to see students use it to their potential.


Edit: See also the Luminous Science curriculum being developed by  Ben Shapiro’s student. Brings together science, art and #computing. Also awesome! https://www.playfulcomputation.group/luminous-science.html Ben is on twitter @bennytheshap