First of all, it sounds like you want a GPS receiver mostly for personal use, and you are not going to try to teach anything on it. I say that because the screens on most GPS receivers are so small that you can't point to something and expect anybody to see it who is looking over your shoulder. Maybe one other person at a time can see a screen, but that can be tough. There are GPS receivers with large screens, but you can't afford them, or else they are too awkward for portability.
There are several brands on the consumer market. The market leader is Garmin. Their prices are not the cheapest in the world, but their features tend to be very good. Every different model has something different in terms of a map database. Some will have roads and streets only, and that is probably not what you want. Some have no map database at all. Some will have a topo map database, but there are varying degrees of resolution and accuracy. Some topo map databases are a complete joke (very poor). Some, you have to pay extra for. Some come loaded into the unit from the factory.
Then, it sounds like you want to mark some custom waypoints and then output that to an external printer. Think about that a little differently. Put your computer between the GPS receiver and the printer. Keep the "master map database" in the computer, and exchange waypoints between the GPS receiver and the computer. Then a good color printer can print out whatever you have going on the computer.
Like anything else, it just takes some practice to get used to it.
I taught GPS classes for about 14 years, and I have seen a huge change in the subject over that time. I use mostly the National Geographic software that associates with a topo map database of my state.