Uso de GitHub en el diseño de e-actividades para la refactorización del software

Carlos LÓPEZ, Jesús M. ALONSO, Raúl MARTICORENA, Jesús M. MAUDES

Resumen


El objetivo de este trabajo es diseñar, planificar, aplicar y evaluar actividades docentes que ayuden en el proceso de enseñanza y aprendizaje del concepto de refactorización. La metodología didáctica seguida se basa en dos pilares. El primero es en un aprendizaje progresivo del concepto de refactorización mediante e-actividades definidas en diferentes niveles de conocimiento de la taxonomía de Bloom (conocer, comprender, aplicar, analizar, sintetizar). El segundo es la utilización de recursos en las e-actividades, que estén relacionados con los que el estudiante podrá encontrarse al ejercer su carrera profesional orientada al desarrollo del software: entornos de desarrollo integrados y repositorios de gestión de proyectos. El resultado del trabajo es la definición de un conjunto de e-actividades de refactorización de código Java, donde se utiliza de diferentes formas según el tipo de e-actividad, la funcionalidad del versionado del repositorio de proyectos de código abierto GitHub. Bajo estas premisas se diseñan cinco tipos de e-actividades: lecturas y comprensión, pruebas objetivas, aprendizaje basado en problemas, estudio de casos y seminarios virtuales. Las e-actividades diseñadas se aplican en el contexto de una asignatura de Ingeniería del Software del Grado en Ingeniería Informática de la Universidad de Burgos. El trabajo concluye analizando preliminarmente algunas consecuencias de la experiencia, tanto desde la perspectiva de utilizar estas nuevas e-actividades en el proceso de enseñanza aprendizaje, como desde la perspectiva de carga de trabajo que supone al docente y al estudiante.

Palabras clave


Refactorización; proceso enseñanza aprendizaje online; eactividades; evaluación; taxonomía de Bloom; Github repositorio de proyectos software

Texto completo:

PDF

Referencias


Bourque, P., & Fairley, R. E.. (2014). Guide to the Software Engineering Body of Knowledge SWEBOK,Version 3.0. IEEE Computer Society. http://www.swebok.org/

Bourque, P., Buglione, L., Abran, A., & April, A. (2003). Bloom’s Taxonomy Levels for Three Software Engineer Profiles. En STEP (pp. 123-129).

http://dx.doi.org/10.1109/step.2003.6

Britton, J., & Berglund, T. (2013). Using version control in the classroom. En Proceeding of the 44th ACM technical symposium on Computer science education (pp. 753-753). Denver, Colorado, USA: ACM.

Brown, W. J. (1998). AntiPatterns: refactoring software, architectures, and projects in crisis. New York: Wiley.

Cabero Almenara, J, & Román Graván, P. (2005). E-actividades: un referente básico para la formación en Internet. Madrid: Eduforma Editores.

Demeyer, S., Rysselberghe, F. V., Gîrba, T., Ratzinger, J., Marinescu, R., Matthias R., & El-Ramly, M. (2007). The LAN-simulation: A Refactoring Lab Session. En WRT (pp. 52-53).

Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley.

González-Torres, A., García-Peñalvo, F. J., & Therón, R. (2013). Human–computer interaction in evolutionary visual software analytics. Computers in Human Behavior, 29(2), 486-495.

http://dx.doi.org/10.1016/j.chb.2012.01.013

Kelleher, J. (2014). Employing git in the classroom. Computer Applications and Information Systems (WCCAIS), 2014 World Congress on, 1-4.

http://dx.doi.org/10.1109/WCCAIS.2014.6916568

Kerievsky, J. (2004). Refactoring to patterns. Addison-Wesley.

http://dx.doi.org/10.1007/978-3-540-27777-4_54

Lawrance, J., Jung, S., & Wiseman, C. (2013). Git on the cloud in the classroom. En Proceeding of the 44th ACM technical symposium on Computer science education (pp. 639-644). Denver, Colorado, USA: ACM.

http://dx.doi.org/10.1145/2445196.2445386

Lippert, M., & Roock, S. (2006). Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. John Wiley & Sons.

Lopez, C., Alonso, J. M., Marticorena, R., & Maudes, J. M. (2014). Design of e-activities for the learning of code refactoring tasks. En 2014 International Symposium on Computers in Education (SIIE) (pp. 35-40).

http://dx.doi.org/10.1109/SIIE.2014.7017701

Meneses, E. L., Fernández, G. D., & Ballesteros-Regaña, C. (2011). E-actividades: elementos constitutivos para la calidad de la praxis educativa digital. En La práctica educativa en la Sociedad de la Información:

Innovación a través de la investigación (pp.267-282). Editorial Marfil.

Nierstrasz, O., Ducasse, S., & Demeyer, S. (2009). Object-Oriented Reengineering Patterns. Square Bracket Associates.

Wake, W. C. (2004). Refactoring workbook. Boston: Addison-Wesley.




DOI: http://dx.doi.org/10.14201/eks20151648196





Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.