Using GitHub in the design of e-activities for software refactoring

  • Carlos López
    Universidad de Burgos clopezno[at]ubu.es
  • Jesús M. Alonso
    Universidad de Burgos
  • Raúl Marticorena
    Universidad de Burgos
  • Jesús M. Maudes
    Universidad de Burgos

Abstract

The aim of this work is to design, plan, apply and assessment educational activities to help in the teaching-learning process of the concept of refactoring. The teaching methodology used is based on two pillars. The first is a progressive learning of the concept of refactoring by e-activities defined at different levels of knowledge of Bloom’s taxonomy (knowledge, comprehension, application, analysis, synthesis, evaluation). The second is the use of resources in e-activities that are related to those the student may find during their professional career oriented towards software development: integrated development environments and software project repositories. The result of this work is the definition of a set of Java code refactoring e-activities. The version control functionality of software project repository, i.e.; GitHub, is used in different ways depending on the type of e-activity. Under these assumptions five types of e-activities are designed: Reading and comprehensions, objective tests, problem-based learning, case studies and webinars. The e-activities designed are applied in the context of the course Software Engineering of the Bachelor’s Degree in Computer Science at the University of Burgos. The paper concludes analyzing some consequences of the experience from the perspective of using these new e-activities in the teaching-learning process as from the perspective of workload involved for both the teacher and the student.
  • Referencias
  • Cómo citar
  • Del mismo autor
  • Métricas
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.
López, C., Alonso, J. M., Marticorena, R., & Maudes, J. M. (2015). Using GitHub in the design of e-activities for software refactoring. Education in The Knowledge Society, 16(4), 81–96. https://doi.org/10.14201/eks20151648196

Downloads

Download data is not yet available.
+