En general veo bien el planteamiento que has hecho.
Si fuera yo no lo haría en Visual Basic 6 por los motivos que te comentaba antes. Lo haría con una versión más reciente (p.ej. 2010) y orientado a objetos.
Haz indicado 3 de las operaciones básicas sobre una base de datos: insertar, consultar y modificar. Pero te falta una: eliminar. Debes contemplar esa posibilidad porque si una actividad ha sido insertada erróneamente o desaparece (por ejemplo porque un profesor la anula) debe ser posible eliminar dicha actividad.
Una cuestión importante es un buen diseño de los datos para la base de datos, lo que podría llamarse el diccionario de datos (tablas donde para cada tabla de la base de datos indicas qué atributos tendrá y de qué características serán dichos atributos). Crear esta tabla es una reflexión que debería hacerse antes de empezar a programar, ya que ahí plasmarás la mayor parte de las necesidades de datos que vas a tener en el programa y cómo se relacionan entre sí. Si aspiras a crear una buena aplicación deberías crearlo (esto al mismo tiempo te va a servir para reflexionar sobre las necesidades que debe cubrir la aplicación).
(http://grupo13sistemaacademicoescolar.files.wordpress.com/2012/04/diccionario-de-datos_01.png)