"it's not easy to just sit and absorb information...", a facilitator I respect said this during a session I attended. In learning software engineering there will be a lot of times when your train of thoughts will go off the tracks in order to fully comprehend what you're learning. One thing that learning materials possess is the ability to pause or rewind, this feature is really key because losing your train of thoughts in a physical session can get you lost.
This is why it's critical to ensure that personal study involving digital learning resources is a must without which one will stumble around a lot. There's no software engineer that can claim to have learnt everything in class, everyone is at least partially self taught.
It's OK to have to rest in between studying, you shouldn't quantify how much studying you're getting done based on time, if you feel your brain getting weary you should take a step back. Pushing yourself too far can trick your mind into perceiving software engineering as a chore, most people don't enjoy chores.