The two victims, both 15, are being treated in hospital. One remains in a critical condition.
The attack happened at Kingsdale Foundation School at about 15:30 GMT on Thursday.
The teenager accused of attacking the pair has also been charged with grievous bodily harm and possession of an offensive weapon.
He will appear at Camberwell Magistrates' Court on Saturday.

It was jockey Ryan Moore's second win in the race, having ridden O'Brien's previous winner Gleneagles, in 2015.
Barney Roy (7-2) was second ahead of third-favourite Al Wukair (11-2) in the first Classic of the 2017 Flat season.
Frankel's offspring Dream Castle and Colts Eminent were fifth and sixth respectively over the mile distance.
The 1,000 Guineas, for fillies, takes place at Newmarket on Sunday at 15:35 BST.
Churchill, last season's champion two-year-old, was sitting third at the halfway stage and managed to get the first run on his main rivals as he won by a length from Barney Roy.
Moore said Churchill, who was making his three-year-old debut at Newmarket, had "everything you want in a racehorse".
"He has a magnificent mind, he travels, has speed and loads of class," Moore told ITV Racing. "He was always racing comfortably - he was there a little bit early.
"He always feels like there's more when you ask him."
O'Brien added: "I was very worried about it being his first run. He's a big horse and we knew he would come on for the run. Ryan gave him a lovely ride.
"Everyone at home was very happy with the horse which is why we took the chance to come first time, so I'm delighted."
BBC racing correspondent Cornelius Lysaght
Am I the only one to feel a slight sense of anti-climax?
Obviously, Aidan O'Brien's latest record-breaking feat is a testament to the prolific skills and brilliance of himself, the rest of the Coolmore team, and, of course, of champion stallion Galileo, Churchill's father.
But as a race, I'm not sure. It was hardly the potentially epic showdown billed; the time wasn't great, and the first seven finished within about three lengths.
Churchill was good rather than sparkling, though it was his first run of the season. A word for Barney Roy who stumbled at a crucial moment late on.

The world champion, who won all three titles from the Russian by a controversial points decision in their first bout, is unbeaten in 32 fights.
The American wobbled Kovalev with a right hand in the eighth and finished him off with a series of body shots.
Kovalev said he was hit by a low blow, adding that he wanted another rematch.
"He's a great fighter, not a lot of people are going to beat him," said 33-year-old Ward, who has 16 knockouts from his 32 bouts.
"But when you are facing a great fighter you have to raise your game to the next level.
"I hurt him with a head shot and I just had to get the right shot in to finish him."
Kovalev started strongly before Ward came back into the fight at the Mandalay Bay Hotel.
Referee Tony Weeks then stopped the fight with 31 seconds in the eighth with Kovalev, 34, kneeling down.
"It was a low blow, again another one," said Kovalev.
"We are boxers. I could still continue. Why stop the fight?"
A 15-year-old boy has been charged with attempted murder after two pupils were stabbed at a school in Dulwich.
[NEXT_CONCEPT]
Churchill, the 6-4 favourite, won the 2,000 Guineas at Newmarket to give trainer Aidan O'Brien a record-breaking eighth win in the Classic.
[NEXT_CONCEPT]
Andre Ward stopped Sergey Kovalev in the eighth round to win their light-heavyweight rematch in Las Vegas and retain his WBO, WBA and IBF belts.