My final project for my first year of law school was to get this case, all the related case work, and then present my case in front of a panel of pennsylvania district court judges as if it were the Supreme Court. I basically had to argue this case in front of a mock supreme court.
This took place off school property, the kid was 18 years old, he hadn't come to the school that day at all, he was standing across the street, all the students in attendance were permitted to leave, it was sponsored by Coca-cola (one main argument was that people would misinterpret this as school approved), and there were full out fist fights and distractions going on the whole time, completely unrelated to this persons sign. When the teacher walked off school property to tear up the dude's sign, he started quoting Benjamin Franklin and his right to free speech. The teacher made him come back onto school property where she basically told him he didn't have any rights.
My main argument was that the school shouldn't be the thought police. People should have the right to make their opinion heard, and by making their opinion heard, they open the doors for debate. If someone wants to talk about marijuana, they can do so openly in a way that allows teachers and other students to refute what they say, thereby allowing someone to grow as a person. The worst thing you can do is censor something, make it taboo, and then don't allow society at large to debate on the issue. Once someone is trapped in a black box with nobody else's thoughts but his own, that's when the real danger occurs.