Bullet fragments lodged in the teen's neck after a shot hit the ceiling during a public safety class at Seaside High School in Monterey County Tuesday.
The teacher involved also works as a reserve police officer in a nearby city.
School officials placed him on leave and the student is expected to fully recover.