Saturday, January 30, 2016

President Obama Announces #CSforAll Initiative

Those of us involved in Computer Science education were pretty excited when President Obama mentioned computer science education in his State of the Union Address. That’s a big deal. This morning the president when even further dedicating his weekly Saturday address to an initiative Giving Every Student an Opportunity to Learn Through Computer Science for All  That links is to a YouTube video of his 4 minute talk. It’s pretty exciting and worth a listen.

US Chief Technical Officer Megan Smith took to the official White House blog to go into a lot more detail. If you can about CS education you will enjoy reading Computer Science For All
Computer Science for All is the President’s bold new initiative to empower all American students from kindergarten through high school to learn computer science and be equipped with the computational thinking skills they need to be creators in the digital economy, not just consumers, and to be active citizens in our technology-driven world. Our economy is rapidly shifting, and both educators and business leaders are increasingly recognizing that computer science (CS) is a “new basic” skill necessary for economic opportunity and social mobility. CS for All builds on efforts already being led by parents, teachers, school districts, states, and private sector leaders from across the country.   The President’s initiative calls for:
  • $4 billion in funding for states and $100 million directly for school districts in his forthcoming Budget to expand K-12 CS by training teachers, expanding access to high-quality instructional materials, and building effective regional partnerships.
  • $135 million in Computer Science funding to become available starting this year from the National Science Foundation (NSF) and the Corporation for National And Community Service (CNCS)
  • Expanding access to prior NSF supported programs and professional learning communities through their CS10k Initiative that led to the creation of more inclusive and accessible CS curriculum including Exploring CS and Advanced Placement (AP) CS Principles among others.
  • Involving even more governors, mayors, and education leaders to help boost CS following the leadership of states like Delaware, Hawaii, Washington, Arkansas, and more than 30 school districts that have already begun to expand CS opportunities.
  • Engaging CEOs, philanthropists, creative media, technology, and education professionals to deepen their CS commitments.  More than 50 organizations are making commitments, learn more and get involved and make a commitment here.
Lots of shout outs to people and programs that have been working for a long time in this area and it is wonderful to see them recognized.

Embedded image permalink

Thursday, January 28, 2016

Are You Teaching Cloud Computing to HS Students?

Looking to learn from CS teachers. I hate reinventing the wheel.  One of the things I would like to learn more about is teaching the use of cloud services like Amazon Web Services or Microsoft Azure to high school students.  I’d probably do this as part of a mobile applications development course. I’m not sure if I want to develop apps that store data in the cloud, apps that run in the cloud, or a bit of both. Honestly  I’m early in my own learning here.

So what I am looking for is people who are already teaching these things to high school students and/or curriculum that others have created that can be used with high school students. High school students are not professional developers so resources that are developed for professionals often doesn’t work well with students.

Who can help me? What resources are good for beginner developers? HELP!

Wednesday, January 27, 2016

Try It You’ll Like It

There are lots of cool gadgets out there these days. A lot of them are being promoted as ways to get students excited about developing software. For young students we have all sorts of drag and drop programming languages. And we have educational robots. Then there are the alternative I/O devices like Kinect and the Myo Gesture Control Armband. How about programmable Wi-Fi enabled light bulbs? Oh my is this stuff awesome. But is it useful in my classroom/Lab? Maybe.

If you have really advanced students or a very flexible course curriculum you can hand a device off to students for testing. Not my situation at all unfortunately. I teach a very first programming course and only have a semester to teach it. I REALLY need to try things out before I hand them off to students.

The people at Thalmic Lab recently lent me a Myo and I’ve played with it a little. I’ve had Kinect devices for years. Recently I received a gift of a number of Wi-Fi enabled light bulbs as well. Exciting stuff!

But I have to say I don’t think any of it will work well in a one semester first programming course. If I had a full year for a second course or a post Advanced Placement course I sure would bring these things into play.

The problem is that too much knowledge is required to use much of this cool stuff. SOAP REST and the rest are a lot to show students who are just figuring out how to use loops and arrays. I might be able to put some scaffolding together and I am going to try to do some of that. But I can’t base my course around that.

The first real programming course is in an awkward middle place. One wants to go beyond drag and drop programming but you’re not ready for advanced concepts and tools. It can be a challenge.

BTW Garth Flint recently wrote about some of his experiences testing new teaching tools and curriculum at Something new, something blue

Tuesday, January 26, 2016

Plans For Missing School

The standing joke, which is not so funny really, is that creating a sub plan for missing a day of school is more work than working a day at school.  It’s a tough task for a conscientious teacher. With a limited number of teaching days one really doesn’t want to waste a day. One always wants to make progress and see that the day is useful and productive for the students. Telling the sub to let students have a study period is far less than ideal. So what to do?

When I have time I like to set up the schedule for a test to be given. It sounds evil in some ways but it makes sense. Anyone can proctor an exam. In fact if the proctor doesn’t know the answer to any of the questions (and subs for CS teachers typically don’t) then students are really on their own. So it is a great day (for one definition of great day) to be absent.

Now that is not always possible especially if the missed day comes up suddently and unexpectedly (meaing the teacher comes down sick) so there have to be other options. Showing a movie is a good option as long as the movie would be part of the curriculum anyway. I like to show the movie “Top Secret Rosies” as part of my unit on computer history for example. I’ll miss a day later this week and I plan to move that up in the schedule a bit. Kids always think they are getting away with something when you show a movie. Having a movie in reserve can be a good thing.

I’ve thought of the whole flipped classroom thing with the video in class and I can see how that might work. I’m just not a fan of taped lecutres (even if I have recoreded a few). I see taped talks as suplimental or for helping students who miss a day to catch up.

For programming students I like to have them spend time working on a project. It can be hard as they may struggle without a teacher who can help but that is all part of the learning. Isn’t it? Please tell me it is so I can sleep at night.

Worksheets are popular but honesly I hate the very idea of them. They seem so rote to me and I don’t think it is easy to make them so they contribute to real learning.

A think piece eassy is probably better than a work sheet. I do like to have students spend some time thinking about issues involving computer science and society. Making them write an essay forces some thought which can lead to better discussions when the teacher returns.

I’m always looking for other ideas. What do others who teach computer science do for sub plans?

Monday, January 25, 2016

Interesting Links 25 January 2016

THe school year is pretty much half over for me. Last week we wrapped up the first semester exams. I give semester projects, which inspired some posts in the last week or so, and spent a good amount of time grading them. Today I meet a new batch of students for the spring semester. Oh boy! In between grading I did pick up some links to share. Enjoy!

  Intro to SmallBasic is the first of several new videos by a teacher who uses Small Basic to teach programming.

  What's the impact of the Hour of Code? It goes way beyond an Hour  as explained in’s annual report on the 2015 event during CS Education Week.

Things to do and not to do in which Doug Peterson ( @dougpete) talks about things to do with creating teacher blogs - do you have one yet?

Online safety resources from Microsoft – some good stuff I plan to use with students. These are the 25 worst passwords of 2015 I display these in my lab and discuss them with students. Happy to have the updated list for the start of the new semester.

Announcing Minecraft: Education Edition via @playcraftlearn Microsoft bought MinecraftEdu which is a good thing for the future development and stability of educational Minecraft use.

British Columbia in Canada to add computer coding to school curriculum – another effort to watch. 

Doug Bergman’s newest BLOG post: Girls in Computer Science: Why it matters

Tuesday, January 19, 2016

Teaching Students What They Want To Learn

I’m grading end of semester projects this week. Generally speaking, they are full of the concepts and tools that we have worked with in the course of the semester. Things that are a regular part of the curriculum. Many of the projects also include things that were never covered in class. Students will find out how to do things to make projects do what they want. There are some uses of images beyond the basics. Several students found out about timers and ways to make their programs pause between operations. Others discovered different types of collections (hash tables and array lists) that we didn’t get to in the limited time with have in a one semester course. It’s great stuff.

I wish we could cover all those topics during the semester but of course we have to focus on the basics. I can’t possibly cover everything that every students wants to learn.

As I was thinking about this I came across a post by David Jakes called Cow Paths of Learning. In it he talks about designing curriculum around what students want to learn. It’s a fascinating post and it all sounds pretty idealistic. How does one make that work though?

Project based learning seems to me to open some possibilities in that direction. With larger projects ones that are designed for more than a demonstration of a single concept, can allow for students to add extra beyond what is covered in a lecture. In fact, different students can go in different directions and learn different things.

This can make for more work for the teacher of course. But not a crazy amount. The teacher becomes a guide who points students in directions. Send them off to a developer web forum, some sample code somewhere, or even (gasp) the documentation or a textbook.

I have been writing some simple “how do I” documents for some of the frequent directions students take off into. I keep thinking I should do more. I’m torn between wanting to make it easy for students and worrying about making it too easy. It’s like hints which I also struggle with. (links below). Where is the line between too much and not enough information?

When push comes to shove though I would rather focus my energies on providing opportunities and motivation to learn new things. Letting students create projects that really interest them and that cause them to want to work to learn new and different things is a huge win in my opinion.  I’ll worry about too much help later.


Monday, January 18, 2016

Interesting Links 18 January 2016

Last week was a good week as computer science education was called out by the President of the United States. And a student of mine, me and some other great people were quoted in an article on NPR The President Wants Every Student To Learn Computer Science. How Would That Work?
Embedded image permalink
Registration is open for the 2016 CSTA Conference, July 10-12, in San Diego. Don’t miss it!

Doug Peterson takes on lottery inspired programming projects in a post at In praise of lotteries I use some of these ideas already. Do you?

Structure of my Computer Science Classes is the first blog post by Dan Schellenberg. HS Computer Science & Mathematics in Saskatoon, Canada I’ve added his blog to my Computer Science Education blogroll.

Dan’s second post is Simple Steganography Using Processing which looks like a really cool project with lots of great learning involved.

Computational thinking is implausible. Our goal should be computational literacy.  Interesting post by Mark Guzdial. Opinions?

40 Key Computer Science Concepts Explained In Layman’s Terms A range of quality of answers but some good starting points.

  Here is one possible reason that C is not the best language for beginners. Smile Embedded image permalink

Friday, January 15, 2016

Lottery Inspired Projects

This week’s monstrous PowerBall lottery jackpot (1.6 million US dollars) had a lot of people talking. I bought a ticket but didn’t win. On the other hand discussion brought up several good ideas for projects.
One of my friends built a spreadsheet that uses conditional formatting to let her know at a glance if one of her tickets is a winner. I may have students do something like that. When you add money to a project, even as abstract values, students tend to like it. And they might actually be able to use this to look at tickets their parents might buy. It’s always a struggle to find cool spreadsheet projects so this may be a good one.
I spent some time thinking about what the database used to store the lottery information looks like. A friend in the gaming industry told me it used to be an ISAM (Indexed Sequential Access Method) file. I didn’t get more details so I wonder what the key looks like. I don’t teach database these days but if I did this would make for a good design question.
Of course there is the obvious project of creating a simulator of the actual number selection. Various lotteries have various sets of numbers. PowerBall picks 5 of 69 numbers on white balls and one out of 26 red balls. The hard part is making sure there are no duplicates among the white balls. This one may be fun for students. It would be interesting to talk about various solutions that may or may not involve arrays. Students do not always see how much easier a good array can make things.
I think I’ve got one new project for each of my current courses. So while I may not have won any money I think I have won in other ways from all the hoopla.

Doug Peterson takes on lottery inspired programming projects in a post at In praise of lotteries I use some of these ideas already.

Tuesday, January 12, 2016

Experience Pays Off

It’s that time of semester again - Final project time for my semester courses. Students are working on their big projects and running into difficulties. Projects are great learning experiences for students and making mistakes is part of that learning. This is the time when I think a real (in-person, face to face) teacher really becomes important.
While the struggle has some value (teaches grit perhaps?) there comes a time when a small hurdle puts a whole project into jeopardy that can be easily avoided with a few minutes of time with a teacher.
This week I have looked at all sorts of problems. Some are caused by simple mistakes. One of the risks of using a professional grade tool like Visual Studio is that students can easily do “something bad” without knowing what they are doing. Sometimes it is deleting something they shouldn’t because they don’t know what it is for. Or they add something they don’t understand but which has unintended consequences. Most of these I have seen before and can repair quickly while a student might not (before the project is due) figure out. Some take me a bit longer but at least I’ll know it for the next time. It seems like every semester at least one student finds a new creative way to destroy their project.
The most interesting problems are design issues though. Students with a limited “tool set” and limited experience find some interesting ways to solve problems. Often these are much more complicated than they need to me which causes its own set of problems. A few minutes from a teacher or other experienced person can save lots of time. Even more importantly new or different ways of looking at a problem can be shared. I think these design suggestions are very important.
Solving logic or design problems is a real highlight for me. Sometimes I think I’d rather debug code than write original projects from scratch. Having a lot of experience makes solving student errors fairly easy for me. At least most of the time.
Students are absolutely amazing at writing code that is hard to understand and debug. Helping them learn to write more understandable code is an important part of my job as a teacher. I wonder how teachers who are not that experienced do it though. I guess they learn a lot with their student which is not really a bad thing. It can be frustrating though.
Looking for help online, which can be great at times, can be frustrating though. There are a lot of really bad examples on the Internet. Online forums can be helpful but they can also be unfriendly places for beginners. No one likes it when students try to get others to do their whole projects for them and that happens all too often. Getting help with debugging online can also be very difficult. Often there are many lines of code to look though and having unclear code exacerbates the problem for someone who wants to help. Getting online help can also take a long time as conversations take place when people have time and on their own priorities.
It can work but after observing a lot of students look for help both online and with an in-person classroom teacher I think the teacher is the way to go.
BTW I seem to think up variations of this topic regularly. See also these older posts.

Monday, January 11, 2016

Interesting Links 11 January 2016

I didn’t win PowerBall this weekend so it is back to school for me. BTW am I the only one who has been thinking about what sort of database is used to keep track of PowerBall tickets for the last several days? It will be interesting this week though as my students are all working on semester projects. I love seeing them put things together into orgional projects. And it means some debugging on my part. Students are really clever at creating logic puzzles for me to solve. I’ve learned a few new things already from students wanting to try new things.

TechFrenzy! is a three day mini-course that Bob Irving ran for a mixed age group of students. Sounds like fun was had by all.

I found this Great list of videos on Artificial Intelligence on a teacher's blog post. I plan to show some of them to my students in the new semester starting soon. 

'CodeGirl' is now available to watch on Mashable's website- I still ned to watch this one.

DO YOU TEACH LEGO MINDSTORMS? Get free products, training, and support! 

Ease of use vs. power of various programming languages


I think that VB is easier than C# and more powerful than Java. But this is a nice start for conversation.

What is a “game” programming course?  A common question. I like Garth’s take on them. Lots to think about.

Computer science students mine software developer forums to teach coding practices via @physorg_com

Blogged: What is Computational Thinking?  Nice post by Brian Aspinall

Embedded image permalink

A New Framework to Define K-12 Computer Science Education at blog@CACM from Communications of the ACM we learn abiout an big project being run with ACM, CSTA and Lots of great people involved.

Fisher-Price gets into the devices to teach coding business with the Think & Learn Code-a-Pillar I’m not sure about availability at this time. Eventually it will show up on my  Robots For Teaching Programming post along with the WeDo 2.0–LEGO Robot for Teaching Science and Coding from @LEGO_Education

AP Computer Science Principles - Bookshelf a collection of reference suggestiong from Rebecca Dovi from @codeVirginia

Google answers questions for educators about trusting Google Makes for interesting reading. And maybe for discussion. 

How Robotics is Transforming STEM in Elementary Schools This post was written by someone affiliated with Wonder Workshop FWIW.

Raspberry Pi Zero – Programming over USB!  I have a wi-fi dongle for mine but this may come in handy in the future.

Computer science hiring still puzzles school districts from District Administration Magazine No surprises here but nice to see the issue getting some attention.

Friday, January 08, 2016

2016 AP Computer Science Principles Scholarship Programs

A lot of people are looking for help getting professional development. I saw this on the CSTA mailing list and thought I should post it for people who have have missed it. Or who go searching for things like it later as they prepare to take on Advanced Placement Computer Science Principles in the next year. (Though deadlines for applications are not that far away – you’ve got about 3 weeks from today.)

As you may know, the Advanced Placement (AP) program's Summer Institutes
(APSIs -- offer intensive professional development programs where teachers can network with peers and learn about tools and resources that inspire success in their AP classrooms.

To support the launch of the new AP Computer Science Principles (CSP) course in fall 2016, the AP program is offering two different scholarships for teachers to attend an APSI in 2016.

Apply for these AP Computer Science Principles scholarship programs at by February 1, 2016.

The AP CSP scholarship covers the cost of tuition for an AP CSP Summer Institute for teachers of AP CSP in the 2016-17 academic year at schools where at least 51 percent of the student population consists of underrepresented minorities (African American, Hispanic/Latino, and/or Native American students) and/or at least 51 percent of the student population qualifies for free or reduced-price lunch.

The White House Initiative scholarship provides $1,000 toward AP Summer Institute tuition, travel, and expenses to AP CSP teachers in the 2016-17 academic year at schools where at least 51 percent of the student population consists of Hispanic/Latino students. AP is granting these scholarships as part of the White House Initiative on Educational Excellence for Hispanics.

Please note that the scholarship funds can only be used toward an official AP Summer Institute; they cannot be used to fund AP Computer Science Principles professional development training offered by another organization.

Wednesday, January 06, 2016

Teaching Looping as a Concept

I’m introducing loops to my Freshmen this week. I’m trying a couple of new things. I thought I might put them out there in hopes of getting feedback but also possibly hearing how others introduce the concepts.

I’ve talked for years about the stairs. Everyone knows what happens if you don’t end your walking loop up or down stairs. We know to stop when we see that we are at the top or bottom of the stairs (while/until loops). I talk about how blind people know to count the steps in the places they regularly find themselves (for loops). It works ok.

Today I had one student count the people in the room. How did they do that? When did they know to stop? What would have happened if they double or triple counted? I need to ask how it would be different if people were moving next time. Then I had someone name three people in the room and we talked about that process some. Students haven’t thought about how they do things like this but they are basically loops.

Students seem to sometimes struggle with counters and accumulators which are commonly used with loops. Today I tried introducing them with money. Money seems to get attention. Go figure. I handed one student some coins and asked them to tell me how many coins there are. I give the same set of coins to a second student and asked them for the value of the coins. So we have a count and a total. Now we can talk about that similarities and differences in the two algorithms. It seemed to make an impact. At least everyone was paying attention.

So how do you introduce the concept of loops? What sort of real life examples do you use? Please share what works for you. I have a new class in three weeks and I want to get better.

WeDo 2.0–LEGO Robot for Teaching Science and Coding

This week at the big Consumer Electronics Show LEGO Education announced a new product WeDo 2.0. In the press release they called it a “New wireless, tablet-ready robot-based learning system for elementary science curriculum [that] teaches science and coding in a hands-on way” I noticed it said science before coding and found that interesting.

imageThe WeDo 2.0 is designed for the younger grades – grades 2 through 4 – while the earlier NXT and related products are for older grades – middle and high school. They seem to see this product as fitting in to science classes not stand alone computer classes. I like this idea. I think we should use coding and related tools as ways to teach other subjects and not just as independent and unrelated topics. LEGO is also supplying

Featuring curriculum that contains 40+ hours of lessons and activities built on key science standards for 2nd-4th grades, WeDo 2.0 enables students to engage with the science practices and engineering habits of mind by testing multiple designs through eight guided and eight open-ended projects. For example, in the “Drop and Rescue” project, students are challenged to design a device to reduce the impacts on humans, animals and the environment after an area has been damaged by a weather-related hazard. Students can prototype solutions to a challenge where there is no single right answer helping teach creativity and problem-solving skills. This also enables educators to tailor lessons to meet all students’ needs, no matter their abilities.

Richt now software for the WeDo 2.0 is available for iPad, Android, PC, and Macs. ChromeBook support is coming and later this year a Scratch interface will be available. That should work well in schools that already use Scratch with older students.

More information is available at

BTW This has been added to my list of robots for teaching programming post.

Tuesday, January 05, 2016

International Blog Delurking Week 2016

OK this is the first I have heard of this but it is a great idea. Comments are a huge thing for bloggers. I get a few comments now and again and they add great value to the conversations. Along with that they let me know people are actually reading what I write. That is encouraging.

So if you seldom (never) leave comments on blogs think about leaving one here and/or on other blogs you follow. Just a ping to show your support.

Monday, January 04, 2016

Interesting Links 4 January 2016

Happy New Year! Happy 11111100000! Today is forst day back at school. I didn’t get to everything I wanted to do over the break but I did start playing with some wi-fi enabled light bulbs. Hoping this will be the start of getting serious with Internet of Things development for me.
Embedded image permalink
I did some thinking about Computer Science Education Things to Watch in 2016. It probably means I’ll have to review it all at the end of the year.
Teaching Coding - getting beyond superficial syntax  A good post by Mike Zamansky.
Arduino Final Projects by Middle Schoolers by Dawn DuPriest @DuPriestMath Cool stuff by younger students.
Your teacher blog by Doug Peterson  Really isn't it about time you shared what you are doing with others?
North Korea's 'Red Star' computer-operating system tracks its users A bit scary I think. A good reason to keep governments out of operating system control I think. 
Education Technology - A solution in search of a problem? What do you think? Interesting questions in this post.

Saturday, January 02, 2016

When Blogging Works For Educators

It seems like there is a regular stream of articles, often on blogs, talking about blogging going away. Or changing for the worse. Or other negative comments. But I find that there is a real place for blogging. I think this is especially true for educators. Blogs allow for a lot more detail and nuance than most other social media outlets. They also allow for people to build on each other’s words, ideas, projects, and thoughts.

Take for example a recent string on blogs I followed. Via Twitter I stumbled across an interesting post by Rob Underwood called Code Syntax Compared. I wrote a small post (Code in Different Languages) that added two more pieces of sample code but also brought up the subject of static typing and dynamic typing. The comments led to more discussion. This discussion brought up the value of learning different languages and the importance of learning the idiomatic ways of these languages.

Mike Zamansky who was one of the commenters on my post wrote his own follow up post (Teaching Coding - getting beyond superficial syntax). There is some conversation in the comments there as well.

So here we have a string of three posts – all related – all building on the conversation – all linking to each other as well.

This is blogging that works. It is idea sharing, conversation and educators learning from each other. Pretty awesome stuff if you ask me. Now I ask you, shouldn’t you be blogging too? Take a look at Doug Peterson’s take on teacher blogging at Your teacher blog.

I’d love to add more blogs to my Computer Science Education Blog Roll How about yours?

Friday, January 01, 2016

Computer Science Education Things to Watch in 2016

“It is difficult to make predictions, especially about the future.” I was thinking about writing a post with predictions but realized that I’m not smart enough for that. What I do have are some things I think are worth keeping an eye on over the coming year.

Very Inexpensive Computers – There are a growing number of under $20 computers coming on the market. They are being touted as amazing teaching tools but I’m not so sure. I addressed some of my concerns in How Much Does a $5 Computer Cost? If I were to make a prediction I would predict they will not live up to the hype.

BBC:MicroBit – one could argue that this is included in the very inexpensive computer category but I think it deserves to be called out on its own because it is different in some important ways. One is that it is really being rolled out in a huge way. Another is that there are a good number of cool looking tools created for using it. And a third reason is that there is actually being a lot of professional development being provided. Will that be enough to make it really succeed? I don’t know but I’ll be watching from across the pond and so will many other people.

MOOCs and other Online CS Teaching tools – I expect the evidence to continue to show that these do not increase or broaden participation of girls and minorities. On the other hand, I expect a lot of people to promote them as “the answer.” They are low cost “solutions” to a problem a lot of people in government and education administration want to check of their lists. Saying “it’s available online” helps them avoid spending real money on real teachers and real programs that really work. We’ll see.

Advanced Placement Computer Science Principles – This course and test goes live in 2016. How will adoption go? Will it draw students away from APCS A or will it increase the total number of AP CS students? What will be the popular curriculum? There are a bunch of them out there. Many don’t use traditional programming languages but use things like Scratch, Blockly and Snap!. Will universities give AP credit? So many questions. I go back and forth in my mind as to how I think they will be answered a year (or year and a half) from now. Keep watching. It’s going to be important.

Python vs Java vs drag vs drop programming – Python has been growing in popularity in K-12 CS education for the last several years. I tend to think that the APCS A course is mainly what is keeping Java in schools. Will APCS P pull attention away from Python? Yes, some of the curriculum out there will likely use Python. Some even Java but there seems to be a movement to Snap! and similar.

Computer Science for Everyone – I’m thinking especially of large school districts and states that were talking about spreading CS everywhere last year. Can they pull it off? A lot is going to depend on professional development. Can they recruit and train enough teachers? What will curriculum look like? It’s going to be interesting watching.

Well that is the big six for me. What are you looking to see succeed or fail in 2016? Have I listed your concerns? Do you have predictions or anything else to add? That’s what comments are for.