Wednesday, August 17, 2022

A Spoon Full of Computer Science

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

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

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

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

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

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

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

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.

Saturday, August 13, 2022

Cyber Security and CS Education

Way back in time, cybersecurity was all about controlling access to the computer in the locked room with the raised floor. Well, you had to trust the people you did let in of course. I will not say much about the students I went t university with who competed to create the best, most realistic login emulator to steal passwords because, you know, that was all in fun. Later in life I actually had supporting the real login software as part of my job responsibility.

We were more aware of security by then. It was the real world. We spent a lot of design time on our various OS subsystems to make sure that access was verified and that people could only access what they were authorized to access. Dial in lines and then networks made things a bit more risky. I remember one system that required a second password of 16 random characters that changed every 5 or ten minutes (I forget which). Someone broke in anyway. Social engineering not technical engineering. People were and are still the weak link in computer security.

In the early days few people had access to a computer. Fewer still had technical knowledge enough to crack into systems And most of them were (it seems) fairly trust worthy. As more people got access to both computers and knowledge breaking into systems became more common.

Today there is a lot of talk about cybersecurity and the need for more people to be trained in the field. What does that mean for high schools? For one thing, it means a lot of people are saying that high schools should teach it. What teaching cybersecurity means is a question with still developing answers.

Should schools offer a whole course in it or can they cover enough in an existing course? If a full course, a semester? A year? Some part of a year? You’ll get a lot of answers but little in the way of a consensus. A lot of discussion about this on Facebook group for  Cybersecurity Educators. Resources at CYBER.ORG are helpful as well.

For now, individual schools are making their own decisions. These decisions are based on things like teacher knowledge to teach such information, room in the schedule, and resources available. Some school IT departments are not willing to let students experiment on networks in a school. Or even, in some cases, to have students learn about network vulnerabilities! I suspect that career technical schools are going to be the main source of high school courses in cybersecurity. There is less focus on AP exams and more focus on preparing students for the work force sooner rather than later. Oh yeah, colleges and universities but they are not my focus.

Comprehensive high schools are more likely to add some cyber security information into existing courses. AP CS Principles for example. A few will have longer courses but I suspect most of those will be independent high schools and charters as they have fewer restrictions and their politics is different. (Different does not always mean better or worse to be clear.)

Maybe when (if?) we get to a place where the learning of coding is done well enough and deep enough in middle school we can move away from HS courses that “just” teaching programming and start using that programming to learn about other things in computer science. Like cybersecurity. Like data science (although we are seeing some of that in middle school already (Bootstrap:Data Science ) which is pretty exciting. And like more artificial intelligence.

Programming is cool (to me) and important (to everyone!) but there is more to computer science than programming. Security is an important part of that and high school CS educators have to have it on their radar and give serious thought to bringing it into their curriculum.

Thursday, July 28, 2022

Jacdac and Micro:Bit 2.0–First Look

Learning about Jacdac devices was my incentive to buy a Micro:Bit 2.0 The Micro:Bit 2.0 has a number of upgrades and new features from the original. These include a microphone and a speaker among others. That is probably justification enough to get an upgrade but being curious about the Jacdac devices, which requires the newer model, was the deciding factor. I am really enjoying spending time with external devices and the Jacdac devices are really easy to use.

I purchased the Micro:Bit from AdaFruit (micro:bit v2 Go Bundle - Batteries and USB Cable Included) Actually I bought two  because, well, why not? I bought the Kittenbot Jacdac Kit for micro:bit V2 from KittenBot My hope is that more manufacturers and suppliers will be offering Jacdac over time.

The kit comes with:

  • Jacdac Adapter – connects with Micro:Bit
  • Slider
  • Rotary Button
  • RGB Ring
  • 2 Keycap buttons
  • Magnetic Sensor
  • Light Sensor
  • Hub – for connecting even more devices
  • 5 cables of different lengths

Each part is labeled and has a QR code that will take you to documentation for that device. I took full advantage of that. One thing I learned the hard way but would have learned if I read the documentation is that the adapter has a switch that determines if the Micro:Bit powers the Jacdac devices or if the Jacdac (and some external power supply TBD) powers the Micro:Bit. Things worked much better with the switch in the right direction.

Once I got everything out and read some documentation I had to try something out. I started with the RGB Ring and the Rotary Button.  I started with individual example programs and then created my own. I had the rotor determine which LEDs were lit. Going backwards (negative numbers) had some issues of course. I might leave solving that to students if I were doing this in class.

I recommend starting at MakeCode Integration before you get to far on your own. It will step you though adding the Jacdac extensions to MakeCode, connecting to your Micro:Bit, and  other helpful information.

BTW, from MakeCode you can program using blocks (very easy) as well as either JavaScript or Python. You can move back and forth between languages as well. A lot of potential for learners there.

Next up I will be trying to think of some larger projects as well as experimenting with other sensors and gadgets.  I may even cut some boxes with my laser engraver for some projects. Making boxes with 3D printers is also an obvious thing to do.

Tuesday, July 19, 2022

Freedom To Teach Computer Science Our Way

Mike Zamansky had another interesting post (CS - it isn't all that) that got me thinking. The last three paragraphs started me going. For example

As CS becomes more part of the system I expect teachers to have less freedom in what they teach and how they teach. As a community we might be able to steer the ship towards keeping the good stuff but then again, we might not.

In talking to a lot of teachers at CSTA 2022, I realized that most CS teachers have a lot of freedom in what they teach as CS and how they teach it. Other than the Advanced Placement courses there are not many real limits on what and how we teach CS. One teacher said “as long as the students are happy I’m left alone.” That is both exciting and scary.

It’s exciting if a teacher with good content knowledge and skills in CS pedagogy says it, Scary if that is not the case. And the later is probably more common than the former. Of course there is a positive move in standards development and teacher certifiably rules that is trying to fix the problem of “anyone can teach CS.”

That has its risks as well. While most standards programs I am aware of are deeply involving experienced CS educators in their development, once standards start getting implemented by bureaucrats all bets are off. Standards can be inspiration or shackles. They can include people who are good at passing tests and exclude qualified people who don’t fit in the usual boxes.

Many, dare I say most, education administrators don’t really understand computers let a lone what it means to teach computer science. That is the source of some of our freedom but can also be a source of constriction if effective advocates for specific curriculum and teaching resources convince them to push things top down on classroom educators. I see it all too often “My administration wants me to use [some well sold curriculum]. Is it any good?”  Seems to me that excluding subject matter experts in the school should be making those decisions not people inexperienced with teaching the subject.

How we teach today is going to be influential If we teach everyone well we are more likely to keep some freedom in how we do things in the future. People tend to teach the same way they were taught. Given how much we still have to learn about how to teach CS we need to avoid that trap AND to promote a growth mindset that is open to new ways of teaching and learning.

It will be hard to keep computer science from being constrained in someone’s idea of neat little boxes. That is what bureaucrats like to see. As CS continues to grow we have to be flexible and we have to promote the need to be flexable to all the publics we deal with.

Monday, July 18, 2022

A Summary Look Back at #CSTA2022

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

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

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

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

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

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

My previous posts on CSTA 2022

Sunday, July 17, 2022

My Day Four at #CSTA2022

It’s a short day today but with plenty to learn. Last night was a great party at the Museum of Science and Technology. I left early (age?) but I know that a lot of people stayed late and partied hardy. There may be some tired faces in sessions this morning. It was a great community building event so well worth it.

First session for me was “You CAN Teach Cyber Security with CYBER.ORG’s Cyber Learning Standards. CYBER.ORG is probably the premier Cybersecurity learning/teaching resources. CYBER.ORG is funded by the US Department of Homeland Security. We heard about a lot of their programs. It seems like they have something for almost everyone. I would start there for Cybersecurity resources for teaching.CYBER.ORG funded a large group of educators to write a set of Computer Science Learning Standards.

I had several good options for the last time slot but Nifty Assignments is a must see for me. The version at SIGCSE is always standing room only but apparently it is not as well known at CSTA yet. Baker Franke does a great job of putting this session together. For reference, CSTA Nifty Assignments are archived at CSTA Nifty Assignments SIGCSE Nifty Assignments are archived at Nifty Assignments. I was paying to much attention to take much in the way of notes but the archive should be updated soon. One of them can be played at Mind Reader - App Lab - Code.org The archive is updated and I can’t wait to try some of these when I get home.

That’s a wrap for me. I skipped the closing keynote to get to the airport early. I feel a little guilty but I’m also tired and my brain is kind of full. Some more general thoughts tomorrow.

Saturday, July 16, 2022

My Day Three at #CSTA2022

I got an early (for me ) start this morning. I attended a briefing session for session proctors (after missing yesterday’s) so that was good. A hot up of tea and some review of the schedule and I was good to go.

First session for me, Developing Cyber Sleuths (link to slides here) Cyber security is a rapidly growing area of need and of course creation. The latter not as fast as the former. One of the key early topics was related to the people side of security – policies and training for people. Hacking people is a key security flaw. New to me term, Purple Team. Combining Red Teams who try to break security and Blue Teams who try to stop hackers. Several interesting resources were shared. You can find them in the slides or course but I like Cybersecurity and Infrastructure Security Agency as a place to start. This sessions wasn’t quite what I was expecting but I feel like the links I got were worth my time.

After a couple of great hallway track conversations it was time for Creating All Year with APCS Principles. There were a couple of interesting sessions in this time slot so distance was a tie breaker. Of course, the create task is a special part of the APCS P exam (30% of the grade). This session was packed!

Jill Westerlund has her students create a video of their program running at the beginning of the school year.Videos must be in AP submission format and include what the create task requires. What a great idea for getting a jump on what they will need to the exam later! Snipping tools are introduced and required early as well. Require at least one mock task before they have to do the real thing. And grade it based on what they need for the exam. View it as formative assessment. Its about feedback to make sure they know how to do the real task. Be sure the mock task is not something they could turn in as a real CPT. Jill suggests requiring the official create task before your spring break. 

Bonus link: Jen Manly on Three Keys to a 40 Hour CS Teacher Work Week Jen is amazing. I love her short videos. I’ll bet this was a great session.

I spent lunch break and most of the first session period in the exhibit hall talking to people and catching up with some friends. Following people in social media is nothing like catching up in person. Another post on the exhibit hall is in the works. I took pictures.

My afternoon session was “Fun, Formative Feedback, and Assessments to Improve Learning” Slides are here. One of the first topics was Parsons Problems – one of my favorite tools. Apparently,  there is a Free, open-source graphical Parsons problem creator tool: https://codio.github.io/parsons-puzzle-ui/dist/ Next they talked about rubrics as tools to help and advise students. Next up was peer programming Here is a link to a CSTA Presentation - Pair Programming. Next up was some Autograding tools (links in their presentation)I encourage you to look at their slides for more information and resource links.


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.

Amazon, Google, Meta, and Microsoft at #CSTA2022

I blog about what interests me or stirs my curiosity. One thing that fits that is what are the really big tech companies doing to support CS education. So I am going to write briefly about the presence of Amazon, Google, Meta, and Microsoft (alphabetical order). Anyone else notice that we never see Apple at CSTA?

All of these companies have sessions at their booths and as regular conference sessions to talk about what they offer. If you are at CSTA you should at least stop by and see what they have to offer. It’s a lot.

Amazon and the Amazon Future Engineer Program

Amazon had one of the large end cap booths with a lot of people and materials. Their main emphasis was the Amazon Future Engineers program. This program offers curriculum for all levels of K-12 as well as resources and opportunities for teachers.

Amazon Future Engineer is a comprehensive childhood-to-career program aimed at increasing access to computer science education for children and young adults from underserved and underrepresented communities.

Google and programs' for CS Teachers Another big booth on an end cap. Lots of color and fun graphics. And swings! Also free messages.

The big thing here is Google’s CS First program. This is a great collection of curriculum and supporting resources that can be used during the school day or as an afterschool program

Meta and Meta Engineer for a week. You’re probably not surprised that the link for more information on this is at Facebook. Engineer for the Week | Facebook but also at Engineer for the Week (fb.com) The curriculum has a strong “coding for good” component.

Started in 2018, Meta's Engineer for the Week is a free program that introduces engineering to learners (ages 11-18) historically underrepresented in STEM. Over the course of 15 - 20 hours, learners work alongside adult facilitators to build tech prototypes that address a social issue of their choice.

Microsoft and MakeCode, MakeCode Arcade, and Minecraft

Also a nice sized booth on an end cap. Not as fancy as Google’s it gives the impression it was designed by software people not marketing experts. The emphasis was on writing code, especially with micro:bits, using MakeCode, games with MakeCode Arcade, and teaching CS using Minecraft. Lots of things including Micro:bit powered arcade games to touch and explore.

Thursday, July 14, 2022

Day One #CSTA2022

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

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

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

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

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

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

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

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

Tuesday, July 12, 2022

Dice, Simulations, and Math

My friend Andrew Parsons send me this link to an interesting video The unexpected logic behind rolling multiple dice and picking the highest. Now I love simulating dice on the computer. Creating a Die class is one of my favorite projects for teaching objects and classes in programming classes. I’ve long kept example of dice with other than six sides around to help students think outside the six sided dice box. So this video grabbed my interest.

Basically the presenter is looking at what happens if you roll two dice and pick the higher value of the two. What sort of advantage does it provide?.  So this gets into some probability and some related math. One of the first things he does is to look at the problem through a simulation (His Python code is here) OK now I personally would be happy with the simulation but of course that gives one the “what happens” but doesn’t go into why it happens. The math does that. The math is presented in an interesting way if a bit fast for me. I can see it being useful in an algebra or statistics class though. Lots of good math stuff. (Can I say “math stuff?)

For a computer teacher, the things this goes though are ripe for simulation problems though. What is the result for two dice? For three dice? And what about dice with more sides than six? What do you think? Have students watch the video at home and build their own simulations to compare with the mathematical results?

BTW the dice at the top of the post were made with a laser engraver that I have been playing with. Figured dice in binary would be fun.

Monday, July 11, 2022

Getting Ready for #CSTA2022

The CSTA Annua Conference is only days away. I’m pretty excited about it. It’s my first plane ride since CSTA in Phoenix in 2019. That’s a long time for me. Or was.  The online conferences have been excellent but there is nothing like seeing people in person. Attending SIGCSE this past winter really brought that home to me.

I’ve taken a couple of quick looks at the schedule but I still have to finalize (as much as possible) what sessions I want to attend. I am not doing any workshops this year so I don’t get in until the 14th. But the rest of the conference should be full for me. If not regular sessions, I am hoping for some great conversations in the “Hallway Track.”

Packing is something I will probably not do until the day before I leave but I’m making decisions about what to bring. I got a new phone for example. Battery life on my last on was horrible and my new one will go all day. I’ll bring a laptop as well. I like to take notes for my blog posts and also to Tweet live. Since I am not presenting one should be enough. I tend to bring a backup if I am presenting. I’m loading some books onto my Kindle for reading on the planes. I have charging cables ready for all three of course. And an extension cord with USB plugs as well as standard sockets. Don’t leave home without one!

In previous years I packed extra cables for just about anything I could think of because you never know what someone will need. I’m going light this year. My backpack just got to heavy. Plus I want room for swag. I do plan to come with badge ribbons (Troublemaker and “I follow AlfredTwo”) if I can find them. Probably some business cards. I recommend these if you have them BTW.

I’m looking forward to the exhibit hall as well. I already know some booths that are “must see” for me. I am told that Microsoft will be there with some of their new Jacdac kits and I want to check them out. I am hoping that there will be some booths on cybersecurity (CYBER.ORG is a sponsor so they will probably have a booth). I’m always up for robots and I expect to see some of those as well.

If you’re there I hope you’ll find me and say “hello.” If not, follow the #CSTA2022 hash tag on Twitter and visit my blog for updates along the way.

So are you ready? What are you excited about?

Tuesday, July 05, 2022

Teaching Computer Science–Moving atoms not pixels

On my first visit to the Lifelong Kindergarten Group and the MIT Media Lab, I notices a message on the windows. “Some people would rather move atoms than pixels.” That has stuck with my for years now. And it is quite true. Robots, game controllers, Internet of Things, and more are ways that computer science interacts with physical objects and not just pixels on a screen. These are ways that teachers can bring more students to more interesting (to the student) to get involved with computer science. But where to start?

Recently I posted curriculum resources that are especially good for teaching traditional computing courses. Well, cyber security is a bit new but anyway. Read that post at Welcome New Computer Science Teachers Today I want to provide some resources to bringing physical computing into the classroom.

Starting with a couple of devices that operate as “brains” for deeper involvement.

Raspberry Pi and the Micro:Bit are two of the most popular. Arduino and the Lego ev3 have been around for longer and are in wide use as well. One could get lost exploring all that LEGO Education has to offer. The Arduino Online Shop has a lot of resources as well.

Personally, I am a fan of both the Raspberry Pi and the Micro:Bit. Both the Micro:bit Educational Foundation and the Raspberry Pi Foundation have a lot of resources. Those are great places to start your exploration.

Ok, let’s talk hardware. While the sites for the Pi, Micro:Bit, Arduino, and Lego EV3 have a lot of links to resources there are more places to go depending on your interests.

Two of my favorites are AdaFruit Industries and Kitronik Ltd. They have devices that work with a lot of "brains." They have devices for all sorts of robotics or Internet of Things projects. I can spend hours looking through both getting idees for projects.

Also for the Internet of Things, I have bought a bunch of devices from Phidgets Education. I have been using these sensors and controls with Raspberry Pi in Python but Scratch, MakeCode, and Java are among other language choices. Speaking of MakeCode, that is an awesome platform for programming Micro:Bits.

I recently discovered Jacdac from Microsoft Research. Right now these devices only work with Micro:Bit but Raspberry Pi and a USB connection for laptops/desktops are projected for the future.

I could, and probably should do a post just about robots and robotics. But here are a few places to get started.

I promise a more comprehensive post of robotics soon.

Sunday, July 03, 2022

Welcome New Computer Science Teachers

Spring is an interesting time on social media. I help moderate a couple of CS teacher groups on Facebook and let me tell you, membership is booming! Why? Well, several reasons. For one thing a lot of teachers have been voluntold that they are going to teach computer science in the fall.Some have never taught CS before. Others have some CS background but are being asked to teach a more advanced course. In general, a lot of teachers are looking for help getting ready.

Hopefully, all CS teachers join the Computer Science Teachers Association (CSTA). There are both free and paid levels of membership. I am a paid member (AKA CSTA+) It’s worth it for the extra benefits. You’ll want to join and get active in a local CSTA chapter as well.

A book I highly recommend for anyone teaching computer science is Computer Science in K-12: An A-to-Z Handbook on Teaching Programming I can’t tell you how much I learned from this book.

Instructors are many Advanced Placement Summer Institutes are pointing teachers to Facebook groups. Two favorites for AP CS teachers are:

They're both outstanding resources for teachers of those courses.

Many people also join Computer Science Educators which is a wide ranging group for CS teachers.

Cyber Security is getting huge in schools (which is a good thing) and there is a great Facebook group for that. Cybersecurity Educators

If game development is your thing there is the Unity Teach Community group.

If you’re teaching an advanced placement course, hopefully, someone has pointed you to AP Summer Institutes. Really valuable for first time AP teachers.

There are also some curriculum providers that offer training and resources. A few of them are:

  • code.org – they offer several levels of courses including pre-AP courses as well as AP courses.
  • CMU CS Academy – curriculum, resources, and (I think) training
  • CodeHS – Curriculum and resources
  • CYBER.ORG – Cyber security resources, training, and curriculum
  • Project Lead The Way – curriculum, training
  • Bootstrap – CS with math, physics, or Data Science

I’ll finish off with a couple of blog suggestions

  • Mark Guzdial – He’s currently doing research on teaching other subjects using computer science and what he calls “Teaspoon Languages” but he has a lot to say about how to teach CS.
  • Mike Zamansky – Mike is building a program to teach CS teachers at Hunter College in NYC. Mike shares a lot of good advice and ideas about teaching.
  • Garth Flint – Garth teaches at a small private Catholic school where he wears a lot of hats. He has some interesting takes on things and shares a lot of good ideas.

I’ve only scratched the surface here of course. But they’re a good start with places to ask for more help. Welcome to teaching computer science!

[Edit] if you are interested in using some physical devices in your course check out Teaching Computer Science–Moving atoms not pixels

Monday, May 16, 2022

BINGO Inspired Projects

My son’s school, he’s principal of an elementary school, had a Bingo themed fundraiser yesterday. I can’t help but think about how things are done with any event like this. My first thought was about the Bingo cards themselves.

Typical Bingo cards consists of a five by five grid. The letters B I N G O label the columns and each column has a random number. The center square of the grid is a “free” square and doesn’t have a number. Obviously, generating Bingo grids is a logical project. The numbers in each column must be without a specific range and duplicates are not permitted.

The next obvious project is one to “call” the numbers. The numbers must be identified by number and column where the column is identified by the letter above the column. Drawing duplicate numbers is not permitted so keeping track of numbers drown is important. Keeping track of numbers drawn is also important for verifying Bingos. A program should have a way to do that . This becomes a user interface problem as well as a data storage problem. That may be the most interesting part of the project. At least it is for me.

Now if you really wanted to get complicated, one could design a system where Bingo cards are numbered and their contents stored. One might then be able to use that data with the data of numbers drawn to verify if a Bingo was on the card using only the number of the card. I see this as a group project where individual students would write parts of the program and have them work together. A lot of planning would have to go into this of course.

The Bingo at my son’s school used a traditional ball cag. That seems more fun somehow than drawing the numbers on a computer. That doesn’t mean that software would be a bad way to keep track of numbers drawn and used to verify a Bingo. Another project idea perhaps?

On the other hand, the whole idea opens a discussion of “just because something and be computerized does that mean is should be?” The human factor is an important one. I’d love to have student discuss the pros and cons of computerized Bingo and old fashioned ball cages and physical tracking of drawn balls. Which is more authentic? What does authentic even mean?  That discussion might be just as useful as discussion of what data structures should be used to track Bingo numbers.

Friday, May 13, 2022

Teach CS in K-12? Please Help Gather Data

The Computer Science Teachers Association (CSTA) and the Kapor Center are conducting a survey of K-12 computer science teachers in the United States. The CS education landscape continues to evolve, and we want to hear directly from teachers about your experiences, challenges, and what resources would be most useful to you at this time. Having detailed and current information allows policymakers, curriculum & PD providers, State Departments of Education, membership associations, and other organizations to better understand and meet the needs of teachers. Results will be used to make specific recommendations to improve support for CS teachers.

If you teach K-12 computer science, we need your voice!

We invite you to participate in this national survey, which will take approximately 20 minutes of your time. Responses are confidential and optional.

As thanks for your time, the first 3,000 teachers who complete the survey will receive their choice of a $10 Tremendous gift card. All participants will be entered in a raffle for one of five $200 gift cards.

Please encourage other CS teachers to also complete the survey, and if you have any questions, please contact membership@csteachers.org or research@kaporcenter.org. Many thanks again for contributing vital insights to improving K-12 computer science education!

With appreciation,

CSTA and Kapor Center

Build

Learn more about the Computer Science Teacher Association here.

Learn more about the Kapor Center here.

Wednesday, April 13, 2022

Last Mile Education Fund–Making a Big Difference

We often underestimate the difference that small things can make. When I was in high school all I could afford was a cheap plastic slide rule (no calculators back then) and it really slowed me down with math. I sometimes wonder what a more expensive and accurate slide rule would have done for me. I had other privileges and did well in the long run. But that is not the case for everyone.

Privilege often gets conflated with potential when in fact a lot of potential gets short circuited because of obstacles that are more common for non-privileged students. Things that are non-issues for many become showstoppers for far to many others.

Picture a student with great potential in computer science who can’t afford a good laptop? Or cannot afford her textbooks or lab fees? Low income students often take longer to graduate because they don’t have adequate preparation and need some extra courses and time to catch up. That often means they run short of funds even with the finish line in sight.  Even good scholarships often leave gaps in funding that limit students from underprivileged backgrounds.

That’s where the Last Mile Education Fund is making a difference today. From the mission statement of the Last Mile Education Fund:

  “The Last Mile Education Fund takes an abundance approach, investing in a broader group of students already committed to technology and engineering fields, providing support for challenges they face beyond their control, and incubating them to be the next generation of innovators. “

Last Mile Education Fund invests in striving, low-income students pursuing degrees in the high-demand fields of technology and engineering to support them in their last mile to graduation and into a career.

A number of grant programs are available. Some of them specifically for female and non-binary students but a number of them are available to all genders.  The Microsoft Cybersecurity scholarship is for community college students of any gender for example. Full information about these opportunities is available at the Current Funding Opportunities page. I have links attached to some that have pages with more details.They include:

  1. EMERGENCY MINI-GRANTS
  2. Bridge Grants
  3. LAST MILE GRANTS
  4. MICROSOFT CYBERSECURITY SCHOLARSHIP PROGRAM
  5. NORTH TEXAS BIOTECH WORKFORCE FUND
  6. REU PARTICIPATION FELLOWSHIP

If you know of students who could take advantage of these grants please spread the word.  And let teams/people at universities and colleges who support low-income students know about these programs as well. They can help a lot of high potential students with some hurtles that could but shouldn’t hold them back.

Monday, March 21, 2022

Word Games and Cryptography

My latest discovery, thanks to Doug Peterson, is Crazy Phrase. Crazy Phrase is something of a variation of Wordle except that in Crazy Phrase the player is a phrase to discover. Clues are similar to Wordle with visual clues like green being a letter in the right place, yellow being in the wrong place but in the right word and blue being a good letter for the phrase but placed in the wrong word.

I was a bit intimidated when I first visited this new puzzle. I soon realized that some things involved in decoding cryptograms can be helpful. As with Wordle, looking for common letters is particularly helpful. With phrases we have the added option of looking for common words. This is especially true with two and three letter words. Words like “to”, “on”, “of” and the like can be very helpful in spotting the direction a phrase of going.

There is a proliferation of games on the internet inspired by Wordle these days. They offer a lot of possibilities for teaching problem solving. Creating new versions of games is an obvious programming project. Discussing these as cryptography related is an other possible topic. The use of computers to analyze strings is widely used for many applications so getting students to think about the process as used in games can be very helpful. And fun.

Tuesday, March 08, 2022

APCS A–Java or Python?

There is a lot of discussion about moving the Advanced Placement CS A exam to Python from Java. The Collegeboard is reluctant to do so. They see APCSA as the equivalent to CS1 or the first course for CS majors in university. They cite research that indicates that APCSA students for very well in CS2 (usually data structures) and that CS2 is almost always taught in Java or C++. On the other hand, at many universities the purpose of CS 1 is growing and the audience is widening to include students from many different majors. I wrote about that yesterday (What Should APCS A Really Be About?) Mike Zamansky took it on on his blog as well (SIGCSE 2022 - What language APCS-A part 1 - the intent)

It seems like we have to first agree on the intent or purpose of APCSA (and CS1) before we discuss language. Given that agreement is never going to happen – CS people can’t agree on anything. So I will start my discussion from the standpoint of APCS A should increase diversity in computer science and prepare students for using computing in CS as well as other disciplines.

This is a concepts first decision not a language first decision. I feel that non-CS majors need the same concepts as CS majors. SO what are those concepts? Not a lot changes except that in computing widely APOs are bringing far more critical than they used to. They enable programmers to easily do things that used to be hard. They also more things we used to do early to later in a CS major.

Sorting is one example. With so many libraries to do sorting why should we spend a lot of time in a first course having students write sorts? We know they sorts they will write are not going to be up to the standards and power of sorts they can call that exist already. Algorithms? Surely there are other algorithms we can focus on to help students learn to study problems and developing algorithms?

So if we want to increase the number of students who study computer science beyond the limited scope of would be computer science majors preparing students for CS2 loses some power in the argument. And Python gains some because of all the APIs that are available and all the other disciplines that are already using it.

At SIGCSE, the panel members arguing for Python talked about much of what I write above. They also talked about Python avoiding some of the “cruft” of Java. How much easier “Hello world” is in Python for example. The “other side” focused mostly on the costs of changing and not specific criticisms of Python. There are things about Python that people do raise. It’s dynamic typing rather than Java’s strict typing. I’m a strict typing person myself but I can be open minded. Also the use of white space. Now it is not clear to me that either white space or curly braces have advantages over the other so I see that as a wash as well.

The post panel poll, FWIW, had 57% saying to switch to Python and 28% saying “keep Java” with the rest being answers all over the map.

I have no dog in this fight since I no longer teach AP CS but I am leaning toward that it is time for a change. I like the idea of a high school course, even on modeled on a university course, preparing a wider range of students for a wider range of majors.

The Collegboard is going to do what they want and the costs of changing may be as big a factor as anything. They are also driven by what universities do and as universities revisit the purpose of CS1 that will have more impact on anything anyone in high school has to say.

Mike Zamansky has a different take on this at SIGCSE 2022 - APCS-A Language strengths and weaknesses