Thursday, July 30, 2020

Changing How We Teach Computer Science

I haven't been blogging much lately. I'm adjusting to being retired for the most part but I have been reading and thinking a lot about teaching computer science along the way. Mark Guzdial has been thinking even harder and has posted a four part set of blog posts about the subject.

I find that many of his ideas as close to how I have done things in the past. Of course at the high school level we see a lot fewer students with previous experience in CS than many university faculty do. SO we follow much of his suggestions in proposal #1 out of necessary.

The whole series is worth reading. Don’t ignore the comments either.

Saturday, July 18, 2020

Book Review: Weapons of Math Destruction

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

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

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

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

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

Wednesday, July 15, 2020

Thoughts on Virtual Conferences - CSTA 2020

The first online CSTA Conference is now about 24 hours behind me. I was fortunate to experience it both as an attendee and a presenter. After mulling it over a bit I have to say it was a much better experience than I expected it would be.

Attending was very low friction. No travel half a day each way (with attendant airfare) no hotel to book and pay for and that is just to start. Attending sessions was easy. No hunting for rooms for example. I have put in a lot of steps in previous conferences going to the wrong room or finding a room at out of the way locations. None of that here. No trouble entering and finding a seat. Or leaving if I wanted to switch sessions. Really very smooth.

Attending sessions was great this way. I particularly liked the chat window as it allowed others to share resources and for more people to ask questions. I hope there is a way to capture the chat session information. I would like to have the comments from my presentation at least.

Presentations were of the usual high caliber for a CSTA conference. Sure some were better than others but over all much higher than some other conferences I will not name. Presenters seemed comfortable presenting online. Some of this may because a lot of us have been doing so for school but the preparation for presenters was really very well done. As a presenter I felt very prepared for the platform.

As a presenter things went pretty well. I had wanted to have a second monitor running but due to some technical issues that were all my fault I didn’t get that working. Let that be a lesson to me. Not being able to see the chat window while I was presenting was a disadvantage but the wonderful CSTA proctor was able to see it and fed me questions as appropriate. Having a person who can do it is very important in an online presentation.

While presenting I obviously could not see the reactions so setting an audience based pace was difficult at best. Attendee questions did help there. I also missed hearing people laugh at my jokes (be they intentional or otherwise). There were some comments in the chat that said people did laugh so that’s good. Presenting online is not as much fun for me as presenting in person. One the other hand, I don’t think any of us presenters would have had the size audience we had online if we’d had the conference in person.

The hopin platform worked very well – flawlessly for me. I recommend it. We had a reception area for finding out what was happening and when. A “main stage” for keynotes, breakout rooms for the concurrent sessions, a networking area, and a virtual exhibit hall.

The networking area was very interesting. It placed you in a session with a random attendee for 5 minutes. Just enough time to meet someone and be very low stress. You didn’t have to find an excuse to “walk away.” I took part a few times but as an introvert I have my limits.

The exhibit hall didn’t quite work for me. I like to look at booths and the physical objects in them. It was great if you like to listen to exhibitor presentations and I know that many people do. So that was a mixed story for me. I would love to know what exhibitors thought of the experience.

I was going to write about missing the “hallway track” in this post but I think that deserves a post of its own. So that will probably show up tomorrow.

Tuesday, July 14, 2020

CSTA Online Conference 2020–Day Two

The first thing I did this morning was to prepare for my presentation. I may have made some last minute changes to my presentation deck.

The first thing I attended was a Birds of a Feather session called White Teachers as Anti-Racist Allies. I listened closely. Living in New Hampshire were we don’t have a lot of people of color it is easy to fall into the idea that race is not an issue. But of course I have been teaching in a school with more than the average number of people of color for the area so I know better. This BoF gave me some things to think about.

I couldn’t focus on anything after the BoF. In all honesty I couldn’t get my mind off of getting myself set for you presentation. This tends to happen to be at in-person conferences as well. I probably missed something valuable but hopefully I can watch recordings later.

If you are interested, my presentation slides can be downloaded from Techniques for Teaching Programming. Someone else will have to review that session. Please be kind.

After lunch was a keynote by Dr. Ruha Benjamin called Keynote: 2020 Vision: Re-imagining the Default Settings of Technology and Society She focused on the intersection of technology and bias. Really thought provoking. She shared a really interesting video called "Racial Sensitivity" from Better Off Ted Recommended. How does data and algorithm incorporate bias?

After the keynote I started with Our Code From Miles Away: CS via Distance Learning, which according to to the slides was going to be about Pear Deck and FlipGrid. The main presenter had some issues with time zone coordination which is more a problem with online conferences than in-person ones. Anyway, I left early and moved to Machine Learning in the High School Classroom. It was well done but jumping in 20 minutes late means I missed some important context. I look forward to viewing the recording from the beginning And reading through the website I linked in the session title.. Not much else I can say about this one I am afraid.

Next up was Git and GitHub: How to Use It, How to Teach It, which was of course about Git and GitHub. This was a very fast paced session by a pair of experts. I learned a lot from this one.

I dropped into Nifty Assignments for my last session of the day.

The archive of CSTA Nifty Assignments is here. Check them out!

So the virtual conference is over. For me there were a lot of great sessions. If you were there, what sessions did you like? Let me know which ones I should look for when the recordings are ready.

Monday, July 13, 2020

CSTA 2020 Conference Online–Day One

Day one of the online CSTA 2020 conference has been today. I’m blogging this as the day goes on and posting it at the end of the day. We started with welcome remarks and some tutorial about using the Hopin conference platform. As a presenter, I’d had some time to try this out previously but I think this was probably very valuable for first time users. I hope not many missed it.

After welcomed remarks we had some networking time. This is actually fun as you are randomly placed in a window with someone for 5 minutes of casual chatting. I found this a nice way to warm up to the day. And to chat with CS teachers from other parts of the country.

During the first break out I attended a session called - Integrating Cybersecurity into the AP CSP Course.I really think we need to teach more of cybersecurity so I jumped into this one. The people have Whatcon Communiyt College have some very interesting and useful looking resources for teaching Cybersecurity. They have 13 units at their website which I link to below along with their sites description.

C5 Cybersecurity Concept Lessons

NCYTE Center supports the work of a related grant project also based at Whatcom Community College, Catalyzing Computing and Cybersecurity in Community Colleges (C5). One of the goals of the C5 project is to develop and disseminate instructional materials to enhance computer science and cybersecurity courses.

The following Cybersecurity Concept Lessons (CCL) illustrate how Cybersecurity can be integrated into the AP CSP course. Each lesson contains activities, a presentation and an overview document that can be downloaded and used in the classroom.

The first keynote started after a sort of ad from Apple. A lot of side chatter was about the usability of Swift without having a Mac to compile on. I may have to look into that. I will start here I guess

The keynote was by Linda Liukas who writes children’s books about computing. I really need to look into her “Hello Ruby” books. Lots of us use the exercise of having students write instructions for making a peanut butter sandwich or a paper airplane (my favorite) but Linda suggested brushing ones teeth. That sounds fun. The talk had a lot of computer free examples and exercises. Most of these would work for a wide range of ages.

The keynote was high energy and inspiring for me. Videos will be available later for CSTA+ members I believe. I plan to watch it again.

Lunch break and time to visit the booths and poster sessions. I visited a couple of booths. It’s interesting as the booths I visited had 50-60 people listening to the person “working the booth.” I spend some time in the Microsoft booth while they were talking about the Hacking STEM program and projects. I keep telling myself I need to get into this stuff but year after year I find myself pulled into other things. Maybe I’ll get to it now that I am retired. Then maybe I can do quest visits to my old school. We’ll see. I really do want to get involved in hands one matter hacking.

After lunch, Mini-Session 3: Tools to Teach 9th-12th Grade There are over 150 people attending this session! Can you picture having rooms that large for as many sessions (12 by my count)  as are going on now?

This session started with Truffle Hunt: Teaching an AI Agent to Play a Minesweeper-Based Game (that link is to the PowerPoint which itself has resource/reference links) I like the idea of teaching rules based AI. Jeffrey L. Popyack from Drexel University presented that one.

Next up was Teaching AI to High Schoolers Inclusively with  Sarah Judd, AI4ALL. Her slides are at Sarah talked about an Open Learning curriculum for teaching Artificial Intelligence. You can Access the curriculum at

The last mini session was by Leon LaSpina on MATLAB.  His slides on MATLAB are here. Leon is a great guy and I can see some reasons for people to teach MATLAB. But I left early and just dropped in on a couple of other sessions for a few minutes at a time. It is less disruptive to enter and leave sessions online.

Next up, Formative Assessment and Feedback for CS Learning with over 270 attendees! I guess a lot of us are interested in doing better assessment and giving feedback. Slides are available at  Formative Assessment This is another session I want to watch a second time.

I attended Incorporating Culturally Authentic Practices in a Problem Based Computer Science Classroom. I’ve always been a proponent of project based learning but I haven’t thought a whole lot about cultural reliance before. It seemed more about PBL in general than specifically how to make them culturally relevant. It may be just me though.

So I jumped into Teaching Girls to Code and Change the World which was about Girls Who Code. Girls Who Code is an outstanding program.  I love the concepts of their program. It’s so much more than coding as it includes community building, long term connections and networking, and showing of role models.

The afternoon keynote was by Hadi Partovi of and titled K-12 CS: How Far We've Come and Where We're Headed Hadi started with a review of where we were 7 years ago and how far we have come. Hadi listed a bunch of individuals and organizations who have helped make the progress we have seen in that time. It was awesome to hear him call out so many. It’s been a global village.

Hadi ta;led about how important it is to teach students ethical thinking and taking into account the impact of computing and technology. This is so important. I’ve heard Hadi speak several times and this was far and away his best talk.

The last session I attended was AP CSP 2020: Updated Course and Exam because there is a chance I may teach AP CS P online in the fall. Maybe. In any case, this was VERY useful if you are teaching AP CS Principles. I have to say that I like the changes. They have really made the create task more clear and added some specific requirements that I think make the task more rigorous. . I’m happy about dropping the explore task as a digital portfolio part of the exam. The link on the session name at the start of the paragraph is to their presentation deck. I saved a copy for potential mixing and definitely for my own review.

That’s the session wrap up from me. I’ll have more thoughts specifically about how the online conference experience was for me in a day or so. And of course I will be blogging about tomorrow’s sessions tomorrow.

Wednesday, July 01, 2020

Book Review: Computer Science in K-12

Full disclosure: I haven’t read all of “Computer Science for K-12” edited and compiled by Shuchi Grover yet but a couple of chapters was enough to convince me I should recommend it to other computer science teachers. The books has chapters written by a veritable who’s who of computer science educators. (See the table of contents listed below) I’ve heard many of them speak, read much of their published works, and met more than a few of them. I knew from the author list that it would be worth having.

I have been jumping around a bit but for me the chapter on Naïve Conceptions of Novice Programmers alone was worth the price of the book.  I have no doubt that I am going to learn a bunch reading the rest of it. The chapter or chapters you read that makes the book worth the price may vary but I suspect you’ll find several such. If you are looking to improve HOW you teach CS you should get this book.

It is available with black and white illustrations and diagrams and color versions. I bought the black and white version but wish I had spent a few extra dollars for the color. It's available from Amazon and Barnes & Noble

The table of contents is below from the Amazon page.

  1. Foreword (Inventing Computing Education in Schools) by Mark Guzdial
  2. Algorithms (Shuchi Grover)
  3. Before You Program, Plan! (Phil Bagge, Shuchi Grover)
  4. Creative Coding (Miles Berry)
  5. Data Structures (Baker Franke, Richard Kick)
  6. Events (Jennifer Rosato, David Wolber)
  7. Feedback Through Formative Check-Ins (Shuchi Grover, Vicky Sedgwick, Kelly Powers)
  8. Guided Exploration Through Unplugged Activities (Paul Curzon, Shuchi Grover)
  9. Hard Fun With Hands-on Constructionist Project-Based Learning (Deborah Fields, Yasmin Kafai)
  10. Integrating Programming Into Other Subjects (Shuchi Grover, Aman Yadav)
  11. JavaScript, Python, Scratch, or Something Else? Navigating the Bustling World of Introductory Programming Languages (David Weintrop, Shuchi Grover)
  12. Knowledge, Skills, Attitudes, and Beliefs | Learning Goals for IntroductoryProgramming (Rebecca Vivian, Shuchi Grover, Katrina Falkner)
  13. Learner-Centered and Culturally Responsive Pedagogy (Tia C. Madkins, Jakita O. Thomas,Jessica Solyom, Joanna Goode, Frieda McAlear)
  14. Modularity With Methods and Functions (Mike Zamansky, Jens Monig, Jonalf Dyrland-Weaver)
  15. Naïve Conceptions of Novice Programmers (Juha Sorva)
  16. Operators and Expressions (Matthias Hauswirth, Shuchi Grover)
  17. Pair Collaboration and Pair Programming (Shannon Campe, Jill Denner)
  18. Questioning and Inquiry (Shuchi Grover, Steven Floyd)
  19. Repetition and Recursion (Dan Garcia, Joshua Paley)
  20. Selecting Pathways With Conditionals (Shuchi Grover)
  21. Testing and Debugging (Kathryn Rich, Carla Strickland)
  22. Universal Design for Learning: Reaching All Students (Maya Israel, Todd Lash)
  23. Variables (Shuchi Grover)
  24. Worked Examples and Other Scaffolding Strategies (Jane Waite, Shuchi Grover)
  25. X-ing boundaries With Physical Computing (Sue Sentance, Katharine Childs)
  26. Yay, My Program Works! Beyond Working Code ... Good Habits of Programming (Shuchi Grover)
  27. Zestful Learning (Bryan Twarek)