I would go with providing both options since both of them offer their merits and demerits
Email
Advantages
Its unique and if a person has ownership of an email address and he hasn't registered on your site before, he should be able to sign up without having to think of a unique username
Your password retrieval process becomes simpler because you just have to do your validation on the email address entered and send the password or reset it.In case of having a user name,you need to provide the additional functionality of reminding the user of their password.
Email addresses are used more consistently by people on a daily basis and its something they are more likely to remember as opposed to a user name which they had to make up (when an desired user name wasnt found)
Disadvantages
People have more than one email - So sometimes its hard for them to remember which email address they had used to sign up
People might not be using an email address anymore or might not have access to it -In this case you will need to ensure that they do have a feature to reset the password otherwise
User names
Advantages
They are relatively shorter and possibly easier for people to remember.Further more since a lot of people access the internet on mobile devices which dont have the most optimal design for text entry, a shorter user name makes it easier to enter faster
Allows users to express themselves : You said that your age group was 17 to 27,an age group where people might be trying to express themselves more emphatically and username form part of their identity. Now I'll admit I have no idea about whether users would sign up with names like "surferdude" or "pinkygirl" on an educational site or portal but if they denote that as part of their identity,it would be easier for them to relate to it.
Disadvantages
Usernames might be taken - Most people prefer to use similar user names for a number of sites ( I do) and might find it incredibly annoying when a preferred user name is taken up and they have to think of a new one. Further more since their desired user name is something they would remember easily,now they have the additional burden of remembering another user name or worse a variation of the existing username which they created. You could very imagine this thought process :
Was my user id John3512 or was it JohnJ3512 ?Or was it something else
People might be embarrassed about their user names later :I know this is not applicable in your case since you dont show user names but someone at an older age might not be a big fan of a user name chosen at 17 and if you dont have an option to change that user name, the only option for him/her to get away from it is to open a new account
In closing , Lot of sites provide the feature of specifying the email as an username,so its not something that's totally new.