A 17-year-old boy was charged on Friday with firing shots earlier this month outside Steele Elementary School in Harrisburg.