Wednesday, August 21, 2024

Questions Keeping Me Awake Tonight

It’s about 2:45 AM as I start this post. Why am I writing at this hour? Well, it’s because some things are keeping my mind from shutting down and maybe by writing them out I can get back to sleep. Basically there are a bunch of questions about teaching computer science that have no good answers. Certainly none that everyone can agree on.

Let’s start with “what should CS teachers know (in CS concepts)?” The answer really depends on a second question – what should students know about CS when they finish K-12?

The answers to that second question range from more than we could possibly teach in the time available to eh, not much. How one looks at that question depends on what is the goal of teaching CS in K-12?

I think most agree that we're not trying to make everyone a CS professional or even a CS major. Can we? What then in the goal?

We, as a community, have some projects going on to provide some guidance but I wonder if we’re going about it correctly. Now the CS Standards from CSTA, ISTE, and others are being revised again. We have the CS Framework that came out several years ago.  Attempts are being made to bring input in from wide swaths of the CS teacher community. I wonder if we’re ready for it.

Now, Alfred, the Framework came out in 2016, we’ve been doing this standards stuff for close to ten years. And discussing it for far longer. What do you mean are we ready for it? Just that. We don’t have answers to the important questions. Yes, the Framework and standards are an attempt to answer the question of what should K-12 students know and when. I’m just not convinced that they are the right answers.

They are popular answers. And they may be close to the right answers. Maybe the best we can do right now. I’m just not convinced that they are the end all and be all that many want them to be.

We’re just not talking enough.They want be 150 or even 200 people involved (in theory) but most of the conversations are happening in private meetings with reports being presented and put open to comments. That’s probably all that is practical but that doesn’t mean it is enough.

There are too many teachers still who don’t even know these documents and their writing processes even exist. There  are too many teachers who are not members of CSTA or who are but who don’t pay much attention because they are to busy being to hard at work trying the teach and have some work/life balance. We’re getting standards written by the activists – the people who know a lot and who often know more than the average CS teacher. Many of them have specific goals in mind before starting the process of writing standards. Oh, really we all have goals in mind before starting. That’s why we volunteer.

So we get highly motivated people. Great. We start with an end goal in mind. Maybe great. And who ever is in charge of selecting the prime movers selects people with their shared vision. What? Tell me  it isn’t so! Can’t do that. It’s human nature. It’s even done with the best intentions.

Yes, I know there are “public feedback periods, several in-person feedback sessions, virtual focus groups, and strategic interviews” going on. Not impressed. Public feedback is easily ignored and the rest involve hand selected individuals. How many of those selected were known or expected to be dissidents? Without strong push back and resistance weak ideas can prevail.

I don’t have good answers to any of this. If I did I would be writing them up and not laying awake in bed stressing over stuff like this. What I would like to see is a lot more conversation in a lot more places. I see some on Facebook but not nearly enough. Blogging is just about dead. Many of my favorite bloggers are retired and not blogging. Or blogging a lot less (like me). Comments just don’t happen like they used to. Maybe CSTA chapters could have discussion sessions although disseminating the various points widely is difficult, if even possible.

As I said earlier, maybe we’re doing the best we can. I just wonder if it is enough.

Sunday, July 21, 2024

Post CSTA 2024 Thoughts

The 2024 CSTA conference was the best one ever for me. It was wonderful to catchup with old friends and to talk to many people I had never met before. CSTA is about community for me so an in-person conference is the dream for me. The sessions were also good and I learned a lot. The Thursday keynote was outstanding and I hope it was recorded. It was that good.

Thursday I would have said that this year’s conference would be remembered as the first big Artificial Intelligence conference. For many of us, we will remember it as the conference we had trouble getting home from. CrowdStrike is now a “dirty word” for us. I am writing this from a hotel room in Las Vegas two days after the conference ended. Hopefully I will get home tomorrow.

I guess  we all have another story to tell about bad software and the need for testing.

But back to the conference. The venue was great. We had lots of sessions but getting from onto the next was easy. The exhibit hall was large and roomy. The exhibitors were friendly and seemed happy to be there with us.

Las Vegas had plusses and minuses. Hotel rates were pretty good for the most part. Food was expensive though and options without going in the heat were limited. Did I mention the heat? For a New Englander like myself who looks forward to winter 110 degrees is hot. I would have preferred an airport with more direct flights.

The conference committee  did  a  good job selecting session (if I do say so as a member of the committee) and there were many good options every day. As expected, AI was a focus of many of they. I wonder how many of them will be as valuable in two years. What I mean is that we still don't really understand the impact of the uses of AI. Not just in CS education but in the wide wide world.

There are still more questions about AI without good answers.

Friday, July 19, 2024

CSTA Day Four

Last day of the conference and I woke up to news of a global network outage that was causing delays in thousands of flights. Including my trip home. Oh well. I wonder if I will need this fan that was in the conference bag at the airport. I hear it is crowded.

I still jumped into the conference though.

My first session was AP Computer Science A: Using Data Files for Authentic Problem Solving. I've been using files in class for a while but not in Java or an AP course. This session was really APCS A teachers who haven't been using data files in class before. So not what I was looking for but I think it was probably super valuable for the target audience. The room was pretty full so I suspect that the addition to the exam requiring file usage is going to make some work for a lot of teachers.

Nest up was Visual Programming Graphics and GUI for Beginning Students. I was surprised by the light attendance. The talk was about an open source package called GUI4Sher. The system was designed based on Visual Basic but for Python. It was also designed to make things easier for students to create graphic, which can be hard in Visual Basic. I don’t think it is really Visual Basic like but it is interesting. I have downloaded it and I do intend to play with it some when I get home. If you are teaching Python it may be worth a look. But it is pretty simplistic.

Last up for the conference is, After the Classroom: Reflecting on the K-12 CS Experience. The reflections of a pair of students was interesting. I think we all appreciated the credit they gave to their teachers.

Honestly, with all the travel mess, I largely stayed to the end to find out where the next two conferences will be located.

2025 – Cleveland OH

2026 – Atlanta, GA

Thursday, July 18, 2024

CSTA Day Three

Before I start on my day three report, I want to suggest people look at Mike Zamansky’s Day Two report on his blog. We attended mostly different sessions and he takes really good notes.

My first session of the day - Keep Calm and AI On. I’m proctoring this session. There are a bunch of other good sessions at the same time. Heavy FOMO sigh. This one is by classroom teachers.Another packed session on AI. This one started with a discussion of ethical concerns. Privacy being high among them.Next up was about how teachers were using AI. Image generation being one. Canva has some AI functionality now. Evaluation writing was used with mixed results. A lot depends on how people think about evaluation writing. Advice from participants included the need to teach about AI to prepare people for the good and the bad that AI can do. So much of what I am hearing at the conference is the need to ethical training as important when talking about AI.

Change of pace with my next session being Get Hands-on with CS and Content: Support Integration with a Physical Computing Toolkit Integration and physical computing are two of my favorite topics. The Physical Computing toolkit is available here. There is a lot there too!The session slide deck is available here There were a number of references to The Big Book of Computing Pedagogy.which I highly recommend BTW. A particularly good took for integrating ideas is their Instructional Resource Library This can help you find resources to meet your goal and potential physical objects.

After lunch, Teaching (With) GIT  Surprise! Most of the related resources for this talk at on GitHub - bit.ly/twg-2024 As the idea of Markdown was being presented I was thinking I need a Markdown tutorial. And one was chard at Markdown Tutorial At this point I feel like I have some good resources to dig deeper into Git and GitHub.

I confess that I skipped a session. Maybe my brain was full. I was tired. I did spend some of that time working on my snapshot post about the exhibit hall which I will probably post later tonight.

I did not skip CS Education in the Age of AI though. with people like Mehran Sahami from Stanford and Maggie Johnson from Google I would not miss it. It lived up to my expectations. I hope it was recorded. I would love to listen to it again.

There was a lot to take in. A couple of takeaways for me. One is that AI has the potential to allow our students to do more. More complicated projects. More innovative projects. Also, there was a reminder that these AIs, including the ones that generate code,are not perfect. In fact, one study at Stanford showed that students using AI generated code with more security holes than students who didn't use AI. Worse still, the students who did  use AI were more confident that their code was good.

We’re going to need people who can read, test, and debug code so some time to come. It's much to soon to stop teaching coding.

I’ll sign off on this post with something I said a couple of years ago:

Teaching computer science is no more about creating more software developers than teaching English is about creating more novelists.

CSTA 2024 Exhibit Hall

The exhibit hall was impressive this year. I believe three are something like 80 exhibitors. Below is a snapshot of s few of them that caught my eye. The usual suspects are here of course. Google, Amazon, and Microsoft. You'd think Apple would be here if you'd never been to an educational technology conference. They are not here. I am surprised that Code.Org doesn't have a booth. Though of course you will see their team showing up in many sessions.

Items for physical computing are everywhere. I highlight a few here. One textbook company has a small booth. I wonder that that means. Thoughts?

I think I counted four universities promoting graduate programs for CS teachers. That gets a post of its own soon.

I'm not so impressed with the Microsoft booth. One expects more from one of the most valuable companies in the world. They have some good programs like MakeCode, Makecode Arcade (see the cool arcade machine they have to demo it?).

New is VS Code for Education which is a web based IDE and learning platform for Python and also web development. The TEALS program is sharing the booth as well.

  • BirdBrain is here again. I think they have been at the conference for ever. Their Finch and other robots show up everywhere.
  • Carnegie Mellon University is here taking about CMU CS Academy. One of the few university exhibits not promoting graduate courses for CS teachers.
  • The Hidden Genius Project is trying to get young Black men into computing. This booth doesn’t seem to be getting enough attention but I feel like it should not be ignored. We can’t ignore young Black men.
  • Koi’s Clan is one of two projects for very young students that I found interesting. I liked the little Kai Bot that is programmed with little graphic cards. Looks like fun and educational.
  • Robotical has Marty the Robot who can be programmed with a graphical (without words) language for very young programmers. Why wait for kids to learn to read? My grandson loved robots long before he was reading.
  • Lego Education had a large booth. A long time exhibitor they have some interesting stuff.

Wednesday, July 17, 2024

CSTA Day Two

Day two starts with sessions for ALL attendees. I started proctoring a session called Classroom To Career – CS Curriculum With a Purpose. This was a session presented by Oracle Academy.  Oracle presents these teaching resources and training for free. Always a popular price point for teachers. The curriculum is built for teachers and teachers can pick and choose which parts of it they want to use. It can lead to professional certifications. I can see this as a help for career/technical schools.

A word about proctoring. Proctors have two main jobs. Job one is to make sure that people scan their badge’s QR code on an iPad. This is to make sure CSTA can give them professional development credit for attending the session. Job two is to give speakers a five minute warning so the session doesn’t run late.

Getting people to check in is harder than you may think. Some rooms have more than one door and people come in through all of them. And the iPad is at only one of them.

Hallway track between sessions. One of the wonderful things about in-person conferences is the opportunity to have face to face conversations with people you interact with online all year. I can’t count the number of friends I have made through CSTA.

After the break, Guidance on Education in An Age of AI. Everyone is talking about it. No one really knows what it means but some people have looked into it and thought more about it than I have. So learn from the best available. Slides available at bit.ly/cstafuturecs

“When it comes to AI education, we do not have the luxury of burying our heads in the sand. CS teachers have the opportunity and responsibility to lead students in understanding the societal and ethical implications of AI:

the good and the bad,  the benefits and harms, the possibilities and realities.” Charity Freeman CSTA Board Chair

This could have been a workshop. I recommend getting the slide deck. There area lot of good links in it. Overall, I have a lot to think about.

After lunch, another session on AI for me, Empowering Students with AI Literacy: Integration Artificial Intelligence into Computing Education. This session is PACKED. This session was presented by the Raspberry Pi Foundation. One take away - It is important to teach about AI so that they can critically evaluate the tools they use. We also need to have diversity to protect us from bias based results. The website for Experience AI is at Experience AI (experience-ai.org). There is also a course for teachers to learn about teaching AI at  Raspberry Pi Foundation: Teach Teens Computing: Understanding AI for Educators 

OK, I am AIed out for now. So much to look at and think about later.

I decided to take a break  from sessions and take a serious trip through the exhibit hall. Lots of booth pictures to come but not until I can organize them. Among the booths were I spent some real time was with Robolink. Inside the cage to the left are a couple of small quadcopter drones. The drones can be programmed in either Blockly or Python.

I’ve looked at their booth several times over the years but never sat down to program a drone myself until today. It went far better than I expected. It really felt like an educational experience as I tried my program and iterated my code. Honestly, I’d like one myself. I can see classroom use though. They have classroom sets, curriculum, and professional development.

Next up, today’s keynote with Dr. Gholdy Muhammad “Cultivating Genius and Joy in Education through Culturally and Historically Responsive Pedagogies” A good talk. Very high energy which I appreciate at the end of the day. My big takeaway was the need for joy in school. There seems to be so little joy most of the time in schools. I may have to pick up her latest book Unearthing Joy: A Guide to Culturally and Historically Responsive Curriculum and Instruction

Tuesday, July 16, 2024

CSTA Day One

Day one for me was the chapter leadership summit. I got talked into the New Hampshire chapter treasurer role. The first thing I did was to connect with the other NH chapter leaders and catch up a bit. I also got to talk to some leaders from other chapters. A great opportunity to met new people and see what other chapters are doing. The Maine chapter has some nice polo shirts that I hope we can do in NH. I am not a t-shirt person.

One of the interesting talks during the leadership general session was about the Computer Science for English Learners (CSforEL) program. English learners face some obvious challenges. It’s greet that there is a program to help teachers deal with those obstacles. There are a number of sessions on the topic at the conference.  This is a federally funded project that is working with several states but is hoping to expand to more state..

Next up for me was a session on chapter financials. Boring but important.

After lunch, thank you Project Lead the Way (PLTW), a change of plans for me. I was asked to proctor a workshop because someone was not available who was signed up. Free workshop for Alfred!

The workshop was called “CS Teaching That “Makes Sense”: Instructional Routines for the Classroom” Better yet, a pedagogy session. I wish I could do justice to it in a blog post. I hope I can find resources to share. Sorry. For now, there is a website being developed at Sensemaking CS Nothing really there yet but it is coming. Update: Slides posted at https://bit.ly/MakesSenseCS

The opening keynote was by Conor Peterson from Meow Wolf. Now I am always skeptical of keynotes by industry people but this one was inspiring. Meow Wolf is a company that mixes art and technology to create immersive experiences. One of the key messages he left us with is that computing is a creative endeavor . We need to teach it that way. I totally agree. Computing can be about “Personal Agency, Joy, and Fulfillment.” I feel like an opening  keynote should inspire and energize – this one did. At least it did for me.

Welcome reception now. I guess I’ll see if I can get some food.

Oh, I started taking pictures in the exhibit hall today. I’ll have a post just about that in the near future. Something like 80 exhibitors. A far cry for the 10 we were expecting 11 years ago.

Sunday, July 14, 2024

CSTA At 20 Looking Back #CSTA2024

CTSA turns twenty and as I write this I am about ready to fly out to Las Vegas for the annual CSTA conference. I’m in the mood to look back a bit. After the conference I think I’ll try looking forward.

The creation of CSTA was a pretty exciting event. The community of CS teachers was pretty small but we knew there were a lot more of us around. And that we’d need still more. CSTA was a means of building a community of CS educators who would support each other and who would work to expand our numbers.

It seemed like we knew everyone in those early  days. That is to say that those of us active on social medio, largely the AP CS email list but a few blogs, knew each other.  CSTA started growing pretty quickly thought. Conferences went from under 100 people to over 300. And it kept on growing.

CSTA went through some growing pains along the way.Our founding executive director who had done so much for the organization left. Well, left CSTA but not advocating for CS education and supporting teachers. Our first attempt at a new executive director had some mixed results. ACM jumped in and helped get the organization in better financial shape. Our current executive director has taken fund raising and organization to a level that supports a huge conference and a lot of year round activities. We’re lucky to have him.

The growth of chapters has been, in my opinion, one of the truly important factors in the growth and effectiveness of the organization. In the beginning, CSTA was, in effect, a single national chapter. This was great for staging a national conference but we as an organization needed more. Local chapters provide local professional development through meetings and through local/regional conferences. The CSTA New England conference is larger than the national conferences were in the early day. That’s just one example.

Chapters have also been active in advocating for more CS education at the state and local level. National leaders can’t be everywhere and in many cases having a local person lobby or speak at hearings can be even more effective. Chapter leadership training has given many people the tools to be effective spokespeople.

As I look back, the growth of CSTA has exceeded my early expectations. But not my hopes. Today, CSTA is a major organization with great leadership, a professional staff, and a world wide membership. It’s an organization all of its members can be proud to belong to.

Friday, June 21, 2024

Advice To First Timers at #ISTE24 or #CSTA2024

Summer conference season is coming up. ISTE starts this weekend (without me) and CSTA (with me) is in July. Over the years I have been to scores of conferences and I have learned a few things. I thought I might share some of them.

Comfortable shoes. If you are a teacher this should be a no brainer. You'll be on your feet a lot.

Plan your day in advance but leave sessions early if they don't match your needs or expectations. I like to select a prime session for each time slot and have one or more backups.

Do the exhibit hall in stages. I like to make a fast pass and make note of exhibits I want to spend more time at. I then go back to them. At ISTE making it all the way through the exhibit hall at one go is usually too much. Don’t stress it. You have a couple of days.

Don't carry more than you actually need. (I'm bad at this.) Bags can get very heavy with swag and literature.

Take pictures! Take pictures of web addresses for future reference. Take pictures of cool gadgets as well. It may save you space and weight in your bag if you photograph enough information to look a company up on the web later.

Meet new people! It is tempting to hang with people you know and that’s great. But sit at tables with people you don’t know and talk to them. Talk to to people attending sessions you are attending. Sharing ideas and questions is learning.

If you get into a great conversation between sessions it may be worth skipping the next session if you are learning and making a new friend.

Make notes every day. I tend to take notes in rough form in my blogging app and neaten it up every night. Use a note taking method that works for you but take notes every day. Conferences like these (ISTE, SIGCSE, TCEA, FETC, CSTA) are like taking learning in from a fire hose. Notes will help you later.

What am I missing?

Oh, and I hope to see some of you at CSTA!

Wednesday, March 27, 2024

Pangrams Anyone?

Regular readers of this blog know that I have been doing the New York Times Spelling bee (Computer Science Teacher: Spelling Bee Solver Project). Actually, I do it with my wife who gets most of the words. Anyway, one of the special types of words in the puzzle is called a pangram. Now officially, a pangram is a sentence that includes all of the letters in the alphabet. Anyone who has taken a typing class is probably familiar with this famous pangram.

The quick brown fox jumps over the lazy dog

In the Spelling bee, a pangram is a single word that includes all of the letters in the puzzle for that day. This all suggested a couple of possible programming assignments.

The most obvious (to me) is a program that determines if a sentence is a pangram. The program would have to ignore things like spaces, punctuation, and other special characters.  A step up would be to determine if a sentence is a perfect pangram. A perfect pangram uses each letter only once. Also called a Heterogram

Another idea, which I actually coded myself, is to determine if a word is a pangram of a certain number of letters.That is to say, find words  that have a specific number of unique letters. I haven’t tried to find perfect word pangrams but I might do that next.

I had a program search a large data set of words looking for pangrams. Mostly I looked for seven letter ones as that is what the NY Times Spelling bee uses.There are a lot of them!

One could also determine if all the letters are in alphabetical order. There is probably a name for that as well. Anyone know?

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.

Sunday, February 18, 2024

AI Debuggers?

A meme was posted (by Doug Peterson I believe) asking why if the computer knows there is a semi colon missing that the computer doesn’t add it? It’s a good question and I think it gets asked pretty often. The answer is that the computer doesn’t always know where exactly the semi colon belongs. Or if there are other possible answers to the error.

Compiler parsers aren’t always helpful as we’d like. There are several parts to most compilers or interpreters. Parsing is the most visible of these parts. Typically, compiler developers seems to spend the most time and effort on the backend part that generates the actual executable code.  There has been amazing progress in backend code generators. It is unlikely that even the best assembly language programmer can do better than compilers except in rare cases.

The front end, the code parsing that shows syntax errors has not been as big a focus. That seems to be changing and I expect that the inclusion of artificial intelligence may help improve things.

I experimented a bit this morning using Visual Studio. I entered some erroneous code and looked at the results. The code I used was a missing semi colon and a loop with no executable code.

for (int i = 0; i < 10; i++)

I was given the expected “; expected” but I also received a message that “
Error    CS1525    Invalid expression term '}'  “

This is a case of one mistake creating two different errors. This can be pretty confusing.And is less than helpful. Visual Studio did give me a couple of options to deal with this error. Or two. Some of the options didn’t make the errors go away. The one that did was not to add a semi colon but rather to add braces. Of course, either adding a semi colon or adding curly braces leaves one with a a for loop that doesn’t do anything. A warning about that would be nice and I have seen that warning from other parsers.

I would think that a good AI that understands compiler errors would be a lot more helpful. Microsoft is talking a lot about adding artificial intelligence to more products. Will that include compiler/parsers? I think that is likely at some point.

So far the attention has been focused on using AI to generate code. People seem to think that will mean no need for human programmers. People also think that AI will generate perfect code. Or at least code without syntax errors. I think those are somewhat mistaken assumptions. We have lots of great tools for generating websites for example. There are still many cases where human editing of HTML files is needed to get all the desired results.

I expect that human coding for fine tuning of AI generated program code will be necessary for many years to come. As long as AI generated code is “taught” from Internet available code I expect syntax errors to still show up. Some of those errors may not even be caught by parsers. Different versions of compilers can have different rules about what code is acceptable. We will have to see how things progress.

Syntax debugging will be the easy part relatively speaking. Logic errors will be harder still. We live in interesting times.

Monday, December 18, 2023

How Much Hardware Knowledge Do CS Students Need

Back to the basics! Get students close to the hardware! Really? Just how much hardware knowledge to students need today? This post was prompted by a post getting some attention in Facebook this weekend. The Decline of Hardware Knowledge in the Era of Cloud Native Compute

Now I have been around for a while. I programmed using punch cards and paper tape. I spent some time in an operating system development group where I analyzed crash dumps, wrote code in assembly to traverse stacks and queues to understand what was going on. Great fun. In hindsight anyway. But do high school students need to get that close to the computer today? Probably not.

Would it hurt them? Also probably not. Most students don’t really need assembly language or detailed hardware knowledge. Once upon a time, for example, it was important o know exactly how data was stored on a disk with block sizes especially important. For solid state “disk” that is less important if it matters at all.

It’s a mistake to assume that the way we were taught and the things we were taught should still be taught in the same way.

Typical instruction about hardware today is about the parts of the computer – CPU, memory, maybe some talk about cache . In some schools students disassemble and reassemble computers but that is getting harder to do as parts get smaller and more tightly integrated. I don’t want to mess with my laptop at all if I can avoid it.

That is probably enough at the high school level. Now in university I would like students to have some knowledge of things like how micro code is used to code today’s CPU instructions, pipelining, caching, and yes, maybe a little assembly programming. The latter more as a unit than a full course. Let the students who want to take more advanced assembly or micro coding course work.

One big problem with expecting the sort of deep in the woods course work in high school is the lack of teachers who can really teach it. We have enough trouble finding teachers who know Java or Python. Finding teachers who can teach assembly language, explain the inner workings of an OS or the machine hardware? Good luck!

Be sure to read Mike Zamansky’ related post Low Level CS in HS - C'est la Z (cestlaz.GitHub.io)

Wednesday, December 13, 2023

Looking Forward to Computer Science Education in 2024

“Prediction is very difficult, especially if it’s about the future!” --Niels Bohr

My track record at looking forward in CS education is a mixed bag. I kept expecting a big jump in internet of things courses and those never developed. Sad really. I think it would be a good idea. I keep predicting growth in cybersecurity courses and the past year seem to show a lot of growth there.

Cyber security is getting a lot of press so I see more of these courses in 2023. I hope they are real in-depth courses and not just how to stay safe online. Teacher interested in this should follow the Cybersecurity Educators group on Facebook.

I predict that Artificial Intelligence will be a big deal in CS education in 2024. OK, that’s easy. How will it play out? Well, that is a different question. Certainly teachers are going to be concerned about AI tools helping student cheat. Some, the better teachers, will find ways to use AI tools. For example, having students evaluate the generated code. Does it cover all the conditions? How can prompts be better for better results? It the generated code any good? What does “good code” even mean?

There will also be a growing movement  to teach about AI. How does it work? What are it’s limitations? What are the ethical and social impacts of AI? So much the teach and learn for students and for teachers. We’re only getting started.

Another easy prediction – Python will continue to grow in use.AI libraries will drive some of that for sure. A lot of teachers seem to prefer it to Java though so there is that. Will it replace Java for APCS A? I doubt it. IT will be interesting to see how the JavaScript/Python balance develops in AP CS Principles though. Keep an eye on it.

Unfortunately, I predict continued growth in the number of unprepared CS teachers. I wrote about this in my looking back post and I have no expectation of improvement anytime soon. Looking Back on Computer Science Education 2023

One big thing I wonder about is DEI in CS education. Will the politics and demonization of DEI impact how CS it taught? Diversity, Equity, and Inclusion are pretty important if we’re going to really make progress in computer science. Having a white and Asian mal monoculture has not, in my opinion, led to a good CS ecosystem. We need diverse thought in CS. I may have another post just on that subject.

At the same time, we need to be careful in PD and conferences that we don’t only talk about DEI. I’m not seeing a lot of disagreement on the idea that we need to have diversity in the industry and our classrooms. Teaching equitable is also a no brainer. And inclusion? We’ve pretty much agreed on the need for that in education. Do teachers need to be beaten over the head to see the need? Not the ones I know. At some point too much preaching to the choir is going to result in a backlash that we can ill afford. Let’s not assume that teachers don’t understand the problems. Let’s focus on solutions.

I’m really looking forward to the annual CSTA conference this summer. It’s going to be greet. This summer we will hear what teachers have learned over the last year or two. Being in-person means a lot more interaction.  I may have to make a mid-year post about the 20224/2025 school year after the conference.

So what to you see happening in CS Education in 2024?

Sunday, December 10, 2023

Looking Back on Computer Science Education 2023

I’m posting this early this year. My thinking is clear so why wait?

For many, 2023 was the year that Artificial Intelligence, ChatGPT and other tools, really toss a stick in the wheel of CS education. Suddenly students could use an AI to write code for their programming assignments. People were in a tizzy. The CollegeBoard made last minute changes to AP CS Principles and teachers online could talk about little else for a while.

Things have calmed down some since earlier in the year but educators are still grappling with what it all means for how there teach. This is true not just in CS of course. I am skeptical of those who claim to be experts in AIs impact on education. No one has the depth of experience with AI in the actual classroom yet.

While not really CS, Steve Dembo has been using ChatGPT in interesting ways. He chats with Vicki Davis about it at The Great Student AI Writing Experiment with Steve Dembo (coolcatteacher.com)

That is not to say that teachers haven’t learned a lot. A lot of so called experts are saying things like “just change how you teaching ways that make ChatGPT not useful”. As if! There is not a lot of discussion about what sort of change they mean.

The other big thing I have noticed this year may be even more concerning to me. There seems to be a rapid growth in unqualified teachers teaching Computer Science. Now this has always been something on a problem but the rapid growth of requiring CS education in more schools has exacerbated the problem. We are seeing teacher, who are probably great teachers in other areas, being asked to take on CS classes without adequate preparation. I am seeing teachers ask questions online that I would expect their students, after taking their class, to be able to answer.

Frankly, it scares me. For years university faculty complained about incoming students being poorly served by poor CS teaching in the high school level. I can only see those complaints increasing with more validity than in the past. Fixing this is going to take a lot of work.

I don’t blame the teachers. I blame administrators. I also blame legislators who fail to provide the funds and programs for training teachers in this rather technical subject.

OK, those are my two big takeaways from  2023. What have you seen?

Sunday, October 29, 2023

Spelling Bee Solver Project

My wife loves word puzzles. She is amazing at them. Me? Not so much. On the other hand I love programs and programming projects that involved string manipulation. So when my wife started playing a new (to her) word puzzle – the New York Times Spelling Bee – my thoughts went to solving it programmatically.

If you are not familiar with the game, it involves seven letters for the player to make words from. Anny of the letters may be used but only letters from the list can be used. Oh, and there is one letter, shown in the center of the letters, that must be used in every word. Words much be four letters long or longer BTW.

NY Times Spelling Bee image

I thought this would be a fun project to code up so I took a pass at it. I think it would be a fun project for use with students as well. It involves a number of interesting and important concepts.

For one thing, you’ll want to open and read through a text file. There are many word lists available on the interne BTW. So that part is easy. You want want to check through a list for any words that are not school appropriate (that suggests other interesting projects now that I think about it).

Looping is obvious of course. As is parsing strings to find if a given letter is or is not included in a word. One method I wrote for my solution was to build a string of letters that were not included in the list of allowed letters. I searched any possible word to make sure that no unallowed letters were part of it.

Have you tried this or a similar project? Would you use this one? If you do, let me know.

Edit: Should of known it had been done before. Useful information at Nifty Assignments.

Tuesday, October 24, 2023

Last Call for CSTA Conference Proposals

The CSTA Call for Proposals is coming to an end October 30, 2023 11:59 PM PT.

Presentations are what makes the CSTA Conference is what makes CSTA the best conference for K-12 Computer Science educators.  It’s also a wonderful; audience for CS educators to present their good ideas. If you have a good idea that you have been using successfully in your classes you should think seriously about presenting to CSTA.

So think about what you have had success with and think about submitting a proposal. But act fast!

Tuesday, October 17, 2023

The More You Know The More You Expect

One thing that happens when you know who to write computer code is that you know how hard or easy some things are. If you’re even the least OCD some things that are minor, and even unnoticed to many, may bother you a little. Take this image for example.

I expect that money amounts will have two digits to the right of the decimal point. You'll notice that the second and third limes have two digits to the right of the decimal point. It turns out that those values will have two digits even if there is only a value for the tenth of a dollar and not the hundredths. So 5.10 for example. The first line will have no digits to the right if there is no value. So 0 without even the decimal point.

Now this is not really a big deal. One would think (if they were me) that since the second and third lines have the formatting I (most people?)  they would do the same for the first.

Getting the formatting "right" is easy. I know that (or at least assume that) because I have coded that sort of thing often. If I didn't know how to code it might not bother me at all. One might even assume it was hard to do.

I wonder if a lot of people assume that things are difficult and that they put up with bad user interfaces for that reason. Maybe they think things are harder than they are.  Maybe if more people understood coding they would be less likely to put up with hard to use programs.

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

Friday, August 11, 2023

Do You Remember Struggling to Learn?

Dave Largent, a CS professor at Ball State University, had an important reminder on his blog -Dave's not here, or is he?: Teachers need to struggle to learn (davidlargent.blogspot.com) Our students often (usually?) struggle to learn new things. I think this is especially true in computer science. We as teachers with lots of content knowledge sometimes struggle to be empathetic. We forget our own struggles.

One if the things Dave struggled with on his trip through Europe was different languages and customs. It’s a reminder to me that many of our students come from different cultures, customs, and languages. It’s a good reminder that examples in American culture and English can add to the struggle. Being aware of where our students come from is important.

I often shared my own story of my first computer class. Greatly did I struggle in that first class. The first couple of projects were only completed with a lot of help from peers and TAs. Things came easier eventually and with a solid and broad base (I have been programming for 51 years now) most new topics are easier. But not always. Having those struggles is character building. And helps develop empathy.

I think that having new experiences that involve struggle to learn is a valuable experience for teachers (anyone really). It also helps us model life long learning for extra value. I encourage everyone to seek out learning experiences that do not come easy.

And above all, remember that our students struggle and we need to be patient with them and support them. Have a great school year!