computed columns vs views
Creating view will not give you any performance gain but may help you with abstraction of underlying object and management of security from users.
Using Index view can definitely help you by doing the calculations before hand but you need to be careful as explained in detail here.

SQL Server must always ensure that the data in the index and base tables is synchronized, so we need to be careful when adding indexes to views. Every time an underlying column has a new row added or deleted, or is updated, SQL Server must maintain every clustered and non-clustered index, whether on the base table or the referenced indexed view. This will lead to additional writes, which can decrease performance.
I would not create computed column in the same table as you will have redundant data (average for a student in every row for that student) in your table. Using extra storage, less number of pages in memory etc.
You should also consider indexing strategy based on how you query this table. Meaning is it grouping by one student, student + date, one student + range of date?