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

Monday, March 07, 2022

What Should APCS A Really Be About?

Perhaps my favorite panel of SIGCSE 2022 was debating the question of should the APCS A course switch its language from Java to Python? During the discussion it occurred to me that there was a bigger question that had to be answered first That is “what is the purpose of APCS A?” Now the normal and obvious answer is that it should be equivalent to university CS1 courses – the first course CS majors take in university. That's too easy and also not helpful.

What should CS1 be all about? Traditionally, CS 1 was a course taken by CS majors and was preparation for the rest of the CS curriculum. Today it is not that simple. Increasingly, other departments in other disciplines are wanting their students to take CS1 or something much like it. Engineering, astronomy, physics, and business are just some of the areas where programming is growing as a tool. The CS department is the best department to teach this first course.

What does that mean? Well, for one thing it opens the door to more programming languages. While Java and C++ are the big languages for a next course for CS majors the same is not true for other departments. Without getting into the language discussion (until my next post) we need to look at what concepts are needed and ask if they are similar enough for everyone.

Owen Astrachan suggested at SIGCSE that the “A” in “APCSA” has traditionally stood for “Algorithm” but should now stand for “API.” Not that we ignore algorithms of course but that APIs were the way computing was increasingly being done. If we look at how non-CS programs are using programming we see that this is very much the case. This probably means that for CS to remain and improve as a teaching, learning, research tool it has to focus on APIs as well.

That is probably only one example of things we should look at changing (in APCSA and CS1) I  get the impression that many university departments are already changing and looking at changes as they see their CS1 course serving more than just CS majors.

Circling back to APCSA in particular, are all of our APCSA students going to major (or minor) in CS? Probably not. Many? Perhaps. But a majority are probably going to move into other areas of study. To we ignore their needs to focus only on future CS majors? That seems a recipe for turning students off from computing completely. High school courses should never be weed out course. One can have a rigorous impactful course without scaring people away from the field.

There is a lot of thinking about what CS1/APSCA should be about and I want to learn more about how university departments are adjusting to today’s  needs for students. Keeping things the way they are today just because we have always done it that way seems a lot less than ideal.

What is your thinking? What should CS1/APCSA be focusing on?

Sunday, March 06, 2022

Final Thoughts on SIGCSE 2022

I had a great time at SIGCSE 2022. As an introvert I probably suffered less from not being with people than many but after two years I really needed to be with people. I was able to connect in-person with friends I had not seen in years. Some a decade or more. That was truly awesome. The community building of an in-person conference should not be understated.

I had some great “hallway track” conversations. This is not nearly as easy in a remote conference and it contributed to what I was learning. Besides being with people I really did want to learn. So my hallway conversations were not all catching up with friends. I was able to ask a lot of questions about the work various people were doing. Things often outside the scope of a specific talk or panel that I attended.

I visited with Ruthe Farmer of the Last Mile Fund. The Last Mile fund is “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.” It’s an amazing program that helps students who are missed by a lot of programs giving them the help they need to complete their educations. They are particularly focused on women but have some money for men in community  colleges. Check them out if you know someone who needs a little help making it through.

It seemed like there were multiple interesting sessions in every time slot. Where I had to choose I picked panel or supporter sessions over paper sessions. Mainly that was because with paper sessions I could at least read the paper. Not the same thing but it was that or miss out on a panel completely.

The elephant in the room may have been COVID and masks. COVID times was a topic of conversation but masks? Not that I heard. The conference organized stated that even though CDC guidelines had changed the attendees had signed up expecting everyone would be masked so they were going to stick with that. I think it was the right decision. While masks are not always comfortable and they make it a little harder to recognize people it added to comfort levels for many attendees. Including me.

Sessions were split between the Rhode Island Convention center and the Omni hotel. The two are connected and traveling between them was pretty easy. I have a bias to all being in the same building but honestly I have walked further between sessions in some convention centers so there is that. The rooms themselves were large, accommodating people sitting apart if that made them more comfortable. I suspect that is what required using both facilities when one might have divided large rooms under normal circumstances.

Hybrid sessions where some or all of the presenters were remote were interesting. It worked pretty well overall. I hear there were some that were played recordings with no interaction but I didn’t “attend” any of them. The real bonus of a paper session is being able to ask the author questions so that is important. Mike Zamansky has more on this on his post at SIGCSE 2022 - Conference format.

I left Providence with a lot to think about and some great memories of visiting with people face to face – even with masks. Now to renew my passport so I can attend next year in Toronto!

Saturday, March 05, 2022

SIGCSE 2022 Day 3

Saturday at SIGCSE was a short day but there was still plenty to learn. Shaundra Daily. Her talk, based on her own history, was about how their are barriers making it hard for women, especially women of color and women who are also mothers, and who generally don’t fit a specific mold. This fit in with other conversations I had this conference about getting students to start CS at the university level don’t have the support they need once they get there. Filling the pipeline is not enough if the exit is blocked.

After the keynote I grabbed a quick bite to eat and ran into Mike Zamansky. Mike has a great blog post about the things he plans to write longer posts about. SIGCSE2022 - Things I plan to blog about We spent a lot of time discussing those topics. We agree on much and disagree (in a friendly way) on some. Look for future posts from both of us on these topics. Mike Zamansky blog

My first paper session was CSF2: Formative Feedback in Autograding. I'm of mixed feelings about autograders but more on that another time. This particular tool moves away from the binary pass/fail of autograders to provide feedback and hints. The tool also helps educators see where students are getting stuck. I want to look into this one some more.BTW, hinting is hard.

After the morning break, Nifty Assignments. I just could not resist as I love new assignments. This year’s assignments as well as previous year’s assignments are available at Nifty Assignments (stanford.edu) So I’m taking the easy way out and not saying much more about them.

For lunch time, SIGCSE set up a K-12 meetup lunch time in a conference room. I really enjoyed chatting with other K-12 people. Next year I hope they can come up with a way for us to connect earlier though. The k-12 ribbons were nice but ribbons get visually lost at times.