Formulación de una teoría general para la enseñanza de ingeniería de software (2018)
La ingeniería de software es un área del conocimiento en la que el ingeniero debe conjugar competencias técnicas y sociales en su ejercicio profesional. De hecho, las competencias sociales relacionadas con habilidades de comunicación, orientación al logro y liderazgo, entre otros, resultan críticas para la ejecución de proyectos de desarrollo de software exitosos. Este hecho, sumado a una creciente demanda de productos de software en diversos sectores como gobierno, banca o medicina, da lugar a una línea de investigación conocida como educación en ingeniería de software. Esta línea de investigación busca lograr un balance entre teoría y práctica en la formación de ingenieros de software. Como respuesta a estas oportunidades, aparece una serie de estrategias de enseñanza de ingeniería de software con este propósito. Entre estas estrategias se encuentran el aprendizaje basado en proyectos, el aprendizaje basado en problemas y el aprendizaje colaborativo, entre otros. Sin embargo, en la búsqueda de experiencias de enseñanza de ingeniería de software que incorporen estas estrategias, se identifica que éstas se describen de manera subjetiva, lo que dificulta que el docente de ingeniería de software: (1) seleccione la estrategia adecuada para presentar una temática de ingeniería de software particular y (2) defina los elementos que acompañan la estrategia de enseñanza tales como: objetivos de aprendizaje, recursos de apoyo, actividades de aprendizaje y método de evaluación. En la presente Tesis de Doctorado se formula una teoría general para la enseñanza de ingeniería de software (SETMAT, por sus siglas en inglés) que busca apoyar al docente en la selección de estrategias de enseñanza de ingeniería de software. Esta teoría se compone de los conceptos y relaciones más relevantes del dominio de enseñanza de ingeniería de software que se identificaron en la revisión de experiencias previas e incorpora las competencias que se espera promover en los estudiantes según los diferentes roles de un equipo de desarrollo de software. Adicionalmente, la validación de esta teoría consiste en la representación de prácticas de enseñanza de cursos de ingeniería de software de dos entornos universitarios diferentes, así como sesiones de trabajo con docentes de ingeniería de software, quienes hacen uso de la teoría para representar y compartir sus estrategias de enseñanza. A partir de lo anterior, esta teoría posibilita la representación de prácticas de enseñanza de ingeniería de software y permite a los docentes definir los elementos mínimos que acompañan cualquier estrategia de enseñanza de esta área, así como comparar y transferir estas estrategias de una manera más efectiva, entendiendo una estrategia de enseñanza como un conjunto de prácticas de enseñanza con un propósito específico.