A Interseção da Engenharia de Software e Eficiência Energética
Aprenda como a engenharia de software pode levar a práticas de eficiência energética na tecnologia.
― 7 min ler
Índice
- Estrutura do Curso
- Importância da Eficiência Energética
- Resultados de Aprendizado
- Contexto Educacional
- Design do Curso e Objetivos de Aprendizado
- Formação dos Alunos e Composição das Equipes
- Tópicos de Projetos e Objetivos de Pesquisa
- Design Experimental
- Coleta e Análise de Dados
- Relato de Resultados
- Uso de Ferramentas de código aberto
- Impacto na Comunidade de Engenharia de Software
- Feedback e Melhoria Contínua
- Desafios na Pesquisa de Eficiência Energética
- O Papel dos Instrutores
- Construindo uma Comunidade de Aprendizes
- Direções Futuras para o Curso
- Conclusão
- Fonte original
- Ligações de referência
O curso Green Lab foca em ensinar os alunos sobre software eficiente em termos de energia. Ele faz parte de um programa de mestrado em Ciência da Computação numa universidade na Holanda. O curso dura dois meses todo ano e é feito pra estudantes de Ciência da Computação que querem aprender como engenharia de software pode estar ligada à eficiência energética.
Estrutura do Curso
No começo do curso, os alunos são divididos em equipes pequenas. Cada equipe escolhe um objetivo de pesquisa de uma lista fornecida pelos instrutores. Durante os dois meses seguintes, os alunos trabalham juntos fazendo experimentos sobre o tema que escolheram. Eles seguem o método científico ao longo do curso, que envolve definir perguntas de pesquisa, montar experimentos, coletar dados e analisar os resultados.
Importância da Eficiência Energética
A necessidade de software eficiente em termos de energia tá crescendo à medida que a demanda por Centros de Dados e serviços online aumenta. Estudos mostram que os centros de dados contribuem muito pra o consumo energético global, e isso deve aumentar com os avanços tecnológicos. Portanto, é crucial que os desenvolvedores de software considerem o impacto energético de suas aplicações.
Resultados de Aprendizado
Ao final do curso, espera-se que os alunos adquiram conhecimento sobre engenharia de software empírica e sua aplicação em software eficiente em termos de energia. Eles aprendem a desenhar experimentos, analisar os dados coletados e relatar suas descobertas. Esse conhecimento os prepara pra trabalhos futuros em desenvolvimento de software e permite que contribuam pra reduzir a pegada de carbono da tecnologia.
Contexto Educacional
O curso Green Lab faz parte de uma especialização de mestrado que foca na engenharia de software e TI verde. Inicialmente, a conexão entre engenharia de software e eficiência energética não era muito clara. Mas, à medida que a consciência sobre TI verde cresceu, esse curso foi se tornando cada vez mais relevante.
Design do Curso e Objetivos de Aprendizado
O curso é feito pra oferecer uma experiência prática. Os alunos são apresentados a métodos de engenharia de software empírica e à importância do software eficiente em termos de energia. Eles participam de workshops e palestras que cobrem conceitos e técnicas fundamentais pra fazer seus experimentos.
Os objetivos de aprendizado incluem entender o básico da pesquisa empírica, aplicar métodos de pesquisa em software eficiente em termos de energia e conseguir analisar e relatar resultados de forma eficaz.
Formação dos Alunos e Composição das Equipes
O curso tá aberto pra alunos de mestrado com formação em ciência da computação. Ele atrai um grupo diverso de alunos, cada um com habilidades e experiências diferentes. Os alunos são encorajados a formar equipes que permitam que trabalhem em colaboração em seus projetos, o que melhora o aprendizado e a troca de ideias.
Tópicos de Projetos e Objetivos de Pesquisa
Durante a primeira semana, os alunos são apresentados a vários tópicos de pesquisa relacionados a software eficiente em termos de energia. Eles têm a opção de escolher de uma lista de tópicos sugeridos ou propor suas próprias ideias. Cada projeto visa investigar aspectos específicos do consumo de energia do software, como comparar diferentes técnicas de programação ou analisar o impacto energético de aplicações móveis.
Design Experimental
Os alunos aprendem a estruturar seus experimentos de forma eficaz. Eles começam identificando seus objetivos e perguntas de pesquisa. Depois definem o método que vão usar pra coletar dados, incluindo quais ferramentas e sujeitos usar. Essa abordagem estruturada garante que suas descobertas sejam confiáveis e válidas.
Coleta e Análise de Dados
Uma vez que os experimentos estão desenhados, os alunos os executam e coletam dados. Eles medem vários fatores como consumo de energia e métricas de desempenho associadas a diferentes aplicações de software. Após coletar os dados, eles os analisam pra tirar conclusões sobre a eficiência energética do software que estudaram.
Relato de Resultados
Os alunos precisam apresentar suas descobertas em um relatório abrangente. Isso inclui escrever sobre o contexto da pesquisa, metodologias usadas, dados coletados e as percepções adquiridas da análise. Os relatórios seguem os padrões de pesquisa científica pra garantir clareza e rigor.
Ferramentas de código aberto
Uso deDurante o curso, os alunos utilizam ferramentas de código aberto que ajudam a conduzir os experimentos de forma mais eficiente. Essas ferramentas foram desenvolvidas por alunos e pesquisadores e são feitas pra ajudar na medição e análise do consumo de energia em aplicações de software. Usando essas ferramentas, os alunos ganham experiência prática contribuindo e utilizando recursos da comunidade.
Impacto na Comunidade de Engenharia de Software
O curso Green Lab ganhou reconhecimento na comunidade de engenharia de software por produzir pesquisas de qualidade. Muitos projetos do curso resultaram em artigos científicos e contribuições para conferências, mostrando a importância da eficiência energética na tecnologia.
Feedback e Melhoria Contínua
O design do curso é refinado continuamente com base no feedback e resultados dos alunos. Os instrutores avaliam a eficácia de vários componentes e fazem ajustes pra melhorar a experiência de aprendizado. Esse processo iterativo garante que o curso continue relevante e valioso pros futuros alunos.
Desafios na Pesquisa de Eficiência Energética
Um dos principais desafios na pesquisa de software eficiente em termos de energia é medir com precisão o consumo energético. Obter dados confiáveis e consistentes exige planejamento cuidadoso e execução dos experimentos. Além disso, os alunos precisam lidar com dificuldades técnicas que podem surgir durante o processo.
O Papel dos Instrutores
Os instrutores desempenham um papel crucial guiando os alunos ao longo do curso. Eles oferecem suporte, feedback e expertise pra ajudar os alunos a terem sucesso em seus projetos. A experiência deles em engenharia de software empírica e eficiência energética enriquece o ambiente de aprendizado.
Construindo uma Comunidade de Aprendizes
O Green Lab promove uma atmosfera colaborativa onde os alunos podem compartilhar ideias, buscar ajuda e aprender uns com os outros. Esse aspecto comunitário encoraja os alunos a se envolverem ativamente com seus colegas e instrutores, melhorando sua experiência educacional.
Direções Futuras para o Curso
Olhando pra frente, o curso Green Lab pretende expandir suas ofertas. Isso pode incluir a introdução de novos tópicos, integração de métodos de pesquisa adicionais ou melhorar o acesso a ferramentas e recursos. O objetivo é adaptar e melhorar continuamente o curso pra atender às necessidades em evolução dos alunos e da indústria.
Conclusão
O curso Green Lab representa um passo importante pra integrar a eficiência energética na educação em engenharia de software. Ao equipar os alunos com as habilidades e conhecimentos necessários pra avaliar e melhorar o consumo de energia do software, o curso contribui pra o objetivo maior de promover práticas tecnológicas sustentáveis. A natureza colaborativa e focada em pesquisa do curso não só prepara os alunos pra suas futuras carreiras, mas também impacta positivamente o campo da engenharia de software como um todo.
Título: Ten Years of Teaching Empirical Software Engineering in the context of Energy-efficient Software
Resumo: 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 atualização: 2024-07-08 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2407.05689
Fonte PDF: https://arxiv.org/pdf/2407.05689
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- 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