What is the best time-effective study technique? What is the most effective way to study? For instance, assume a student has the following 4 classes in parallel:

1- C++ &amp; Data-structure
2- Logic Design
3- Linear Algebra
4- Integration 

Should the student study 1 course per day, or study all 4 courses every day to study efficiently? In other words, should a student learn big chunks of information on one course/topic, or study multiple courses/topics in parallel to learn the most in the least amount of time?
According to the distributed learning strategy which is based on a phenomenon called spacing effect, it is better to study classes in parallel.


  Distributed practice (also known as spaced repetition or spaced
  practice) is a learning strategy, where practice is broken up into a
  number of short sessions – over a longer period of time. Humans and
  animals learn items in a list more effectively when they are studied
  in several sessions spread out over a long period of time, rather than
  studied repeatedly in a short period of time, a phenomenon called the
  spacing effect.
  
  The opposite, massed practice, consists of fewer, longer training sessions. It is generally a less effective method of learning.


Reference :

Greene, Robert L.. Spacing effects in memory: Evidence for a two process account. Journal of Experimental Psychology: Learning, Memory, and Cognition15. 3 (May 1989): 371-377

Challis, Bradford H.. (Mar 1993). Spacing effects on cued-memory tests depend on level of processing. Journal of Experimental Psychology: Learning, Memory, and Cognition 19. 2, 389-396.