Terrified students hid in auditoriums and video shows several people jumping from windows in order to escape the attack at Perm State University.
The Interfax news agency claimed that there had been fatalities, but this has not been confirmed.
The shooter – identified in Russian media as 18-year-old Timur Bekmansurov – was ‘neutralised’, the agency reports.
Another clip shows a man armed with a large weapon walking toward the university building in the city of Perm, around 700 miles east of Moscow.
A figure at Russia’s interior ministry told RBC that three people were killed, while a university spokesperson told Reuters that four were injured.
A law enforcement source told Tass news agency: “On Monday, an unidentified person entered the university building and opened fire.
“Some students locked themselves in universities auditoriums to hide from the attacker. Some students jumped out of the windows. Law enforcement agents are heading to the site.”
A clip shows people leaping from a first-floor window as the attack unfolded.
Bekmansurov had reportedly posted on social media about getting a gun licence, and appeared to be in a distressed state of mind before the attack.