Pre-Installation Question: Signup with different access levels


I'm trying to organize a site so that there are different features for the person signing up. For example, students should have access to reading and commenting on a blog, posting to buddypress activity stream, posting to Q&A plugin - but a teacher should have access to creating one blog, uploading their PDFs, posting to buddypress, posting to forum, posting to Q&A.

Will membership allow this to happen? In other words, I'm not trying to get someone to pay for these features but just separating out student and teacher features.

Do I need to install the anti-slog plugin too?