La intersección de la ingeniería de software y la eficiencia energética
Aprende cómo la ingeniería de software puede llevar a prácticas energéticamente eficientes en tecnología.
― 7 minilectura
Tabla de contenidos
- Estructura del Curso
- Importancia de la Eficiencia Energética
- Resultados de Aprendizaje
- Contexto Educativo
- Diseño del Curso y Objetivos de Aprendizaje
- Antecedentes de los Estudiantes y Composición del Equipo
- Temas de Proyecto y Objetivos de Investigación
- Diseño Experimental
- Recolección y Análisis de Datos
- Reporte de Resultados
- Uso de Herramientas de código abierto
- Impacto en la Comunidad de Ingeniería de Software
- Retroalimentación y Mejora Continua
- Desafíos en la Investigación de Eficiencia Energética
- El Rol de los Instructores
- Construyendo una Comunidad de Aprendices
- Direcciones Futuras para el Curso
- Conclusión
- Fuente original
- Enlaces de referencia
El curso Green Lab está enfocado en enseñar a los estudiantes sobre software eficiente en energía. Es parte de un programa de Maestría en Ciencias de la Computación en una universidad en los Países Bajos. El curso dura dos meses cada año y está diseñado para estudiantes de Ciencias de la Computación que quieren aprender sobre cómo la ingeniería de software puede relacionarse con la eficiencia energética.
Estructura del Curso
Al inicio del curso, los estudiantes se dividen en equipos pequeños. Cada equipo elige un objetivo de investigación específico de una lista proporcionada por los instructores. Durante los dos meses siguientes, los estudiantes trabajan juntos para realizar experimentos relacionados con su tema elegido. Siguen el método científico a lo largo del curso, que implica definir preguntas de investigación, preparar experimentos, recolectar datos y analizar los resultados.
Importancia de la Eficiencia Energética
La necesidad de software eficiente en energía está creciendo a medida que aumenta la demanda de Centros de Datos y servicios en línea. Estudios muestran que los centros de datos contribuyen significativamente al consumo energético global, y se espera que esto aumente con los avances tecnológicos. Por lo tanto, es crucial que los desarrolladores de software consideren el impacto energético de sus aplicaciones.
Resultados de Aprendizaje
Al final del curso, se espera que los estudiantes adquieran conocimientos sobre ingeniería de software empírica y su aplicación al software eficiente en energía. Aprenden a diseñar experimentos, analizar datos recolectados y reportar sus hallazgos. Este conocimiento los prepara para futuros trabajos en desarrollo de software y les permite contribuir a reducir la huella de carbono de la tecnología.
Contexto Educativo
El curso Green Lab es parte de una especialización de maestría que enfoca en ingeniería de software y TI verde. Inicialmente, la conexión entre la ingeniería de software y la eficiencia energética no se entendía bien. Sin embargo, a medida que ha crecido la conciencia sobre TI verde, este curso ha cobrado más relevancia.
Diseño del Curso y Objetivos de Aprendizaje
El curso está diseñado para ofrecer una experiencia de aprendizaje práctica. Los estudiantes son introducidos a métodos de ingeniería de software empírica y a la importancia del software eficiente en energía. Participan en talleres y conferencias que cubren conceptos fundamentales y técnicas necesarias para realizar sus experimentos.
Los objetivos de aprendizaje incluyen entender lo básico de la investigación empírica, aplicar métodos de investigación al software eficiente en energía y ser capaces de analizar y reportar resultados de manera efectiva.
Antecedentes de los Estudiantes y Composición del Equipo
El curso está abierto a estudiantes de maestría con antecedentes en ciencias de la computación. Atrae a un grupo diverso de estudiantes, cada uno con habilidades y experiencias diferentes. Se alienta a los estudiantes a formar equipos que les permitan trabajar colaborativamente en sus proyectos, lo que mejora el aprendizaje y el intercambio de ideas.
Temas de Proyecto y Objetivos de Investigación
Durante la primera semana, los estudiantes son introducidos a varios temas de investigación relacionados con el software eficiente en energía. Tienen la opción de elegir de una lista de temas sugeridos o proponer sus propias ideas. Cada proyecto tiene como objetivo investigar aspectos específicos del consumo energético del software, como comparar diferentes técnicas de programación o analizar el impacto energético de las aplicaciones móviles.
Diseño Experimental
Los estudiantes aprenden a estructurar sus experimentos de manera efectiva. Comienzan identificando sus objetivos e preguntas de investigación. Luego definen el método que usarán para recolectar datos, incluyendo qué herramientas y sujetos usar. Este enfoque estructurado asegura que sus hallazgos sean confiables y válidos.
Recolección y Análisis de Datos
Una vez que los experimentos están diseñados, los estudiantes los ejecutan y recolectan datos. Miden varios factores como el Consumo de energía y métricas de rendimiento asociadas con diferentes aplicaciones de software. Después de recolectar los datos, los analizan para sacar conclusiones sobre la eficiencia energética del software que estudiaron.
Reporte de Resultados
Los estudiantes deben presentar sus hallazgos en un informe completo. Esto incluye escribir sobre su contexto de investigación, metodologías utilizadas, datos recolectados y los conocimientos adquiridos de su análisis. Los informes siguen los estándares de la investigación científica para asegurar claridad y rigor.
Herramientas de código abierto
Uso deA lo largo del curso, los estudiantes utilizan herramientas de código abierto que les ayudan a realizar sus experimentos de manera más eficiente. Estas herramientas han sido desarrolladas por estudiantes e investigadores y están diseñadas para ayudar en la medición y el análisis del consumo energético en aplicaciones de software. Al usar estas herramientas, los estudiantes obtienen experiencia práctica contribuyendo y utilizando recursos impulsados por la comunidad.
Impacto en la Comunidad de Ingeniería de Software
El curso Green Lab ha ganado reconocimiento en la comunidad de ingeniería de software por producir investigaciones de calidad. Muchos proyectos del curso han llevado a publicaciones científicas y contribuciones a conferencias, mostrando la importancia de la eficiencia energética en la tecnología.
Retroalimentación y Mejora Continua
El diseño del curso se refina continuamente en base a la retroalimentación y resultados de los estudiantes. Los instructores evalúan la efectividad de varios componentes y hacen ajustes para mejorar la experiencia de aprendizaje. Este proceso iterativo asegura que el curso siga siendo relevante y valioso para futuros estudiantes.
Desafíos en la Investigación de Eficiencia Energética
Uno de los principales desafíos en la investigación del software eficiente en energía es medir con precisión el consumo energético. Obtener datos confiables y consistentes requiere planificación cuidadosa y ejecución de experimentos. Además, los estudiantes deben navegar dificultades técnicas que pueden surgir durante el proceso.
El Rol de los Instructores
Los instructores juegan un papel crítico en guiar a los estudiantes a lo largo del curso. Proporcionan apoyo, retroalimentación y experiencia para ayudar a los estudiantes a tener éxito en sus proyectos. Su experiencia en ingeniería de software empírica y eficiencia energética enriquece el ambiente de aprendizaje.
Construyendo una Comunidad de Aprendices
El Green Lab fomenta una atmósfera colaborativa donde los estudiantes pueden compartir ideas, buscar ayuda y aprender unos de otros. Este aspecto comunitario anima a los estudiantes a involucrarse activamente con sus compañeros e instructores, mejorando su experiencia educativa.
Direcciones Futuras para el Curso
Mirando hacia el futuro, el curso Green Lab busca expandir su oferta. Esto podría incluir la introducción de nuevos temas, la integración de métodos de investigación adicionales o mejorar el acceso a herramientas y recursos. El objetivo es adaptarse y mejorar continuamente el curso para satisfacer las necesidades evolutivas de los estudiantes y la industria.
Conclusión
El curso Green Lab representa un paso importante hacia la integración de la eficiencia energética en la educación de ingeniería de software. Al equipar a los estudiantes con las habilidades y conocimientos necesarios para evaluar y mejorar el consumo energético del software, el curso contribuye al objetivo más amplio de promover prácticas tecnológicas sostenibles. La naturaleza colaborativa y centrada en la investigación del curso no solo prepara a los estudiantes para sus futuras carreras, sino que también impacta positivamente el campo de la ingeniería de software en su conjunto.
Título: Ten Years of Teaching Empirical Software Engineering in the context of Energy-efficient Software
Resumen: In this chapter we share our experience in running ten editions of the Green Lab course at the Vrije Universiteit Amsterdam, the Netherlands. The course is given in the Software Engineering and Green IT track of the Computer Science Master program of the VU. The course takes place every year over a 2-month period and teaches Computer Science students the fundamentals of Empirical Software Engineering in the context of energy-efficient software. The peculiarity of the course is its research orientation: at the beginning of the course the instructor presents a catalog of scientifically relevant goals, and each team of students signs up for one of them and works together for 2 months on their own experiment for achieving the goal. Each team goes over the classic steps of an empirical study, starting from a precise formulation of the goal and research questions to context definition, selection of experimental subjects and objects, definition of experimental variables, experiment execution, data analysis, and reporting. Over the years, the course became well-known within the Software Engineering community since it led to several scientific studies that have been published at various scientific conferences and journals. Also, students execute their experiments using \textit{open-source tools}, which are developed and maintained by researchers and other students within the program, thus creating a virtuous community of learners where students exchange ideas, help each other, and learn how to collaboratively contribute to open-source projects in a safe environment.
Autores: Ivano Malavolta, Vincenzo Stoico, Patricia Lago
Última actualización: 2024-07-08 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2407.05689
Fuente PDF: https://arxiv.org/pdf/2407.05689
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.
Enlaces de referencia
- https://dropbox.tech
- https://www.infoq.com
- https://arstechnica.com
- https://stackoverflow.com
- https://discourse.ros.org/
- https://github.com/S2-group/android-runner
- https://developer.android.com/tools/adb
- https://github.com/S2-group/robot-runner
- https://www.ros.org
- https://docs.ros.org/en/iron/Tutorials/Intermediate/Launch/Creating-Launch-Files.html
- https://github.com/S2-group/experiment-runner
- https://www.linuxfoundation.org/blog/getting-started-with-open-source-development
- https://www.w3.org/TR/service-workers
- https://developers.google.com/web/tools/lighthouse
- https://w3c.github.io/sustyweb
- https://www.r-project.org
- https://posit.co/download/rstudio-desktop
- https://www.systemcodegeeks.com/minibook/linux-bash-programming-cookbook
- https://www.overleaf.com/latex/templates/green-lab-report-template/cpchhrgcrnrr
- https://github.com/S2-group/template-replication-package