Tuesday, July 16, 2024

CSTA Day One

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

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

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

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

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

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

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

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

Sunday, July 14, 2024

CSTA At 20 Looking Back #CSTA2024

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

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

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

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

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

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

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

Friday, June 21, 2024

Advice To First Timers at #ISTE24 or #CSTA2024

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

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

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

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

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

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

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

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

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

What am I missing?

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

Wednesday, March 27, 2024

Pangrams Anyone?

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

The quick brown fox jumps over the lazy dog

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

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

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

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

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

Tuesday, February 27, 2024

Alphabet? What alphabet?

I used to start a talk on internationalization of code with the question “How many letters are in the alphabet?”  Once I had several people say “26” I would ask “Shouldn’t you ask ‘what alphabet’ first?” I would then discuss some different alphabets and how many more or fewer letters they had. Then briefly mention that not all alphabets look the same. That’s is why ASCII is not good enough.

Today I ran across the following graphic. I wish I’d had it back in the classroom.

Who knew there were so many diffe3rent scripts? I suspect that are many more not on this list of course. Let’s not forget that some them are read left to right and not right to left.

Are you discussing multiple scripts and alphabets with students? It can bring up some interesting questions. And widen ones experience. If you are lucky enough to have students who are familiar with these non-Roman script languages ask them to explain how sorting of words happens. I had Chinese exchange students who were happy to explain how Chinese words are sorted. Short answer is by the strokes that make up the words.

Sunday, February 18, 2024

AI Debuggers?

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

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

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

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

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

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

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

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

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

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

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