The boy, who has not been named, is said to have walked into the hall of WR Meyers High School on Wednesday and aimed a .22 calibre rifle at a student doing homework.
Greg Tomcala, 14, who witnessed the attack, said: "He was shot point- blank in the chest."
Police identified the dead student as Jason Lang, 17.
The other victim, Shane Christmas, also 17, had emergency surgery, but details of his condition were not known.
The shooting happened in the town of Taber, a farming community with a population of 8,000 about 200 miles south-east of Calgary and 50 miles north of the border with Montana.
The boy responsible for the attack was taken into custody after being wrestled to the ground by a gym instructor.
A local newspaper quoted students who identified the attacker as a ninth-grade student who had dropped out and was being taught at home. "He said he's been really distressed," said one student. "He didn't have very many friends."
The Rev Dale Lang, father of the murdered student, said he believed last week's school massacre at Littleton, near Denver, Colorado, had sparked the attack.
"I feel very sorry for this disturbed individual," he told the National Post. "I have no doubt he was impacted by the violence he saw in Colorado." (AP)