Reports Summarizing Course Progress Data Capture

As a student progresses through a course he will be clicking on various pages and causing the capture of data into the Course Progress Table.

This data must be available in its raw form for both the student and the Administrator.  Obviously this data would be "read-only" for both.  My guess is that this table will have about XX fields:

 

It is not clear to me whether there should be separate small MySQL tables, one for each student/course combination, or one table that includes all students and all courses.  This later would become a very large table, with constant addition of new records -- many thousands of them -- so I count on you for proper design of the MySQL tables.

Summary reports of this data, including graphs, will be of more value to both student and administrator.  Here is a description of the reports and graphs which could either be compiled on an ongoing basis (with data-to-date) or calculated when called.