N.P.
For a kid who doesn't like surprises, you should try and make surprises fun. Tell him you're going to go grocery shopping but drive to the ice cream parlor instead. Surprise! We're having an icecream instead!
See how he handles it. Switch things up until he gets used to it, and even anticipates surprises, because you've shown him that they can be fun. That way he may be able to better handing the rapidly changing environment of a classroom.
/EDIT - Had another idea. Instead of making checklists of things to do, try writing down a bunch of assignments that need to get done on little slips of paper. Fold them up and put them in a clear ziplock bag. Don't let him see what you've written down. Have him pull out a paper at random and that's what you do first. This way, he knows there's a bunch of things that need to get done, because he can see there are many folded papers in ziplock bag, however, he won't know what they are until he's done with one task and must pull out another. That would be another way to get him used to completing a series of tasks without having him know what they are beforehand.
When you write a shopping list, try to make it more vague as well. Instead of writing down Broccoli and Corn... put down "Vegetables" that way you teach him leeway when it comes to the grocery store. Instead of rigidly sticking with broccoli and corn, perhaps you see that string beans are on sale that day and you want to pick those up instead. By writing "Vegetables" on the list, you remind yourself you need a veggie, but you can figure out what one when you get to the store! =)