Sharpies won't hold up on glass because it cannot be absorbed. You can get special paints for glass. You can also use nail polish (only on the outside and not up near where your mouth goes) and then cover with a coat of lacquer that is designed for glassware.
The idea for putting the design on the inside and tracing, or using very light gray and covering it is excellent. I have zero idea why a teacher wouldn't want that, esp if it is not an art project. I can see it for art class maybe, but for dioramas? I won't tell if you won't.
I used to paint designs on jackets and things for the kids. I would find a design I liked and print it out the desired size. I would put the design down and trace the outline with a sharpie. Then I cut out the shapes that the outline was one edge off, I cut the design so that the other sides of that shape were intact. I then traced the lines now exposed, and cut that shape out agan.
An example of what I mean is if I were doing the eye of a character - I would trace around the outside of the printed eye on paper. The I would cut away the outer edge down to the outline of the iris. Draw around that, and cut out to the inside of the iris/outside of the pupil. Draw that, and toss the print because I didn't need it. Does that explain it?
Anyway, once I had the outline drawn in sharpie, I would go and paint the area with acrylic paints mixed with textile medium. For a design to last on fabric, the textile medium is crucial. I get the little 2 oz bottles of acrylic paint - they sell for about a dollar, maybe a little more. The textile medium is sold in the same aisle, often in the same display. I never found a qualty difference between the cheaper brand of textile medium and the more expensive brand. I do find that the cheaper paints may need a second coat but except for black I still use them. I do buy the more expensive paint in black because the outline is quite important and a second coat can make it less sharp and defined.
One sort of off the wall gift I gave to myself was a bunch of unglazed terra cotta tiles. I got them to fit inside a cookie sheet. Some were four inch, some were up to twelve inch tiles. I put them on the cookie sheet and baked on them, careful so the dough didn't go over the edge of the tile. I couldn't afford the stoneware pizza and baking trays and I couldn't lift them safely either. With the tiles, I could adjust to smaller pans or only putting a few tiles on the pan. It gives the same results of a stoneware pan and far less weight for those with hand/neck/wrist problems. Just be sure the tiles are unglazed and you look online for how to care for your stoneware bakeware.
One fun project for those not inclined to sew a garment or knit/crochet is to personalize a sweatshirt. I have used paint to draw a tree by doing a loose outline and some horizontal wavy lines - the slick paints in the tube work well nd don't need textile medium as they are designd for fabric, or you can use the acrylic with textil medium. You want a basic outline NOT one that is filled in. Then you can sew or glue buttons, beads, etc... onto them. Of course you also need a star on top. I did one for my childhood bff and got buttons from clothes she wore as a kid. I knew her gma had saved them, and she was happy to send them to me. I used some of them on bags for her mom and gma also. I added things that represented things she liked to do, but you don't have to do that. I mixed the special buttons with various colors and types of beads. While I sewed them, they now have some excellent glues for this kind of thing. Just make sure to sew in a label with washing directions if you use glue. Back in the late 80's I sold several of these for forty to sixty dollars, depending on the size and how detailed/fancy they wanted it. People saw my shirt and the ones my family/friends made and they asked where I got them and would I make them. So I did.
You can do other, faster shirt projects. My dad loved funny shirts with sayings he could wear at school (he was a teacher, so PG at the most, pref G rated though). One saying that was a favorite was "Christmas is a weird season. At what other time do we sit around dead trees eating candy out of our socks?" I also did some with the kids' footprints. Each kid got a different color paint from a selection that would work on the shirt color (I used a dark grey sweatshirt and metallic gold, silver and copper paints). I put an old tablecloth on the table and had each kid (one at a time) let me put paint on their clean feet. They they walked across the shirt, putting their feet close together. Then they sat down and I removed the paint with baby wipes and then a warm wet washcloth. We did this on the table rather than the floor because that way they couldn't run off and get paint all over the floor. I painted "My Grandkids Walk All Over Me!" on the shirt and had the smallest footprints at the top, largest at the bottom. I also used a very fine brush to paint each child's name and age on one of their footprints, one that was off to the side.
This can be done on a tote bag or on paper to make gift wrap.