Gracias por responder, pero resulta que estas variables son necesarias para el ingreso de cada uno de los datos. ¿No es así?
    
Código Javascript
:
Ver originalprivate double             notaquiz                    = 0.0;
   private double             notatrabajo                 = 0.0;
   private double             notaparcial                 = 0.0;
   private double             definitivaparciales         = 0.0;
   private double             definitivatrabajos          = 0.0;
   private double             definitivaquices            = 0.0;
  
Si efectivamente ese List ya está en la case Materia:    
Código Javascript
:
Ver originalpublic  List<NotasEstudiante>    notasdelamateriaporestudiante = null;
  
Entonces, ¿Cómo hago para asignarle el código del estudiante al objeto NotasEstudiante? 
Pues si miras con atención en el código de la clase Matricula:  
Código Javascript
:
Ver originalpublic void notas_docente() throws IOException{
        
     System.out.println("Ingrese el nombre del docente");
     String buscador1 = lector.readLine();
 
 
     for ( Docente docente : docentes ) 
     {
        
        
             if ( docente.getNombredocente().equals(buscador1) )
         {
             System.out.println("Ingrese el nombre de la materia");
             String buscador2 = lector.readLine();
             
                     for ( int i=0; i<materias.size(); i++ )// Añadir materia a la lista de materias del estudiante - PRUEBA 1
                     {
                             if ( materias.get(i).getNombredocente().equalsIgnoreCase(buscador1) && materias.get(i).getNombremateria().equalsIgnoreCase(buscador2))
                             {       
                                     
                                     System.out.println("El tamaño de la lista estudiantes de la materia es:" +materias.get(i).estudiantesdelamateria.size());
                                     System.out.println("Los estudiantes son:");
                                     for ( int j=0; j<materias.get(i).estudiantesdelamateria.size(); j++)
                                     {
                                             
                                             System.out.println(materias.get(i).estudiantesdelamateria.get(j).getNombre());
                                     }
                                     
                                     System.out.println("Seleccione el estudiante al que quiere ingresar notas");
                                     String buscador3 = lector.readLine();
                                     
                                     for ( int j=0; j<materias.get(i).estudiantesdelamateria.size(); j++)
                                     {       
                                        if ( materias.get(i).estudiantesdelamateria.get(j).getNombre().equalsIgnoreCase(buscador3))
                                            
                                        {
                                             System.out.println("Estoy dentro 1");
                                           for ( int k=0; k<materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.size(); k++ )
                                           {
                                               if ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).getNombremateria().equalsIgnoreCase(buscador2) )
                                            {
 
                                                   // ¿CUAL DE ESTOS DOS DEBO USAR? //
                                                   
                                                /////// ----------- 1 ---------------- //////
                                                   
                                                System.out.println("Estoy dentro 2");
                                                materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notas_materia();
                                                
                                                /////// ----------- 2 ---------------- //////
                                                
                                                for ( int l=0; l<materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.size(); l++)
                                                {
                                                    if ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.get(l).getCodigoestudiante().equals(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante())  )
                                                    {
                                                        materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.get(l).setCodigoestudiante(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante());
                                                    }
                                                }
                                                
                                                
                                                
                                            }  
                                           }   
                                        }    
                                     }
                             }
                     }  
     }  
 }   
}
  
Allí hago una pregunta de cómo asignar el código del estudiante en cuestión al objeto NotasEstudiante. 
Especifico:    
Código Javascript
:
Ver originalif ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).getNombremateria().equalsIgnoreCase(buscador2) )
                                            {
 
                                                   // ¿CUAL DE ESTOS DOS DEBO USAR? //
                                                   
                                                /////// ----------- 1 ---------------- //////
                                                   
                                                System.out.println("Estoy dentro 2");
                                                materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notas_materia();
                                                
                                                /////// ----------- 2 ---------------- //////
                                                
                                                for ( int l=0; l<materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.size(); l++)
                                                {
                                                    if ( materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.get(l).getCodigoestudiante().equals(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante())  )
                                                    {
                                                        materias.get(i).estudiantesdelamateria.get(j).materiasdelestudiante.get(k).notasdelamateriaporestudiante.get(l).setCodigoestudiante(materias.get(i).estudiantesdelamateria.get(j).getCodigoestudiante());
                                                    }
                                                }