Showing posts with label ethics. Show all posts
Showing posts with label ethics. Show all posts

Sunday, March 01, 2026

Selling AI Before It’s Time

Artificial Intelligence has been big in the news the last few days. A lot of the talk has been about the Trump administration designating Anthropic a supply chain risk. The US  Department of Defense (its official legal name) was unable to agree to contract terms with Anthropic. You can read Anthropic’s statement here. Statement on the comments from Secretary of War Pete Hegseth

There are apparently two sticking points. 

The use of Anthropic’s AI model, Claude:for:

  • the mass domestic surveillance of Americans
  • fully autonomous weapons.

The first on general principal. The second because Anthropic does not believe that AI is ready for handling fully autonomous weapons. I’m surprised (OK not really) that the first is an issue because the DoD says that using it for mass domestic surveillance would be illegal (probably true) and that they would not do it. Well, some of us remember the CIA snarfing up data on Americans by getting data from overseas so I can see why Anthropic might want more assurances than “trust me.”

The fully autonomous weapon control is potentially even more concerning. Anthropic doesn’t believe their AI is ready for that. I wonder if it ever will be ready. There are reports that OpenAI’s tools took part in mission planning for the recent strikes against Iran. There are also credible reports that those attacks hit a school and killed over 80 school children.  Did AI pick the targets alone? Was there human oversite? I have no idea but clearly things were missed. At least I hope they were missed. I’d hate to think that event was intentional. Dare we let AI make these decisions?

There have been some studies of AI used in war games. These studies have resulted in headlines like “AI simulations constantly opting for nuclear strikes, terrifying study shows” AI models do not have human sensibilities or share human ideas of going too far. Apparently, these AI tools have not been trained to follow Asimov's Three  Rules of Robotics. I wonder if the people developing AI today are aware of them. I doubt that many government officials are. Nor do they really understand the risks of AI controlling weapons.. No one really does but if the developers behind a tool say it isn’t ready perhaps we should believe them!

I was reminded of the old Paul Masson advertisements where Orson Wells would dramatically declare “We will sell no wine before its time.” The point was not to rush things and to let the process complete until the wine was completely ready. It appears that some people are pushing AI in places where AI is not ready to perform adequately. That is very unlikely to give a good result.

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. 

Monday, June 30, 2025

Teaching Computer Science in the Age of Artificial Intelligence

An interesting article was posted on Facebook recently. (https://archive.ph/Jwd7m) Carnegie Mellon is spending some time over the summer rethinking how, and probably what, is taught about computer science. It’s an important topic.

A lot of people seem to think that the need for teaching computer science, or at least, programming is past. I’m not so sure. Yes, the job market for software developers seems to be in a steep decline but I wonder if that will last. Is it a reverse bubble that will pop at some point? Maybe. A lot of people use computers and even write code, even if they don’t think of it as coding. So we still need to teach computer science but we probably also need to think more about what and how we teach.

I do think that some basic programming knowledge is still needed. People have to be able to read code at some level. But learning how to deal with abstraction and how to break problems down to manageable pieces is going to need more attention than we have traditionally give it in K-12. Oh, we pay lots of lip service to it but we have students spend most, if not all, of their time on projects that don't require as much of breaking down into pieces and building blocks as students need. We assign projects that could be prompts to an AI and act surprised when students feed them to an AI.

Ultimately, we have to change the way we teach. I've been thinking about things like assigning different routines to different students where the routines have to fit together to create a larger program. Students would have to do some work to make sure that interfaces worked to communicate properly with other routines. Maybe that would help.

I agree that we need to teach something about artificial intelligence of course. We need to teach prompting, the ethical use of AI as well and the ethics of training AIs. Part of that education needs to include testing and verification of what AI produces. A lot of what we are getting from AI is worse than useless. Students been to learn about limits and verification. Blindly trusting AI leads to bad things.

Regardless, we have to do a lot of rethinking. Kudos to CMU for seeing that and doing something about it.

Friday, July 15, 2022

My Day Two at #CSTA2022

Day two started off great as I connected with several people from my home CSTA Chapter –CSTA New Hampshire. The CS community in New Hampshire is growing and the CSTA Chapter has been a part of that. I’m planning on getting more involved in chapter stuff  in the future.

My first session of the day was about teaching ethics when teaching artificial intelligence. Jeremy Keeshin (a last minute replacement as I understand it) from CodeHS was the presenter.  Seems like some good small group discussions took place. Maybe I was tired but I didn’t get into it very well. My fault. Wasted opportunity. I did get a copy of Jeremy’s book “Read Write Code” which I look forward to reading.

Next up for me was a session on preparing the future developers of the metaverse.  The presenters were from Carnegie Mellon. First I have heard of XR as a generic term to include Augmented Reality, Virtual Reality, and Modified Reality. We had some really interesting discussion of using virtual worlds in school. One school had a virtual birthday party in Minecraft. Minecraft has moved from pure play to an educational platform.

Students are picking different virtual worlds to play in as they age.It occurs to me that younger kids are building things in games like Minecraft and Roblox but older students, especially boys, and moving to games like Call of Duty which are more destructive. Something to think about.

My number one to look more into is Arena XR – An Augmented Reality Edge Network Architecture.

I really enjoyed this session and had some good interactions and learning with my tablemates. Slides for this session are at CSTA2022 NoStudentLeftBehind.pdf - Google Drive

Lunch break and more time in the exhibit hall. I got a close look at the Jacdac devices for use with a Micro:Bit. I may splurge and buy a starter kit. Note that I posted a brief look at Microsoft and other big companies exhibits at Amazon, Google, Meta, and Microsoft at #CSTA2022

First afternoon session was about writing for Hello World magazine. I was proctor and arrived before it started but after most people entered the room. Watching the clock is important as it is so easy to get distracted with so much going on. Anyway, the slides for this talk are available at CSTA_Writing Workshop Presentation.pptx - Google Slides  A lot of good stuff here. I hope this gets more teachers to write for the magazine.

Next up was a session on cryptography with an exercise in creating a Pringles can Enigma machine. We started the session with an brief introduction to Cyber.org and with an introduction to the Pigpen Cipher. (Note that this is one of the ciphers covered in my (PDF) free Tiny Book of Simple Cryptography)  We had some fun creating our mini Enigma machines and working though how they work. We only used one rotor but I brought home some sheets to make a larger one with a larger can when I get home.

Overall, a pretty good day. Some very good sessions, some good conversations at the exhibit hall, and many amazing face to face conversations with friends. I am exceedingly glad to be here this year.

Monday, September 20, 2021

Book Review–System Error: Where Big Tech Went Wrong and How We Can Reboot

System Error: Where Big Tech Went Wrong and How We Can Reboot is what you get when a top philosopher, a top political scientist, and a top computer scientist get together to think deeply about technology and society and write a book.  It’s not a book for just one group. It’s not a dry textbook or academic paper but a clearly written explanation of the issues. It’s a book for everyone.

The book talks a lot about both artificial intelligence and social computing which are more connected to each other than may be obvious at times. The social and political impacts of these topics and others are covered in a clear and understandable way without hyperbola, scaremongering, or blatant cheerleading. This is one more thing that makes it stand out from many other books on these topics.

Yes, there are parts that are scary. Yes, there are parts that are optimistic. All in all though it is as fair and open minded a book as one can get. The book askes questions that have to be asked. There is enough data and sets of facts to give one a lot to think about. In fact, I found several times that I had to put the book down to think about what I had read. It’s that sort of book.

Were I teaching Advanced Placement Computer Science today, especially Principles but also APCS A, I would assign reading from it and have class discussions. If I could not get a class set I would at least have some copies in the library put on reserve. But I’d really like my students to read it all.

This is a book that should be on some required reading lists. Computer scientists really do need to think about the “should we do this” question as much as the “can we do this” question. This is the book to start thinking that way. But policymakers need this books as well. So do business people. So give it to the polysci and business majors you know.  A lot of social scientists should read it as well – sociology, psychology, social work. Probably more. It will help one understand what people are dealing with in today’s world.

Technology is impacting society, and our democracy, in many ways. Some are obvious and some are not. If we want to have a civil society we need to think deeply about the impact of technology on individuals and organizations This book is a great way to start.

Friday, July 16, 2021

Observations on #CSTA2021 Virtual Conference

The CSTA 2021 Virtual Conference is in the books. I really did enjoy it and I learned a lot. Virtual conferences are different from in-person conferences and I plan a post on that. But for now I want to talk about this year.

First off, the conference program was pretty awesome if I can say that as part of the conference committee that selected them. Not only was content good but the presentations were very well done. At  least the ones I sat in on were. I wonder if the experience of teaching online as so many have had to do played a role in preparing teachers to present at a virtual conference. Thoughts on that?

Secondly, the chat feature in Hopin got a lot of use. As one person pointed out, yelling things out in a live presentation is rude but adding questions, comments, or additional resources in a chat windows is not. More than that it adds to the value of the presentation.

Sessions for grades younger than high school are growing in number. This is hugely important in my opinion. This year, Nifty Lessons had a lesson for the very young grades. There were not many teachers of those grades to hear it though. I would love to see more nifty lessons for younger grades. Elementary school and middle school teachers are doing amazing things and we need to share them.

I ran two monitors during the conference. One monitor was on the conference itself while the second was split screen between the Slack channel the conference staff and committee used to handle things behinds the scenes. The other window was following the #CSTA2021 Twitter hashtag. I don’t have data but it felt like the Twitter stream was less busy than most years. I suspect two causes. One the aforementioned chat activity in Hopin and the other the fact that computers and phones were occupied with attending the conference rather than social media. Is this god, bad, indifferent? I don’t know. Being virtual we had many more people AT THE CONFERENCE so maybe we don’t need as many Tweeting for the people not there?

There was a clear theme of equity in CS education in this year’s conference. Given the last few years, equity is and will continue to be an awfully important topic. The keynotes were all on that topic and at the risk of taking criticism, was that necessary? I love people talking about how they bring equity into the teaching. I will listen to Amy Ko again in a heartbeat for example. The last keynote at CSTA 2021 had some inspiring stories. It was great to hear the success of students from students. We can probably all do even more to bring equity to teaching CS. I would just have liked a little more variety in the keynotes.

I have been thinking about what else I would like to see in keynotes for next year.

One is talk about the need for ethics in CS education. I am not sure what form this keynote should be given or who should give it but ethics in computing is a critical topic in my eyes.  We’re seeing ransomware and cracking into systems all the time. We need to make sure we are bringing ethical thinking into our teaching. Students need to ask “should I?” as often as they ask “can I?”

The second thing I would like to see is pure inspiration. At this point in the year teachers are tired, drained  and most of us could use some excitement. The future of technology is amazing and hearing about the possibilities and ideas that we can share with students to encourage them would be a great thing. Again, I am not sure who is the person to bring it but I want to hear a positive and exciting message about the future. I want energy!

So what do you think? How was the conference for you? What was great or not so great? What do you want to see next year?


BTW, my daily notes on the conference are at:

Notes on Day Three of #CSTA2021

No morning help desk duty for me today so I watches the whole “Morning Java” session. For those of you not at CSTA, Moring Java was an introduction to the day with our conference chairs and guests. Today.Michelle Lippoli, Senior Operations Manager (Events and Membership) for CSTA, talked about all the work that goes into running a conference like this one. And it is a lot of work! Next year CSTA will be in-person in Chicago. There is a lot of excitement about being able to meet in-person but I hope we have the virtual option as it makes the conference possible for so many more people.

First session of the day for me was Nifty Assignments. Though I was tempted by Python and Micro:bit…on a Calculator? and I will look for the video in the future. Nifty is a conference favorite. The idea started at SIGCSE (See more on that here) and I have used projects from previous sessions at CSTA and SIGCSE.

Michele Lombardi - Unplug the Internet!  9-12
Review internet vocabulary, how messages are sent, and introduce potential cyber attacks using this unplugged internet simulation.

I’ve done something similar but I love the forms she uses and the other information about things to do.

Cindy Gonzalez - Bring your 3D world to life!  K-5
Design a 3D design in Tinkercad, upload your design to Cospace, code your design & enter your 3D world using the DoInk Green Screen app

Talk about making students creators and not just consumers. I love the cross curriculum opportunities.

Roger Jaffe - RSA Encryption Without the Math  9-12
How to teach RSA encryption without having to teach the math

I struggle with teaching public key encryption so this set of resources looks very exciting to me. I can see using this lesson in Advanced Placement Computer Science Principles.

Learn more about CSTA Nifty Assignments at: https://sites.google.com/site/cstaniftyassignments/

After Nifty Assignments, I attended Teach Cybersecurity. Change the Future/ (Slide deck here) Did you know that there are guidelines for what to teach about cyber security? There was a lot of discussion about teaching cyber security in the chat. A lot of teachers are, not unreasonably I think, worried about students misusing the knowledge. The Teach Cyber program, and every other program I have looked at, included ethical thinking integrated into the curriculum. This is a curriculum worth looking into if you are thinking about adding a cyber security course.

Last mini session of the day for me was My CSP Experiment – teaching Advanced Placement CS Principles with two different programming languages at the same time (JavaScript/AppLab and Python) This teacher developed a detailed scope and sequence with dates and time and then mapped the concepts to unites from different curriculum programs (code.org, CodeHS and others) Concepts were taught largely with pseudo code and unplugged activities. That was a lot of work. I really admire her skills. (Slides are here)

Well, that’s a wrap for me. It’s been a great conference and I learned a lot. I’m glad I don’t have to travel for hours to get home.

Thursday, December 03, 2020

New Resources for Teaching and Learning about Artificial Intelligence

Earlier this week I was a guest speaker in a computer science class (via Zoom of course). It was fun to be back into a class and interacting with students. The students were asked to prepare questions for me and many of the questions were about artificial intelligence. That’s not surprising as AI has really jumped into the public in ways it hasn’t before. That’s why it is timely that code.org has created a new resource for teaching and learning about AI.

The main resource page for this is at https://code.org/ai There you will find a bunch of short videos of 3 to 5 minutes that cover various aspects of AI. Several of the videos explicitly focus on getting people to think about the ethics involved. Satya Nadal, Microsoft CEO, in his introduction makes one of my favorite points right off the bat. It is not enough to think about what computers can do but we also need to think about what computers SHOULD do. Ethics are woven into all the videos and not just the once focusing on ethics.

The videos are typical code.org videos. That means high production values and a diversity of impressive speakers. Presenters represent a variety of ages, races, and colors. They are all impressive and are practitioners in the fields of AI. There are academics and there are people from industry. They really highlight a broad cross section of people involved in AI today.

Besides the code.org videos there are links to videos from other organizations, lesson plans, and activities powered by artificial intelligence and machine learning. And more. It’s a great place to start building the set of curriculum that will work for your course and the age group you teach.

Monday, October 12, 2020

Thinking About the Algorithms in Our Lives

My wife and I use these fitness trackers, ours are made by Garmin, to keep track of our activity during the day. Each day the devices give us a goal for how many steps we should take that day.  The goal goes up or down depending on how many steps we did on the previous day. I think. Maybe.

Being the computer guy that I am I keep thinking about how the algorithm actually works. Is it a simple algorithm based on some sort of average or does it have some amount of smarts? Does it take several days activity into account or just the previous days? Like so many things in our lives the algorithm is completely opaque to users.

Google Page Rank, the algorithms that run on the computers controlling our cars, and the software John Deere uses to control the equipment they make. (see article linked below for way this opacity is a problem for some) are all secret. Why?

Well, various companies have various reasons for keeping their algorithms secret. Competitive advantage is the reason for some. For many it is to keep people from “gaming the system.” Google, and other search engines, don’t want people to find ways to get unfairly high placement in searches. I suspect some of that is involved in my Garmin’s secrecy. For others, it is about keeping control of the how the systems them make are run – often for the sake of safety. That’s why many companies don’t want their software “messed with.”

How good or bad this is for the consumer is quite up for debate. There are solid arguments on both side. Arguably, the right thing depends on the situation in many (perhaps most) cases. These are issues we need to think about going forward. People who write software and create algorithms have a responsibility to make the right decisions about secrecy or openness. The decisions have to be about more than just money as well.

Do you discuss these issues with students? I think we need to do so.

Farmers Fight John Deere Over Who Gets to Fix an $800,000 Tractor

Tuesday, August 04, 2020

Programming Projects for Learning or Grading

The purpose of school work is to get good grades. Well, at least that seems to be a common view on the part of students. Most teachers will tell you that the motivation for students to cheat is that they are lazy and still want to get good grades.  The recent posts by Mark Guzdial  (linked to at Changing How We Teach Computer Science) have sparked a lot of comments on his blog and on Twitter which had sparked some thoughts on my part.

I have long believed that projects are a great learning exercise for students. I haver become less enamored with them for grading. Cheating seems to show up all to often. Often it is hard to prove cheating because projects are to short, variable names are too likely to be the same logically, and there are limited ways to solve them. I have seen the most creativity and the least cheating (provable or otherwise) on larger projects where students were all doing something completely different.

A common thread in the comments I have been seeing recently is that students cheat not because they are lazy but because they don’t know how to solve the project on their own. This idea resonates strongly with me.  I see a lot of satisfaction on the faces of students who successfully complete projects. They tend to actually enjoy the process when they have success. 

Over the last several years I have increased the number of other means of assessments including multiple choice questions that include reading and understanding code. Comparing quiz results with project results has been interesting. Some students show close correlations between quiz grades and project results. Other students not so much. While I haven’t conducted a rigorous or scientific study by any means, my observations suggest to me that students are copying the projects of others because they haven’t gotten a strong enough grasp of the material. 

I’m pretty convinced that evaluative instruments that require the reading and understanding of code are better tools for understanding what students actually know than looking at projects. That is not to say that looking at projects is useless. To the contrary, students who work hard against the struggle show what they know and don’t know in their code. A project that doesn’t work correctly give a teacher a lot more information about student understanding than a project that works perfectly.

In my ideal world, I would give each student a different project for every concept I want them to demonstrate knowledge of. That is clearly not possible and certainly doesn’t scale to large classes. I’d love to have a way to watch student progress on a project. What do they try and what do they do when things either work or don’t work. I don’t know of a good tool to that right now or even if it is practical. I guess for now teachers will just have to watch students closer.And use other tools for grading and for determining what students actually know.

Saturday, July 18, 2020

Book Review: Weapons of Math Destruction

Weapons of Math Destruction has been out for a couple of years now and it is one of those books that a lot of people reference. I finally got around to reading my copy this week.  For those of you who are not familiar with it, the book talks about algorithms involving huge amounts of data and how they are used and misused.These WMD are involved in increasing parts of our lives from teacher evaluations, to credit scores, to policing, to getting hired for a job. Companies make assumptions that the algorithms are fair, impartial, and that they get the results they are advertised to provide. Often all of those assumptions are wrong.

In some ways I think the point could have been made with one or two chapters but providing a multitude of examples is definitely informative and convincing. The book is more than a little scary but I think that is the point. We should be concerned.

Those of us involved in computing, perhaps especially those of us teaching computing, need an eye opening book like this. It can help us do better and perhaps avoid some of the unintended consequences that this book so clearly outlines.

I’d love to assign this book as required reading to students. I could probably get away with that at the university level but high school students are both reading adverse and already loaded with a lot of reading. I think what I would do at the high school level would be to place a couple of copies on course reserve and assign specific chapters to individual students to read. I’d have them submit both an oral and a written report of their chapter. Some group discussions would also be a plus. This is a natural for an AP CS Principles course but I think it would fit in elsewhere as well.

We need people in computing who can look at technology and think about unintended consequences and, perhaps more importantly, ask what are the impacts on society of what we are thinking about doing? Is it all just about money and the bottom line or are we actually making people’s lives better?

Friday, January 24, 2020

The System Knows Who You Are

True confession – give me an app that plays with interesting and personal data and I’ll play for a while. The amount of data available to us today is astounding and computer programming lets us do some really amazing things. Big data is all the rage. The US Social Security Administration has lots of data and it’s all more or less personal. So I guess is it not surprising that people do interesting things with it. For example, Guessing Names Based on What They Start With

It had some trouble with my name because even in the decade I was born in my name was not that common. As I added letters it was able to get it – not that surprising. Although for the decade my grandson was born it never did get it – Alfredo is a lot more common than Alfred. A sign of changing demographics which makes for an interesting topic of its own.

I’ve toyed with the idea of making this into a project for my students but I’m not sure I have the time. Basically because I would probably want to aggregate the raw data myself first and while I could write some code to do that I am not sure I want to. It still makes an interesting demo and I will probably use it that way when we talk about big data in my AP CS It’s a good example of how a system can make some assumptions based on limited information.

We like to think that we are pretty unique and in fact we really are. The fact that this name app can identify us is not really contrary to that. Yes, we have similarities with many people but we also have differences. This app made me think of an app I had students program a couple of times that uses demographic information from the school’s student information system (anonymized). I wrote about that a couple of years ago at Programming Projects Should Be Personal

That project took sex, birthday and zip code information to report on how many individuals in the school had that birthday and lived in that zip code? Could we combine the age guess and the name guess code to identify which student we were looking at? Maybe. Is that good or bad? Maybe. I can see this being a good discussion topic.

Increasingly companies collect more and more personal data about us. And they share this data with other companies. These app give a clue as to how identifiable we are even when we think we are not identifiable. It’s only going to get – is it getting better or worse? A lot depends on how it is used. Students need to understand the possibilities if they are going to understand the world around them. Let’s talk about it with them.

Thursday, January 23, 2020

Should We Use the Technology in the Classroom?

I confess that I would love some augmented reality device that showed me the name of the student I was looking at. I am horrible with names. I like to think that something like this would help me a) learn student names faster and b) establish better connections earlier. On the other hand there is some technology that I worry would hurt relationships more than help them.

For example, an AI and cameras that would tell a teacher who was and was not paying attention. Are Your Students Bored? This AI Could Tell You I can see where having an indication of where you start losing student attention could be helpful. On the other hand, maybe as a teacher I should be paying attention to the people in front of me. That is not impossible in a small classroom like a normal high school room. Maybe it is a lot in a large lecture room but that is an example of not building connections in the first place.

Or tracking students using their phones? Colleges are turning students’ phones into surveillance machines, tracking the locations of hundreds of thousands Sure I hate taking attendance and having the computer do it is tempting. Is that really the sort of intrusion that we want to get students used to though? I’m not so sure it is.

As with so much of technology, the question is one of balance. Do the down sides overshadow the up sides or not? This is not an easy question and I think wide open to debate. As technology grows our students are going to have to decide more of them as time goes along. The question is not “can we do it” but “should we do it?” Making those decisions requires understanding of the technology for sure. It also requires a solid ethical foundation and a willingness to question and discuss. Are these “soft skills?” Perhaps but they are becoming more essential rather than less.

Wednesday, January 22, 2020

Thinking and Teaching about Technology Policy Issues

What are the top technology issues for the 2020s? Brad Smith, Microsoft President, wrote an interesting post about a month ago called Dawn of a Decade: The Top Ten Tech Policy Issues for the 2020s

His list is:

  1. Sustainability - Tech’s role in the race to address climate change

  2. Defending Democracy - International threats and internal challenges

  3. Journalism - Technology needs to give the news business a boost

  4. Privacy in an AI Era - From the second wave to the third

  5. Data and National Sovereignty - Economics meet geopolitics

  6. Digital Safety - The need to constantly battle evolving threats

  7. Internet Inequality - A world of haves and have-nots

  8. A Tech Cold War - Will we see a digital iron curtain down the Pacific?

  9. Ethics for Artificial Intelligence - Humanity needs to govern machines

  10. Jobs and Income Inequality in an AI Economy - How will the world manage a disruptive decade?

I see a lot to agree with and a lot that requires some serious and deep thought. I wonder, for example,  how to square the concerns in 2, 4,8, and 9 with Microsoft’s businesses in China. It’s a topic well worth discussing.

OF course any of these issues, alone or in conjunction with others, are great topics for discussion in a class. Artificial Intelligence factors in with many, maybe most, of these issues. Are we preparing students for thinking about the reality of a world with AI is a major force in technology and eventually our daily lives?

Any way, I recommend the post.  It is long but worth the read. Maybe read it more than once. I plan to.

Monday, September 30, 2019

The Problem Of Cheating on Programming Projects

This seems to be the year a lot of people are really getting concerned about cheating on computer science programming projects. There has been some discussion of the issue on one of the mailing lists I am on. Garth Flint blogged about it at Finding cool projects for programming classes. And I caught a student searching for exercise solutions for Code.Org’s AP CS Principles course work.

Of course cheating on programming projects is nothing new. I know that people shared punch cards back in the early days. Yeah, I’ve been around a while. I have also caught students sharing code via Google Docs. With the tools we have today, cheating has never been easier. Solutions to popular coding projects are easily available on the Internet and found using search engines.

It’s amazing that students don’t think teachers can recognize and then find solutions that a student copied from the network. We can and we do.

One common refrain I hear is that professionals get code off the Internet. And they do. GitHub is all about sharing and reusing code. StackOverflow and sites like it are were professional and amateurs find solutions to their problems and use them. It is considered good practice to use these tools. But school is different.

School is about learning and projects are assigned both to provide practice and to evaluate what students have learned. Students have a tendency to grab code they don’t understand and try to shoehorn it into a project. Or to copy a while project and turn it in as their own. Interviews can usually determine is a student understands what they used or not.

Ideally though, students would only hand in their own individual work. That is better than catching them and docking them points. Today’s students have more pressure to get good grades and (apparently) less understanding of the correlation between knowledge of the material and those good grades.

Garth wrote in his blog about trying to come up with unique projects that don’t have solutions on the Internet already. That’s hard. It seems like a lot of us teachers think of the same projects. Or we get them from third party curriculum and textbooks. Once a project is in wide use solutions will appear on the Internet pretty quickly.  Even if a teacher does come up with a project that can’t be found on the Internet, if you have one really bright student who is willing to share their solution you can have cheating.

The only thing I can think of is making the issue part of a discussion of ethics and the meaning of school. Using code from the Internet correctly requires that students actually understand what they are using.  Students who cheat their way through are going to find themselves in a bind eventually. If not in post secondary school than in their careers.  Somehow we need to make them understand that.

Tuesday, September 17, 2019

Book Review: "Tools and Weapons"

"Tools and Weapons" by Brad Smith and Carol Ann Browne is a look at some important computing issues through a Microsoft lens. It is a pretty revealing look as the authors write seriously about the thinking behind Microsoft’s dealing with issues like the Snowden leaks, suits against the government about over reaching subpoenas, protection of users data, transparency, cyber security, and more.

I really like this line from the introduction "When your technology changes the world, you have a responsibility to help address the world you helped create."

There were several threads moving through the book. One was the need for building guiding principles for looking at technology and its uses. An other was the need for diversity among people developing technology and the guiding principles. There is frank talk about embedded bias in algorithms and how diversity is essential to fixing that problem. Responsibility for what technology does is another key thread. Without using these words, the book suggests that “should we” is as important if not more so than “can we.”

The chapters on Artificial Intelligence and facial recognition are the best look at the pros and cons I have read so far. Many people seem to have a doomsday view of AI but Smith and Browne have a more nuanced look; one that is not apocalyptic but more practical and near term. There is a lot to think about in these chapters but the picture painted is more about how we need to think about issues going forward than that we should either panic or be unconcerned.

I found the chapter on China very interesting. It was clearly written carefully to outline cultural and political differences without appearing to attack anyone. I might have preferred a stronger stance but I’m not the president of a global company.

One clear takeaway for me is that today’s Microsoft is not the same Microsoft as it was under Ballmer or Gates. Satya Nadella is a different sort of leader altogether and ethics and principles of a company are set at the top. Where Gates was naïve in some ways and Ballmer was focused on the bottom line Nadella, while not losing sight of the bottom line and still naïve in some ways (remember his gaffs about women getting ahead) looks at things differently, listens better, and is interested in the better good.

His decision to release Windows XP patches for the WannaCry virus for free is one I have to wonder if Ballmer would have made the same way. Maybe he would have but that I have to wonder is telling.

The book is not a difficult read. The language is non technical and technology is explained in layman’s terms. That is not to say that the book is only for non-technical people. I think technical people should read it. So should policy makers in both government and the private sector. It would make a great supplemental reading for an ethics course, especially for an ethics course for technical people.

One last interesting thought from the book. No one graduates from a US military academy without taking an ethics course but many people graduate with technical degrees without taking an ethics course. Maybe that should change.

Monday, July 15, 2019

Question Technology

One of the interesting t-shirts I saw at CSTA 2019 last week said “Question Technology.” That might seem to be a strange slogan at a computer science education conference but it really shouldn’t be.

Security of information, privacy, and the ethical use of technology was a constant topic as CSTA. From the Tuesday keynote by Natasha Singer from the New York Times to multiple sessions on cyber security to hallway conversations these were regular issues to discuss and to talk about how to teach. I don’t think there is any disagreement that we need to talk about these issues with our students.

We need a generation that asks “should me as often as can we” do things with technology.

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, October 22, 2018

The Imperative to Teach Ethics

Ethics has been on my mind a lot lately. Last week, the ACM had a Twitter chat around the ACM Code of Ethics using the hashtag #ACMCodeOfEthics.It took place during the school day but I was able to take part for a while during lunch. It was a good discussion. Coincidently, Kara Swisher had an OpEd post in the New York Times titled Who Will Teach Silicon Valley to Be Ethical?

There was a time when my biggest concern about the software industry was the poor quality of software (still a concern) These days I worry about the ethical quality of the companies producing that software. This is not a new concern. Years ago I heard the (now former) CEO of a large company talk about his “values coach.” That he needed some one to coach him on the companies published values was unsettling. Kara Swisher talks about “chief ethics officers” to help companies stick to ethical practices. That concerns me as well.

Companies adopt the ethos of their leadership. If they leadership needs someone to tell them that they are pursuing unethical activities there is a problem. And that problem is going to become endemic throughout the company regardless of a chief ethics officer.

We need to teach ethics long before students grow up to become CEOs. I took a look back at the Computer Science Curricula 2013 (CS2013) Final Report today. Yep, all the talk about ethics I remembered from task force meetings was still there. Ethics and professional practices are listed a Core Tier 1 topic. That is the highest of the three levels of importance for undergraduate computer science topics. That means all undergraduate computer science programs should teach ethics!

The discussion in the document talks about the fact that having it as a stand alone course may miss students in some programs but that it can and should be integrated in many, if not most, other courses. In some ways I think integrating it into other courses should be a standard practice with or without a standalone ethics/professional practices course. Context matters.

During the discussion on Twitter last week it was pointed out that many don’t see the ACM Code as having answers to specific questions. That’s probably true but I don’t think it is possible to write a code that answers every specific question. Rather I see the code as a place to start asking questions. How does what is being discussed fit in with ethical practices?  What are the trade offs? There are always trade offs. How do we balance those trade offs to the side of the betterment of society?

Where does that leave us who teach prior to the college/university level? Can we leave the teaching of ethics to the professors? Given the number of people I hear from who say they are unaware of specific ethical practices courses or mandates to discuss ethics in other courses I don’t think we dare. And let us not forget about all those people who bypass university completely! No, we’ve got to teach it.

We’re not going to get many stand alone computer science ethics courses in high schools. OK I teach at a Catholic school and Ethics and Justice is a required course for our juniors.  Ethics shows up in the course description of several of our courses and that is great. But as I said earlier, context matters. I am not going to assume that these other courses are sinking in.

High school courses seem like silos to many students. “Why are we learning Binary in computer science that is a math topic?” is a question I hear regularly. Ethics have to be part of the discussion in computer science courses. It fits nicely into Advanced Placement Computer Science Principles. I think that was/is intentional. We have some great conversations about ethical issues in that course.

What I want, what I think society needs, is for people to regularly think about the ethical impact of computing. Computing is changing every aspect of our lives. Without thinking about the ethical consequences of these changes we risk everything. 

should

Wednesday, October 17, 2018

ACM to Host Twitter Chat on Ethics in Computing October 18

On Thursday, October 18, ACM will host a Twitter chat on ethics in computing beginning at 11:00 a.m. EDT (15:00 UTC). During the chat, ACM will post discussion questions from the Twitter handle, @TheOfficialACM. We are inviting the computing community on Twitter to join the discussion using the hashtag #ACMCodeOfEthics.

Catherine Flick, Michael Kirpatrick, and Marty Wolf (members of the ACM Committee on Professional Ethics, which spearheaded the ACM Code of Ethics and Professional Conduct update) will take part in the discussion.