Me parece un proyecto interesante, pero a la vez puede llegar a ser muy complejo.
Una opción muy buena es Visual Basic + Access u Excel.
Recuerda definir perfectamente antes de iniciar que es lo que quieres que el sistema haga, aun cuando no lo implementes por completo en un inicio.
Un punto muy importante a definir, es si quieres que tu sistema corra en varias PCs, ya que mencionas que lo quieres para prestamos de biblioteca, control de asistencia, calificaciones.
Aquí tienes 2 opciones:
Correr una copia del programa en cada PC, en una PC por ejemplo Asistencia y Calificaciones, en otra PC tendrías Biblioteca.
Definitivamente, para mi esta no es opción, por que tienes diferentes datos aislados, sin posibilidad de sincronización.
Necesitas un sistema cliente/servidor. Es decir hay programa servidor, que se dedica a escuchar peticiones del cliente, aquí tenemos una base de datos única, la cual es manejada por el servidor.
Un ejemplo seria:
El programa cliente realiza la petición "Dame las calificaciones del alumno Juan Pérez de 2do A". El servidor recibe la peticion, consulta la base de datos, y manda la respuesta al cliente. El Cliente se encarga de imprimir una boleta, o de solo presentar en pantalla.
Otro Ejemplo:
El Director de la escuela llega y desea registrar su asistencia, por lo tanto presenta su identificación ante el lector de código de barras, el cual esta conectado al programa cliente, el programa cliente recibe el código correspondiente al director, y manda una petición al servidor para almacenar el registro de asistencia, el servidor toma el registro que le envío el cliente y lo almacena en la base de datos.
Este modelo de programación "Cliente/Servidor" tiene algunas ventajas, como por ejemplo que aun cuando se tienen que hacer 2 programas, algunos aspectos resultan mas fáciles, sin embargo requiere saber programar Sockets y conocimientos de Redes.
Si solo tienes una computadora, no te preocupes, en la misma puedes ejecutar el Servidor y el Cliente, si luego adquieres mas computadoras, ya solo replicas y configuras el programa cliente en cada equipo, listo, ya lo tienes funcionando.
También debes considerar aspectos como pantallas de captura para dar de alta a los alumnos, dar de baja, reportes, la impresión de cualquier reporte generado (asistencia, calificaciones, promedios).
Debes considerar crear usuarios y contraseñas para cada persona que interactue con el sistema, a cada usuario le asignas privilegios para consultar, dar de alta, dar de baja, capturar, etc.
Así mismo yo llevaría un registro de las operaciones de cada usuario.
Otra forma de tener un sistema cliente/servidor, con cierta facilidad de programación es a través del explorador de Internet, e incluso tiene ventajas como que no necesitas instalar tanto software en el cliente.
En el caso del servidor si (servidor Web, PHP, MySQL, por ejemplo, aunque hay alternativas para hacer esas instalaciones muy sencillas).
La programación puede ser más sencilla, y si gustas lo puedes hospedar en Internet (con modificaciones de código prácticamente mínimas), y darías la posibilidad de que los padres consulten la información de sus hijos vía remota.