si tu estas haciendo una consulta segun la variable de sesion si no la llenas como kieres que la consulta te de un resultado?? es decir esta insertando un dato que esta vacio obvio que se va a llenar vacio en la pagina anterior a donde haces el insert creo que tienes una consulta ahi con una session ya iniciada "session_start()" al inicio de tu pagina coloca $_SESSION['cod_profesor']=$row['cod_profesor']; esto donde traes los datos de tu consulta asi la variable de sesion se esta llenando con el codigo del profesor y no vas a incluir un dato vacio prueba y me avisas, si se te hace complicado trabajar con session, guarda tu resultado en una variable y pasalo por un campo oculto algo asi
Código PHP:
$cod_profesor=$row['cod_profesor'];//esto donde obtienes el resultado de tu consulta
<input type="hidden" value="<?php echo $cod_profesor;?>"/>//esto en tu formulario asi pasarias el valor por un campo oculto suerte