Recuerda que cuando usaas funciones agregadas todos los campos que incluyas en la query deben ir en del group by... algo así quedaría:
Cita: adap1=new System.Data.SqlClient.SqlDataAdapter("select
count(*) 'NUM',avg(media) 'VALORACION'," & _
"profesor 'PROFESOR', "& _
"'observaciones' "& _
"from profesores_cursos pc "& _
" group by profesor,'observaciones'" ,cn)
Salu2