Showing posts with label HTML. Show all posts
Showing posts with label HTML. Show all posts

Thursday, September 04, 2025

An Interesting School Year in Computer Science Education

Mike Zamansky is Looking at the start of school for 2025 on his blog C’est la Z He’s thinking about phone bans and AI in schools. I have been thinking about both of those as well. I spent some time recently with the teacher who is now teaching in my old computer lab. He’s also a former student of mine. We had a great conversation.

We talked a little about the cell phone ban in schools that was passed into law in New Hampshire among other places over the summer. It is not clear how it will be enforced and what sorts of consequences will be in place for violations.  For a while, I taught with AppInventor which meant that phones were an active and essential part of the class. I wonder what these bans will mean for all the many teachers and students using AppInventor and similar tools.

Phones were a distraction but teaching in a computer lab with computers in front of every students means the Internet is still going to be a distraction. Classroom management is hard enough without computers and cell phones.

Artificial Intelligence is going to be even more interesting this year. How much to allow? How to check for its use? What to teach about it? All interesting questions that teachers and schools will struggle with this year.

My son, a school administrator, find AI tools very useful. So do many others both in and out of education. Clearly, students need to be taught about AI. That debate is, I hope, over, What and how to teach it are still largely to be determined.

Students are going to use AI to write code for them. It would be foolish to deny that. They still need to understand the code that AI is writing for them. Talking to my teacher friend I used the example of HTML. I write these blog posts using Open Live Writer which builds the HTML that gets posted. It does a great job but I still find myself jumping into the HTML to do some fine toning. In this post, for example. I went into HTML to edit the text for the link to Mike’s blog. A small example but knowing what to do saved me a small amount of time.

To be honest though, students using AI to write their code is not my most serious concern. Ethical concerns around AI use is my biggest concern. There are all sorts of issues around copyright for example. The use of books and art to train AIs to create without giving credit to original creators is an important discussion topic. Taking credit for AI output is another. I want students to think about these sorts of things. There is a lot more and more issues will be showing up.The old question is not so much what can we do but what should be do.

So, yes, we want to teach students how to prompt AI. We want them to be able to evaluate to AI product as well. There is a real risk of AI having a negative effect on people actually thinking. Teachers need to find ways to encourage students to think about what AI is, how it can be used, and most importantly how it should be used.

This year is going to be an important one in the future of AI in education.

Monday, March 05, 2018

Let The Computer Grade the Projects

It seems like a great idea – have the computer automatically grade student projects. Save all that boring work. Looking at all those projects is a pain. Why not have the computer grade them? It’s what happens in a lot of courses. Harvard’s CS50x online version does it so it must be great. In fact  a lot of huge courses in major universities use automatic grading software. What could be wrong about all of that? I confess that its a very tempting idea at times.

I’ve played a little with software looking at projects with some simple HTML projects. For rote stuff like making sure all tags are present and that open tags have matching closing tags is pretty straight forward. I still want to open the pages in a web browser to see what they look like.

Programming projects? I’m not so sure about automated testing for students. Mike Zamansky blogged recently about a session at SIGCSE (Sigcse2018 - Malloc Lab) where a professor had to deal with students gaming the grading system. This is one of my biggest concerns with automatic grading software. It is easily “game able.”

Getting to the destination is only part of the story. It’s pretty important to understand how students get the results they get. We, as educators, only learn so much by seeing the results of a program. We really need to understand how the programs process inputs and generate outputs. When we read student code we learn a lot about our students. We learn what they know and don’t know.  We learn how they implement algorithms. We also see what they understand and don’t understand. In fact we also get to know our students better. We learn their coding the way English teachers learn student's writing

Students benefit as well. We can give them a lot more feedback than automatic grading routines can give. We can also modify how and what we teach based on what we learn from reading their code. So for now I think I will put up with the extra work. The extra benefits are worth it.

Tuesday, March 31, 2015

Every Character Matters

My Explorations in Computer Science class is creating web pages this week. This is a fairly short unit and we don’t get very deep at all. Our hope is to give students an idea of what is behind the web pages students use every day and introduce the concept of a markup language. This is brand new to most students but they seem to be enjoying themselves. Except when something goes wrong. In HTML it doesn’t take much to make things go horribly wrong either. In fact every little character is a potential problem. image

One of my favorite questions in this unit is “How do you spell src?” Why? Because in the <img tag the qualifier src is how one specifies where the image file is located. It’s pretty easy to enter “scr” by mistake. And when you do it can be hard to spot it. This is especially the case because there is just too much that can be off by a character in the file specification that one tends to look there first. For example if “Unit 4” has a space between the “t” and the “4” and a student leaves it out the file will not be found. This is the sort of nit picking that students are not used to making. To them “Unit 4” and “Unit4” mean the same thing and they don’t automatically understand that the computer doesn’t see it that way.

All of this causes some level of frustration for students. I’m tempted to suggest this teaches “grit” which seems to be a common topic of discussion in some education circles these days. And maybe it does but I worry that it teaches frustration and that “computers are hard” which is the opposite of what I want. So I work hard at showing students how to avoid these problems and how to solve them once they are found. Making it clear that these are common errors and not to be embarrassed by them is also important. Overall though they do need to learn to be explicit and careful when writing any sort of code. The computer, I remind them, is pretty stupid and has trouble understanding things that people handle easily. Every character really does matter to the computer.

I think that learning this attention to detail is helpful to students in the long run. They’ll be dealing with computers their whole lives and it is good to set expectations early.