Oracle - physical writes to an index
I would guess that there is a weekly maintenance job that is running on that one day a week, that is affecting something that is forcing extra reads of the index.  Is your daily batch job always run long on the same day of the week each week?  If so,  look at the views dba_scheduler_jobs and dba_scheduler_schedules to see if any jobs are scheduled.

Now the bigger question is, is why not fix the UPDATE statement to include criteria to avoid updating rows where the value is already the correct value?  IE:

update student set score = 100 where score != 100 -- and whatever other criteria


Also as a temporary fix to your "temporary" index, create it using the nologging clause in the index attributes part might help a little.