Yo aun tambien estoy en pañales pero justo hace unos dias estuve con algo parecido.
Voy a explicarte el metodo que usaria yo:
-Primero que nada tienes que conseguir un codigo en java que cuando hagas click en el checkbox todos los demas se desmarquen y asignarle ese codigo a todos los checkbox.
El problema me imagino que se te presenta cuando haces click en alguno, en vez de destildar los otros checkbox de la misma asignatura te destilda todos.Por eso lo que tienes que lograr es diferenciar los checkbox para que puedas decirle al codigo en java cuales afectar y cuales no al activar cierto checkbox.Para eso te recomiento lo siguiente.
Si la asignatura es matematica el nombre del checkbox en vez de ser "id_profe_02" tendria que empezar con "matematicas-" lo cual podrias lograrlo asi:
Código:
<input name="<%=asignaturadelabase & "-" & "id_profe_02"%>" type="checkbox" id="id_profe_04" value="checkbox">
Eso le va a agregar la asignatura y un "-" a cada checkbox automaticamente.
Entonces ahora en el codigo java script tendria que hacer lo siguiente:
Primero agarra el string que haya hasta llegar al "-" en el nombre del checkbox, luego tiene que cambiar el estado de todos los checkbox cuyo nombre empiece con el mismo string.
Espero haberte ayudado, lo dificil es encontrar la idea, la cual ya esta, lo que tendrias que hacer es encontrar alguien que te escriba este codigo en java ya que yo no tengo claro la sintaxis.