Showing posts with label AI4K12. Show all posts
Showing posts with label AI4K12. Show all posts

Saturday, May 30, 2026

We Must Still Teach Computer Science in High School

The tl;dr is simply this “We don’t teach physics in high school in order to create more professional physicists.”

I’ve said that for years and it is true. Teaching CS in high school should not be to create more professional computer scientists, programmers, software developers or professional anything. Just as we teach physics to help students to understand the world they live in, we should teach computer science to help students understand the world they live in. Neither the hype or the reality of artificial intelligence mean that students will not be working with computers in the future. If anything, students are more likely to be more involved with computers in the future.

So yes, AI can write code. The determination on how good that code is is really yet to be determined. There are lots of indications that it is not that good right now.

I was reading an article in The Atlantic titled “There’s Never Been a Better Time to Study Computer Science” that says some interesting things. For example, Valerie Barr, a computer scientist at Bard College, is quoted as saying “You cannot make effective use of AI tools if you don’t know something about what you’re asking the tools to do”

Talks with people using AI in software development suggest that understanding software development is important in getting the most out of AI code development. But getting away from people whose job it is to develop software, pretty much everyone is going to be using or interfacing with AI in the future. Understanding what is behind it all has to be helpful in getting the most out of AI.

Now we’re going to see a lot of changes in curriculum both in K-12 and higher education. I think we need less change in K-12. Oh, sure, add some things about using AI and AI prompting. Basic fundamental concepts are still important though. Understanding what is behind AI is still important. That will help people understand the potentials and limits that will still exist. More than that, those principles are important for extending what computing can do. You can’t build a skyscraper without a strong foundation.

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.

Sunday, December 04, 2022

When Computers Write Code

For most of my career I hive been hearing that some day computers will write all the code and human programmers will no longer be needed. Or at least, not as needed as today. Are we getting close to that time – finally? And if we are what does it mean for teaching computer science?

Recently, the CS education world has been discussing GitHub Copilot.

GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor.

While some of the discussion has been about the suit against Copilot (GitHub Copilot litigation) much of the discussion has centered around what it means as a tool for cheating by students. More recently there has been some visibility to the use of ChatGPT to write answers to programming questions.

For example, this year’s Advent of Code seems to have been “invaded” by ChatGPT climbing the leaderboard by answering the problems is seconds. (Adventures With ChatGPT: Advent of Code Edition | Tabs, Not Spaces) Of, perhaps, even more concern to teachers, ChatGPT seems to be somewhat satisfying as a solution to Advanced Placement Computer Science A questions. (ChatGPT passes the 2022 APCSA free response section)

I’d be very surprised if students are not already using these tools. This brings up several questions. One is - how do teachers keep this from happening? We probably can’t. So how do we detect when it does happen? Do we use these tools ourselves to see what sort of code is generated for our assignments? Seems like yet more work for people who don’t have enough time as it is.

Another question, which students are sure to ask, is what is the purpose of students writing code that artificial intelligence can write easier and faster? If you read the article above about putting the APCS A questions through ChatGPT you’ll see that the results are not prefect. So for the time being it looks like good programmers can still write better code than the AI. How long that will last is anyone’s guess. If history is any guide, it will not last long.

I remember when optimizing compilers started generating more efficient than the world’s best assembly language programmers could write. It was painful for some and a real boon for others. It didn’t completely do away with the need for assembly language programmers but it did reduce the need.

What do we tell students who ask “what’s the point of learning to code?” My thought is that we talk about the need for human oversight of AI generated code. We need to verify that it works as we want it to work and that means we need to understand code. We’re also going to need to fine tune generated code for some time to come. Understanding code will also help write good instructions for the AI that generates code. Again, understanding how code works is important for that.

Of course, there is a lot more to computer science than just writing code. Programming languages are the language of that study. Learning assembly language still helps people understand how computers and computing works. So will learning higher level languages.

The AIs will get better. Our conversations with students will get harder. Cheating is always going to be a challenge. We live in interesting times.

Tuesday, August 16, 2022

Artificial Intelligence and CS Education

It;s seems like artificial intelligence has been “10 years away” for the last 40 years. Back in the mini computer days every computer was custom and configurations were designed by people. I worked for a company that believed that configuring computers was beyond the ability of computer software. From there I went to a different company that was developing rules based artificial intelligence. Using a special language called OPS5 they wrote software that configured computers faster and more accurately than people. Rules based AI was dependent on people to know the rules and properly prognathism. Limitations became apparent.

Today we have machine learning which basically means the computer is developing the rules. Rules is probably not the best definition though. We’re starting to see AI grow into many more areas than ever before. Think self driving cars for example. It’s becoming clear that understanding the world today means understanding something about artificial intelligence. What does that mean for K-12 computer science education?

The AI3K12 project is working on answering questions about teaching AI in K12. They have a lot of resources now and under development.

For now, most of the education is about AI. What it is. How it worse conceptually. What is  it being used for. And, perhaps most importantly, what does AI mean for society and the future. The math and science of creating AI platforms s a bit too much for most high school students let alone younger students. That can wait. Although there are tools that exist that students can use for their own projects which is pretty cool.

I am very concerned about bias in artificial intelligence (Bias in Artificial Intelligence. Inequality, racism and discrimination is just one article you will find from an internet search for “Bias in artificial intelligence) Systems that do not recognize that people of color are actually people is only one example Bias against women or various other groups of people can be baked into AI systems if developers are not VERY careful.

Also, how is AI being used? Facial recognition and privacy have become areas of concern in many areas and applications. 

These are more than just ethical issues, though ethics has got to be a core part of what we teach, as many other problems are unconscious bias or the result of innocent but false assumptions made by people who mean well but lack understanding of their own environment. Its a reason we need a lot more diversity is AI and CS as a whole. We have to teach students to think about these issues and to think beyond their own identities and beyond “the way we have always done it.”

Companies in industry are taking new looks at AI as well. One useful resource is Microsoft's framework for building AI systems responsibly - Microsoft On the Issues. The blog post talks about some issues Microsoft has faced and how they are addressing them. Companies are asking the “should me” question as well as the “can we” question. We need students to think about those questions from the start. The document itself is at Microsoft-Responsible-AI-Standard-v2-General-Requirements-3.pdf and makes interesting reading. It could start some class discussions as well.