Tuesday, March 31, 2020

Changing How We Think About School

What my school is doing is trying to replicate the brick-and-mortar model in the online world. Other schools are doing something more like “correspondence school” We fall back on old models at times like this when the world is turned sideways.I’m getting all sorts of ideas about what I would like in a remote lecture tool as well as what I would like for other interactions. But as someone pointed out to me, we are trying to replicate the brick-and-mortar model in the online world and that may not be the best way to teach online.

Peli de Halleux, creator of MakeCode at Microsoft, asked me “Why replicate the brick-and-mortar model in the online world? Isn’t there opportunities to improve things are taught (and not just make it worse)?”

It’s a really great question. The problem right now is that we are scrambling. Doing things right, I mean really right, takes time and planning and knowledge that most educators don’t have. in a real way we are making it up as we go along. Are we learning? We sure are. Is there enough sharing of what we are learning? I think not.

There is some for sure. Educational Twitter and Facebook are humming. There is some blogging for sure. I suspect that most teachers who read blogs (not enough read and far too few write blog) are siloed in their reading. I know I mostly follow CS educators. I hope someone is studying all this though.

We don’t know enough about online teaching. What we are doing is not a MOOC which is good because MOOCs have a poor record. It is something very different.

Mark Guzdial wrote So much to learn about emergency remote teaching, but so little to claim about online learning which addresses some of the issues around using the present time for research. This is far from a well-thought out scientific experiment as you can get.

That doesn’t mean it is a bad time to try things though. In fact, out of necessity we have to try things. Chris Lehmann, founding principal of the Science Leadership Academy, has been blogging about his and his schools experiences and wrote today about Teaching Without Compulsory School. In many school districts school has more or less become voluntary. How do you manage in that environment were as one spoof I saw on Facebook said “welcome to my online classroom where the due dates are made up and the grades don’t matter?”

Most teachers are not all that entertaining. There is no way I can make a video that will keep a student’s attention for more than 10 minutes. I can hope for 5 minutes but 10 is optimistic. Sure students will watch a movie for 90 minutes but who has $100,000,000 dollars to make a couple of 60 minute classes?

Most of us need some degree of compulsion. Students don’t always, often?, see the value of what school is trying to teach them. oh well. Maybe I should take a nap. I stayed awake most of the night worrying about this stuff.

Monday, March 30, 2020

Teaching From Home–Day 11–Is this our new normal?

Well. we’re definitely going to stay online until May. Our last week in April is a vacation week. I am hoping it still is. What will May bring? I have no idea. What about June? My school usually runs into June for a week to ten days. Most of the public school around me go even further into June.

Things are going fairly well so far I guess. Things take longer though. Its harder and takes longer to help individual students. I can’t just jump from student to student and desk to desk as easily. I don’t mind that much but it is going to get old. My one hope is that I will model my debugging enough times and clear enough that students will be able to learn from other people’s mistakes.

The school I teach at was highlighted in a newspaper article in the New Hampshire Union Leader. That is the state’s largest newspaper and has wide reach. So that was cool. There are a number of pictures of teachers at work at home and at school. Check it out at Teachers and students adjust to remote learning using online tools

For the first two weeks a few teachers taught from school in empty classrooms. They have been asked to teach from home now. Even though schools are allowed to teach from school our administration feels that the spirit of the guidelines suggest we set a better example from home. Or something like that. Personally I like not having that drive every day.

Saturday, March 28, 2020

Teaching From Home–Day 10B–Plan? What Plan?

When administration announced we were moving to remote teaching I started adjusting my plans. Now understand that when the semester started I had a plan for every singe school day for every one of my classes. They were great plans. Several of them have been used as recently as this past fall semester. Now I had to adjust for a schedule that had classes meeting 5 out of 10 school days rather than 7 out of 10. Oh boy!

So one sets priorities. In the case of AP CS Principles, what do I need to get covered for the exam and how do I get the last performance task in by the due date from the College Board. For my other classes, what are the key concepts that I need students to lean to feel like the course was a succes. I planned accordingly. Then of course the schedule changed again.

We’re not going to have school this Wednesday. Everyone needs a little time away from screens. Don’t tell anyone but I am likely to use some of the day figuring out how to teach some things. So I adjusted again.

The College Board announced changes for my AP course. No exam. AP grades will be based on the Performance Tasks and we have a later deadline for those. Great! Now what am I going to do with the time I scheduled for test review in May? At lease I have some room for the performance task. I’m still going to try and get that in before April break because who knows what comes next.

I have plans for my other two courses. I think they’re ok. For now at least. Will we even have a full school year? I don’t know? Will we have finals? I don’t know. I figure that my plans are solid for no more than a week at a time.

This uncertainty is the biggest stressor for me tight now. I suspect I am not alone.

Teaching From Home–Day 10A –I'm One of the Lucky Ones

There has been a lot in the news about schools being closed and how schools are dealing with it. There seems to be everything for regular online synchronous teaching like my school is doing to no school at all. A range in between. The school district I live in is posting assignments on Monday to be completed by Friday. That's it. No interaction with teachers.

I don’t know who that is harder on – students who are doing boring work without teachers to help, teachers who struggle to find meaningful work that students can do without a teacher, or parents who are having to make sure their kids do the work.

Teachers are not trained for this sort of teaching. Not any of it. It’s not like a MOOC where someone spends months planning things, recording videos, developing special tests and exercises. This is new.
Teachers have been asked to do more with less as long as there have been schools though. Teachers are resilient and innovative. Its a necessity even in good times. And so teachers are doing amazing things and trying to maintain learning and some sort of connection to students.

I’ve got great internet. My students have great internet. I’m hearing stories of teachers having very poor internet though. Rural areas in the US, like in many other countries, don’t have the same quality and speed that more heavily developed areas do. So I’m lucky.

Training and preparation are another area where I feel lucky. We had a short introduction to teaching from home and some tools to do so at least two weeks before we actually moved to remote teaching. We were told to think about how we would be teaching remotely and we did. Then there was a full day of training before we started. Training seems to run the range for several days (yeah!) to none at all.

Even still there is a lot of figuring things out as we go. It’s amazing how helpful Facebook has been though. Teachers are sharing ideas and tools like crazy. In spite of physical separation it feels like teachers are building community rather than losing it. This may turn out to be a good side effect.

Friday, March 27, 2020

Teaching From Home–Day 10–When Remote is Really Remote

For the last several years I have had international students in some of my classes. Most from China but also South Korea, Viet Nam, and Cambodia. This year I have had two from China who have gone home already because of COVID-19. Both of them joined today’s class from hotel rooms in China where they are in quarantine. It has been interesting to talk to them about their returns to China.

They haven't seen their families yet for one thing. One student told me that a bus meet him at the airplane and took him directly to the hotel. He was the only passenger on the bus.

Because of the 12 hour time difference they are sleeping late and going to bed late. Effectively its like they are living on Eastern US time. It will be interesting to see how long that keeps up when they get out of quarantine.

Having them is class is not really any different for me than it is having my US students in class. It speaks to the wonders of technology for sure. I still miss seeing them in persona and talking to them outside of class.

We had a brief class conversation after students finished today’s quiz. It started about the quiz itself. They say it was too easy and seeing the grades they are either right or they cheated. I choose to believe it was too easy. Though I do worry a lot about cheating. See yesterday’s post about back channels.

The most interesting thing said though was that students were finding fewer distractions taking class at home.That seems counterintuitive to me as their rooms, from what I see in the cameras, appear to be full of distractions. I think the real distractions are the other students in the class though. The poking and joking and chit chat that students seem unable to stop when they are together. I suspect that when the crisis is over young people are going to be gathering in record numbers to actually be together in real life.

Well, one more class and week two of remote teaching is in the record books. Stay safe everyone.

Thursday, March 26, 2020

Teaching From Home–Day 9–Students Backchanneling

My good friend and peer teacher, Tom Indelicato and I share a morning homeroom. It’s online now of course but we join early and stay late to touch base with each other. We’re both teaching sections of our school’s freshmen computer science class and we often start a topic a day before the other because of the schedule. This morning chat is a good time to learn from each other about how things work in this new way of learning.

This morning we talked a bit about student backchanneling. Tom noticed that all of his students had muted his class meeting but many were still talking. One student explained that they were helping each other. Today’s students are communicators. Many of us older people see them on their phones and assume they don’t like to talk; that they play games or watch videos. They sure do do those things but they really do communicate.

Students are big users of all sorts of online chats from Facetime to Google Meet to text messages to who knows what. It probably helps them these days with self imposed physical isolation. During a normal class we might encourage peer tutoring and students working together but demand that they put away their phones but these are not normal times. I’m glad that they have alternate ways to communicate these days.

On the down side, one student admitted that in some classes that he doesn’t care a lot about he “can just play games.”  It’s pretty hard to police that without using some sort of tool that is probably much more invasive of privacy than I, for one, what to implement. That’s some pressure on teachers to hold student attention and to find ways to motivate students to care.

Someone once said, “if people are going to stay away there is nothing you can do to stop them.” The same is true of students who sign into a meeting but are not mentally present.  But as Father Andre Coindre, founder of the Brothers of the Sacred Heart who run the school where I teach, said “When you have done all that you can, you have done all that you must.” And so it goes.

Wednesday, March 25, 2020

Teaching From Home–Day 8–Online Teaching Stations

We sure are learning a lot about online classes these days. Teachers at my school are using Google Meet and Zoom in about equal numbers. This means that students are seeing a lot of both tools. At some point there will be a lot of good data about what does and doesn’t work. What is clear is that tools designed for companies and their conference calls is not automatically a good fit for schools.

There has been some chatter about privacy and data security for both but I am seeing more concern about Zoom so far. Privacy is a big deal for everyone of course but schools have some different concerns because the data we are talking about involved children. This needs to be addressed.

Students I have talked to see some of what I do when comparing Zoom and Meet and that is power verses complexity. If we could limit the complexity side to the teacher/meeting creator role that would be a good thing. We need things to be intuitive and easy for students so that they can participate fully.

I’m using both tools – Google Meet for two courses and Zoom for a third. I really like the simplicity of Google Meet but it lacks the controls I like from Zoom. Zoom also lets me see more faces than Meet. That’s a big deal for me.

Another lesson I am learning is that one screen is not enough. It’s not enough for me and it is not really ideal for students. It is hard for students to switch between what I am asking them to do and to what they are actually doing. For me I’d like to see their faces, what they are seeing from me, and my work screen all at the same time. I also like a window open for things like attendance taking and showing my notes. This would probably work with one large screen but it would have to be a lot larger than what most teachers currently have.

A lot of teachers are sharing pictures of their home teaching stations. Like me, many are showing two computers or a computer with a second monitor. I can’t see getting by with less.I have two laptops side by side but I am considering adding a second monitor to one of them. At least I have the option. Many teachers do not.

It’s probably to early to understand everything we need to do this right. Hopefully, once things calm down and some sort of normal settles in we can all compare notes and make some solid recommendations. Smart companies will take note.

Tuesday, March 24, 2020

Teaching From Home–Day 7

Well this is the new normal I guess. We had snow last night and several students missed homeroom this morning. I am assuming it is because of power outages in the area. No calling a snow day or even a two hour delay.

My big effort today was getting all of my freshmen connected to our virtual machines so we could start with Visual Studio. I’ve though about trying some other online programming environment but there really isn’t time to plan everything all over again on a new platform and in a new programming language

The good news from today is that all of my freshmen were able to connect to the virtual machines and run Visual Studio.  The less good news is that getting a first program to make sure it all works took the whole hour..

I think part of the problem is that students usually have to switch windows from the presentation to their own projects. Wouldn’t it be great is students had two monitors on their computers at home? Not happening of course. Still most of the students were able to create a working program. I still have to check if all of the projects were saved in the right place. I know that one was not. That one was also created in C# and not Visual Basic. That always happens. Both saving in the wrong place and starting with the wrong programming language.

Next on my agenda today is making a recording of what I wanted students to do today so that a few students who fell behind can watch it and catch up. I have a hunch someone may have walked away from his computer thinking he wouldn’t miss anything important. I wonder if I am going to wind up recording a lot of things. Recording the whole class doesn’t seem like it would work. There is too much extra stuff going on. Recording a special tutorial may be faster and easier than editing the meeting file.

So the learning goes on.

Monday, March 23, 2020

Teaching From Home–Day 6

Boring post title I know. But I am not really concerned about attracting eyes in these crazy time. Over the weekend I found out that my international students (two from China and one from South Korea) are heading home. I sure can’t blame them for wanting to be home or their parents for wanting them home. I will miss them though.

In theory the students going to their home countries will be working from there. There is a 12 hour time difference and they will probably be facing a 14 day quarantine with no guarantee that they will have internet during that time. So who knows what they will be able to do. They are all in my APCS Principles course so should have access to everything they need.

A lot of my student turn off their cameras during class. Maybe bad hair day, maybe they are wandering away, who knows what else. I can’t see any good way to require that the camera stay on. At least one student doesn't have a camera on his desktop computer. Zoom shows me that.I keep mine on all the time though. I think it is important that students see my face and know that I am there and engaged. I’ve had some private chats with my international students who have not yet left.

For my Programming Honors course, I have recorded a number of my presentations and most materials are already online.  I am regretting that I didn’t put more effort into learning GitHub though. Just one more example of how teaching from home is changing how I think about sharing resources with students and others.

BTW, Mike Zamansky had a guest post by JonAlf Dyrland-Weaver at Guest Post - Missing out on a great opportunity in education It’s about how important is it for educators to share resources and information about what they are learning at this time. Think about starting a blog of your own. Or even offering a guest post for this one. But really think about sharing what you are doing.

Friday, March 20, 2020

Teaching From Home–Day 5

As one of my co-workers put it it's been a long year this week. I might ease up on that easier say a long month this week. It sure has been a learning experience.

Today’s big learning was that setting up a virtual machine for students you have to be careful about not just setting up the apps but file permissions and extra folders. I’m still not sure what happened with one of the apps we use. It’s a home grown app that was written by one of the other CS teachers. I don’t have the source for it so right now I am thinking there is some little thing I don’t know about it that is causing me problems. These things are always harder to solve when you are doing so much asynchronously and are not in the same location.

We’re going to move on from that unit early anyway because we are having fewer class meetings and something has to give.

My freshmen will be starting programming next week. Visual Studio on this virtual machine has been working quite well for my Programming honors course so I feel ok about that. Having students share a screen with me has also been working well for trouble shooting.

For now, it is the end of a long week and I am looking forward to relaxing a bit. The differentness of teaching online is a bit more stressful than I am used to. It is like starting the school year all over in a new school. But the kids are being great so I have that going for me.

Oh and I have started playing with Microsoft Teams. It looks really powerful and has a ton of options I am only starting to explore. I wish I had tried it out sooner. I’m not ready to switch in mid stream though. At least now so far.

Thursday, March 19, 2020

Teaching From Home–Day 4

I have no idea how long or how consistently I will be writing these posts. I guess when I have something to say. In some ways I think of this as a sort of record of what I am doing for myself and maybe for people who will be going through this themselves.

My students are already wondering how long we will be continuing online. They miss their friends and the face to face contact. I don’t blame them. I doubt we’ll be back before May and even that seems iffy at best. So we continue on.

Today went as smoothly as I could have hoped for. My Programming Honors students have been great. The virtual machine they connect to has handled 21 Visual Studio uses at once brilliantly.  I was worried about that but our IT person has done an outstanding job of support us in this area. I don’t know what I would do without these virtual machines.

I used Zoom for the first time with my APCS Principles class. It worked pretty well. I was using technology to try to solve a people problem and that always has its challenges. Being able to mute students and not let them unmute themselves or mute me has, I’m sorry to say, been a necessary feature..

 Mike Zamansky has a great review of Zoom in his first day of teaching online blog post. It has a lot of good features that Google Meet does not. I feel like after a few more sessions I will have a wish list of what I want in an online classroom. Some of it Google Meet and Zoom already have. Some they don’t. Or I haven’t discovered. I’m doing a lot of just in time learning.

Basically for me Google Meet feels more light weight and easier to use than Zoom. Zoom has more features but is a little more complicated to use. I’ll probably spend some more time experimenting with both. Some schools are using Microsoft Teams and I really should try that out just to see if it has some features or ease of use that I don’t know I need.

This while experience has me thinking about teaching paradigms. I prefer desktop apps to cloud apps for the most part. Maybe because I am set in my ways. I think though that teachers have to give a lot more thought to teaching CS using cloud based development tools. Not strictly web based but hosted in the cloud.

Microsoft and Amazon have options. that look good to me. They are still mostly set up for professional developer organizations and, for education, university CS departments with good professional support. The first one to create an inexpensive (ideally free) cookbook solution that secondary school teachers or part-time IT support in schools can use is going to be a hero.

A cloud hosted solution will solve the problems of student having different kinds of computers at home, installation of software (license issues made easy), and open up learning and projects to expand beyond the computer lab. In my opinion as lot of the web based development/teaching tools are good but that we need to go to a next level of power and flexibility.

Wednesday, March 18, 2020

Teaching From Home–Day 3

I miss my students. It’s hard talking and not seeing or hearing any reactions. Are they getting my jokes? Even polite laughter and pretending I am funny would be a help. My schedule is weird as well. A lot of extra time. I’m part-time this year and have three regular classes and a study hall. Obviously the study hall is not meeting. With the blocks we are using I have advisory (home room) and then one class at noon on A days. On B days I have the advisory (at 8), a class at 9:25 and a class at noon. Lots of time in-between.  That is far more than I am used to since I usually meet with students two to four times a day plus advisory.

Of course I am not driving to school either so there is more time I get back. As you might expect a lot of that time is useful for planning. I have to figure out what I can get in with fewer meeting times. What are the priorities? For my AP CS P class I have to figure out how to handle the Explore Performance task. That has to be handed in before the end of April (unless the College Board changes deadlines). How do I demonstrate the required in-class time? Lots of other adaptions as well.

I’m also getting some long delayed home projects done as well. I guess that is a plus.Maybe this will help me work into retirement.

Things didn’t quite go as smoothly as yesterday.  Adapting things so that they work on PCs, Macs, and Chromebooks can get a little tricky. We’re working on solutions but this is just one example of why making a big change mid-semester is not as easy as flipping a switch. Well, we’re learning.

Tuesday, March 17, 2020

Teaching From Home–Day 2

My advisory (homeroom) was interesting. For one thing I realized that there isn’t the chatter between students in the room. I’m pretty sure they are texting and what not but even these “digital natives” like to talk in real life. I did get to talk to them a bit. These students are juniors and this is the third year they have advisory with me so I’ve gotten to know them. That personal relationship would be hard, if not impossible, to have if we’d been meeting online this whole time.

Students are finding it a bit hard to go to school online. Someone else will have to figure out what about it is hard. But I do think it is too much screen time. Time of a different sort than playing games or watching TV. I wonder if it is a bit easier because there has been time to build a face to face relationship with teachers though. It has been my experience that even a little “in real life” time interaction makes online interactions run better and with less friction.

We’re going to stick with four classes a day rather than go to six a day as we had originally planned. I think that is wise. It will be more consistent compared to a rotating schedule that we are used to. We’re also going to be starting classes later than we did in person. I can see advantages to that already as kids are getting more sleep just not having to travel to school.

So far I have discovered one disadvantage of Google Meet. Anyone can mute anyone else, take over presenting from anyone else, and drop anyone else from the meet. Only a problem if you have jokesters in the class. You can guess how I learned this. Zoom has a free option and I may try that. It comes highly recommended.

In a cooperative class things went very well in deed though. I found that having students share their screen when they had issues with code let me model some debugging for the whole class. I did a bit of one to one this way after the class was finished. It’s almost easier than running around the room, tripping over bookbags, and looking at a screen from a bad angle.

Presenting online has a whole different feel to it. One can’t see the faces of the students. I really miss that. I feel very disconnected. That may be the biggest downside for me. I actually like being with my students.

Monday, March 16, 2020

Teaching From Home–Day 1

Well, we’ve started. Today we only had half the classes in the rotation meet. Tomorrow we will have the second half. It’s all about getting adjusted to the new way of school. I started with my advisory period (home room to many people).

All of my students showed up. Some of them were actually awake. It was nice to chat with some of the early arrivals. They’re adjusting and seem ready to give it a go. We’re trying to keep things as normal as possible so we started the day with a prayer and the pledge of allegiance as we do in a normal day. Note: Catholic school so pray is an important part of our day.

One plus of having advisory this morning was that it gave all of the students a chance to try out Google Meeting in a way that is less stressful than a regular class. Students are fairly used to video chats as they use Facetime, Skype, and other video tools for their own communication. Some of the teachers seem a bit less comfortable. I’m now almost glad I had all those conference calls and video calls while I was working in industry.

Mixed results with the first real class. On the plus side, everyone showed up. Almost everyone was able to connect to the virtual machines at school. The person who had trouble was using Chrome and a Mac. I need to look into that. We had some issues with some files not being available where we expected them to be which is not uncommon when some files are on a local drive and some are in the cloud somewhere. The good news is that this class doesn’t meet again until Thursday so I have some time to work out the kinks.

The students were all awesome though. Not afraid to try things and not upset when things didn’t work perfectly the first time. Hopefully that positive outlook holds up.

Tomorrow’s classes will be very different. Mostly upperclassmen while today was freshmen. That may be easier in some ways. May be harder in other ways. In any case, the adventure continues.

Friday, March 13, 2020

Teaching From Home–Day 0

Well it happened. Like so many schools and school districts, Bishop Guertin has decided to close the building because of COVID-19. I say closing the building because we are going to attempt to continue teaching online. Today only teachers reported to school where we worked on learning more about he tools we will be using to replace face to face teaching in real life.

Let me answer the big question first. What about students without computers or Internet at home? Well, to be honest we don’t have many in that category. We may not have any at all in fact. We’re a private Catholic school with a tuition that means that if you can afford to come here you probably have the money for a computer and Internet at home. If families do have an issue our administration will work with them to help out.

Likewise, none of our students are going to miss out on meals as far as I know.

SO what we are trying is clearly not going to work everywhere. I hear that New York City schools have something like 100,000 students who are homeless. Can you imagine? And in America? That needs fixed but that is a topic for a different post.

I will be largely dependent on two pieces of technology. We’re using Google Meet for meeting virtually with our students. Why? well, that is what IT came up with. It’s free and easy to use. Is it Zoom which a lot of schools use? No. But we’ll see how it goes.

The second big tool is a bunch of virtual machines we self-host that students can connect to using VMware Horizons. This will allow students with Macs, PCs, Chromebooks, and Linux boxes to use a setup that looks as if they are logging into a computer in our labs. That means they can using Visual Studio, access our network drives, and any other software we have at school. This should make my life a bit easier.

I’ve been recording presentations for my Programming Honors course for a couple of weeks now. Originally I was doing so so that students who missed school could view them and so that who ever teaches the course next year would have a reference. Now I think that it will be good for students to have access to them for review. I just have to get them into the learning management system and record a couple more. I’m screen recording some of my demos as well. Not quite live coding but at least it will be a resource.

My Advanced Placement Computer Science Principles course (APCS P) uses the code dot org curriculum so we’re largely online already.  I’ll have Google Meet to introduce topics, answer questions, and basically mentor students.

My freshmen explorations course needs some work. I only teach one of those sections and other teachers teach the other five. I’m letting them take the lead on that planning for now. We’ll be doing some programming in Visual Basic in a couple of weeks so the virtual machines will get some use then if we are still closed.

I looked at several options on my own but time was not on my side. I looked at Small Basic Online for my freshmen class but decided I really did not have time to rewrite my curriculum around it. I looked at a bunch of Microsoft Azure related options and honestly they looked really promising. But they are complicated and their student package is designed for university students and a minimum age of 18. Azure Labs looks great but it was also complicated  to set up. The credit card was scary as well. I don’t have experience on how much it would cost to use over an extended period of time. There is Visual Studio and VS Code Online but they also require Azure accounts. Complicated and I didn’t have time to work it all out.

Speaking of VS Code, it has a lot of potential since it runs on PCs, Macs, and Linux boxes. If I could have found a simple tutorial on creating a new C# project using it I might suggest that in the future. Maybe I am old or something but I could not figure it out in the time I wanted to spend.

Lots of Microsoft people on Facebook and Twitter sent me links and suggestions. I do appreciate that but I could have used a nicely packages set of how tos aimed at HS CS teachers. Most of us are not pro developers. Nor do we have a lot of time when we get 24-48 hours to move to something new.

I know that Microsoft is really committed to helping educators at this time of difficulty. The special needs of CS teachers who want to use Microsoft tools and languages are not a priority though. I miss the days when Microsoft had a person dedicated to helping HS CS teachers teach using Microsoft products. Oh well. That’s life.

Wednesday, March 11, 2020

One Compile a Day

There is a lot of talk about teaching debugging going on there days. Amy Ko of the University of Washington did a podcast a short time ago on the subject. Amy Ko on teaching debugging. and that started some conversation on social media. Mike Zamansky gave a review and additional thoughts at CS Ed Podcast 3 – Debugging. I left a comment on Mike’s post about the “good old days” when CS students were lucky to get more than one compile a day.

I can hear people thinking “OK boomer” and expecting me to ask people to remove themselves from my lawn.

Seriously though, there was a time when we had to read our code very closely and we had to really try to understand the error messages we were getting.  That wasn’t such a bad thing. Today I see a lot of students throwing code in almost randomly in hopes that it will fix a problem they have not really taken the time to understand.

If you are teaching beginners to program you have almost certainly had a conversation like this:

Student: I am getting an error.
Teacher: What is the error message?
Student: I don’t know. I didn’t read it.

You can ask them to read it but they tend to do so as if for your benefit and not out of an attempt to understand it themselves. Now this is not all students of course but it is fairly frequent. They are somewhat spoiled in a way by having a teacher who can explain what an error means to them. This is unlike when I was learning and there was no one around the computer lab (One computer room one computer) to explain error messages.

How do we get students to understand error messages? How do we get them to look closely at their code. So they find the 1 that should be an I or l themselves? It’s a struggle we all face.

SO we try to model good debugging practice. We demo debuggers. We help students understand the error message and ask them to figure out how it relates to their code. And we let them struggle a bit before coming to the rescue before they get to frustrated and give up completely.

Sure there are lots of benefits to being able to compile dozens of times an hour. It lets students experiment and get creative. But sometimes I do miss those one compile a day days.

Monday, March 09, 2020

What is The Best Way to Provide #CSforAll?

Getting more computer science education to more people is something I think about a lot. Mark Guzdial, I want to be him if I ever grow up, has me thinking in new directions lately. Take his recent blog post for example - Defining CS Ed out of existence: Have we made CS too hard to learn and teach? You really should read it and the comments as well. I started to write a comment but WordPress “ate” it so I’m writing some more thoughts here.

The primary way we have been trying to get CS for everyone in the US is through stand alone computer science courses. It seems great in theory but we have a couple of thorny problems. One is fitting it into the curriculum. Another is finding enough teachers. Mark lays out some other problems or potential problems in his blog post. the tl;dr of it is that doing it this way is really hard and may not be the best way anyway.

One thing Mark has been talking about lately (I try not to miss his posts on Twitter or Facebook) is how Norway is moving in CS education. Basically, Norway is moving to teach CS in context with a bunch of other subjects rather than as a stand alone course. I really want to learn more about his but in general I like the idea.

For many years I have been talking about the value of using CS to help students learn other subjects. In y early teaching days, 20+ years ago, when I thought programming might be out of reach I was suggesting using spreadsheets in math and social studies. How better to process and analyze data than a spreadsheet? And graphs? A computer spreadsheet can let a student look at the same data with different graph types in a short period of time.

These days with have block languages like Scratch, Alice, Snap!, and more that can be used to program by young students. Telling stories to build up language skills. Analyzing data and showing it in interesting ways. Well, you get the idea.

Maybe if we did this in the early (primary grades and middle school grades) students would see computer science as something they can handle in secondary school. Maybe we could even go deeper into CS concepts if we didn’t have to teach secondary school students what a loop is all about. And much more.

We know that students make decisions in middle school that greatly impact their trajectory in later education steps. If CS is part of their environment, and is a learning tool they are comfortable we’ll get more students in deep pure CS courses. Even better, they’ll have CS as a powerful tool in secondary school as well.

This can’t happen over night of course. There is a lot of work. Teachers have to be taught. Curriculum has to be written. And that curriculum has to be interesting, relevant, and shown to promote learning of more than just CS tools., Maybe teaching CS as incremental steps and in context will help teachers and students alike to be less intimidated by it.

Saturday, March 07, 2020

Moving CS Education Online

Covid-19 is motivating schools all over the world to close. Many other schools are looking at options in case they have to close their facilities. My own school has been looking at options to try to continue teaching in the event the government askes us to close. This is far from a trivial decision. Sure there is a lot of online education going on. There are MOOCs and virtual schools and other on line options already. Moving an existing  program online in the middle of a semester is not the same as starting off online.

Doug Peterson took a good look at a lot of the issues on a blog post at It's not that simple. And there are plenty of things to consider. For one thing do all your students have broadband internet and a computer that can support the needs? And can the school’s networking infrastructure support all of the people accessing the system.

Beyond the problems common to all teaching there are problems particular to specific subjects. I don’t know how teachers will run art classes or physical education classes for example. Personally,, I’ve been thinking about how to teach computer science.

Lectures appear to be easy. Even demos are not bad. My school is looking at using Google Meet and that seems like it should work. Others have been suggesting Zoom which has both free and paid options. Paid looks like it would be required for most schools.  Microsoft is making Teams available to schools who need to close for free. I’ve recorded many of my presentations (PowerPoint is great for that) so I can use them as well. But lecture is a small part of my teaching.

My AP CS Principals course used code.org curriculum which is all online already. So that is fairly easy though a lot of the pair work will be harder without students being in the same room. I suspect that they can do some coordination via texts messages and other apps that teens are already using for peer to peer communication. Lynn Langit has written a fairly detailed blog post (Remote Pair Programming) on how she works with interns she is mentoring online. Looks interesting.

One option that I have played with a bit is  Live Share which is available with VSCode and Visual Studio. This would allow pair programming of a sort. It would allow me to look at student code and make suggestions. It’s not going to be as seamless as moving from student to student in the classroom though.

While the software is free making sure students have appropriate computers. VS Code runs on Mac and Linux as well as Windows so that’s good. I’ve been using Visual Studio though so getting students up to speed on VS Code will take some work. I can see some support issues coming up if the switch is made without serious preparation.

Everything is possible but a switch mid semester looks to be rough.  I hope it doesn’t come to that.