Rodrigo Duran
Rodrigo Duran
Associate professor at the Federal Institute of Science and Technology of Mato Grosso do Sul. Computing Education Researcher
Associate professor at the Federal Institute of Science and Technology of Mato Grosso do Sul. Computing Education Researcher
About Me
Hi! I am a Brazilian, born in Marilia/São Paulo, 42, I live in Nova Andradina, Brazil.
Currently, I am an Associate Professor at the Federal Institute of Mato Science and Technology of Grosso do Sul. I have a doctorate in Computer Science Education from Aalto University (2020) under the supervision of Professor Lauri Malmi.
My research interests are the psychology of programming, cognitive complexity of computer programs, notional machines, plan-composition strategies, instruments to evaluate prior programming knowledge, instructional design differences in teaching programming to K-12 and undergraduate students, reasons for students' drop out from CS programs, and K-12 students' CS projects in Science Fairs.
I have a bachelor's in Computer Science from Londrina State University (2002) and a Master's degree in Computer Graphics from the University of São Paulo (2005). Worked with home automation systems as a software developer for 4 years and now I work at the Mato Grosso do Sul Federal Institute of Science and Technology since 2011.
I am part of the program committee of several CER conferences such as the ICER, Koli Calling, SIGCSE TS, and EduComp, among others. I am a member-at-large of the SIGCSE Board (2022-2025) and a member of the Education Board from the Brazilian Computer Society (SBC) since 2019. I am an associate editor of ACM Transactions on Computing Education (TOCE).
Research
Notional Machines and The Rules of Program Behavior
In 2019, at the Notional Machines and Programming Language Semantics in Education seminar in Dagstuhl, we discussed the definition of Notional Machines and their connection to formal semantics. We introduce our very own perspective on Notional Machines by presenting the Rules of Program Behavior (RPB), written statements about how computer programs of a particular kind behave when executed. RPBs have a pedagogical purpose, are written down, have a specific context, audience, and goals. You can read more about RPBs in our ACM Transactions on Computing Education paper.
COGNITIVE COMPLEXITY OF COMPUTER PROGRAMS
I am interested in defining and evaluating the cognitive complexity of computer programs. I have developed (with Juha Sorva and Sofia Leite) a model to extract meaningful metrics of cognitive complexity from computer programs (our work presented at ICER 2018, here).
Based on this model, in our recent ACM TOCE paper, we were able to predict the program's difficulty (corroborated by students' subjective ratings) and present some evidence that plan-composition strategies have an impact on the difficulty of comprehending programs.
Program Comprehension and Plan-Composition Strategies
In our ITiCSE 2017 WG5, we suggested that readability is one of the most important factors students, instructors, and professional developers value regarding code quality. You can see the result of this work here.
I am interested in how students read and comprehend code and how merged vs sequenced plan-composition strategies impact code comprehension and what kind of patterns or strategies students use to read these types of programs.
Philipp Kather, I, and Jan Vahrenhold conducted a study using eye-trackers to investigate, at the plan level, how expert students read code with different complexities and different plan-compositions strategies. Our results align with learning theories such as CTL in showing that code-composition matters more when the program is not too easy or too difficult, and students form a mental model faster when using sequenced code than with merged code. You can read our paper, openly available, at ACM Transactions on Computing Education here.
In 2019, our ITiCSE Working Group investigated how to promote program comprehension activities and how to break down program comprehension activities into subtasks that explore several aspects of students' comprehension of programs. You can read our paper here.
Evaluating prior-programming knowledge
I developed (with my Aalto co-authors Jan-Mikael Rybicki, Sanna Suoranta, Arto Hellas, and Juha Sorva) a Self-Evaluation Instrument (SEI) to investigate in detail students' prior knowledge in concepts usually taught in CS1 courses.
We compared the SEI to previous background metrics (our work presented at ITiCSE 2019, here) and course grades and other tests, such as the SCS1 (our work presented at ICER 2019, here). We will continue to develop this instrument and validate it by applying the SEI in other contexts.
Why students drop out from CS programs (in Brazil and Elsewhere)
The Brazilian Computer Society is deeply concerned with current trends in gender balance and dropouts in computing programs in Brazil. To understand the reasons why students drop out of computing programs, we conducted a nationwide survey in 2020 with more than 3000 enrolled students to probe potential factors of dropout. Our results published in our ACM TOCE paper suggest that students rank courses as being too theoretical (in their perspective), the difficulty of Math and Programming courses, and the necessity to work full time as the main causes of dropout, in general. However, women rank harassment and a predominantly male environment as the main reasons for dropout.
Psychology of programming and differences between K-12 and Undergrad contexts
I have been exploring some learning theories from educational psychology (e.g., CLT, and MHC) and how they could be applied to the programming context. Given my interest in Cognitive Load Theory (CLT), I, Abby Zavgorodniaia, and Juha Sorva reviewed how CLT has been used in CER, particularly how CER has kept up with recent CER advances in terms of methods and conceptualizations of their theory. Our upcoming ACM Transactions on Computing Education paper has a pre-print here. We (and colleagues) also investigated if current instruments that evaluate subjectively cognitive load in computing would be valid using the new 2 CL formulation of CLT. Our results can be found here.
My institution allows me to teach undergraduate and vocational high school students. It is a peculiar context and very little explored:
- Very often I teach the same topic to HS and undergrads. On the same day.
- The programming classes are mandatory for all high-school students! And they learn not only basic programming concepts, but databases, networks, web development, operational systems, and software engineering as well.
- We have gender balance!
- Most HS students don't want to go to a CS undergraduate program later!
I want to explore this context and investigate how the differences in these two contexts impact the instructional design of programming classes, how the HS students learn to program, and how it compares to the Undergrad students. Interested in this research setting? Want to explore it too? Contact me!
K-12 CS projects in Science Fairs
Well, a very interesting approach to allow students to express themselves through projects in our HS CS courses is to let them develop any kind of projects, from the most basic to the most complex ones. However, most of these projects are not research-oriented, and traditional venues such as conferences were not suited to this kind of work.
The science fairs proved to be a very engaging context for students. Not only they are able to show their projects to everyone, but also develop their communication, scientific writing, and networking skills. We have been very successful and our students were awarded regional, national, and even being able to show their projects in the biggest stage, the Intel ISEF science fair.
I am interested in how the science fair impacts student engagement, what kind of CS projects students present at these science fairs, how impacts their choice regarding STEM careers, and what kind of difficulties they face when developing this kind of complex project.
Publications
2017
Rodrigo Duran. 2017. Towards a Fine-grained Analysis of Complexity of Programming Tasks. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER '17). ACM, New York, NY, USA, 271-272. DOI: https://doi.org/10.1145/3105726.3105731Haaranen, Lassi, & Duran, Rodrigo. (2017). Link Between Gaming Communities in YouTube and Computer Science. In CSEDU (2) (pp. 17-24).
Haaranen, Lassi., & Duran, Rodrigo. (2017, April). Computer Science in Online Gaming Communities. In International Conference on Computer Supported Education (pp. 279-299). Springer, Cham.
2018
Jürgen Börstler, Harald Störrle, Daniel Toll, Jelle van Assema, Rodrigo Duran, Sara Hooshangi, Johan Jeuring, Hieke Keuning, Carsten Kleiner, and Bonnie MacKellar. 2018. "I know it when I see it" Perceptions of Code Quality: ITiCSE '17 Working Group Report. In Proceedings of the 2017 ITiCSE Conference on Working Group Reports (ITiCSE-WGR '17). ACM, New York, NY, USA, 70-85. DOI: https://doi.org/10.1145/3174781.3174785
Rodrigo Duran. 2018. Towards an Instructional Design of Complex Learning in Introductory Programming Courses. In Proceedings of the 2018 ACM Conference on International Computing Education Research (ICER '18). ACM, New York, NY, USA, 262-263. DOI: https://doi.org/10.1145/3230977.3231007
Rodrigo Duran, Juha Sorva, and Sofia Leite. 2018. Towards an Analysis of Program Complexity From a Cognitive Perspective. In Proceedings of the 2018 ACM Conference on International Computing Education Research (ICER '18). ACM, New York, NY, USA, 21-30. DOI: https://doi.org/10.1145/3230977.3230986
2019
Rodrigo Duran, Jan-Mikael Rybicki, Sanna Suoranta, and Arto Hellas. Towards a Common Instrument for Measuring Prior Programming Knowledge. In Proceedings of the 24th Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2019). ACM, New York, NY, USA, 6. https://doi.org/10.1145/3304221.3319755
Rodrigo Duran, Jan-Mikael Rybicki, Juha Sorva, and Arto Hellas. Exploring the Value of Student Self-Evaluation in Introductory Programming. In Proceedings of the 2019 ACM Conference on International Computing Education Research (ICER '19). ACM, New York, NY, USA, 21-30. DOI: https://doi.org/10.1145/3291279.3339407
2020
Pirttinen, Nea, Arto Hellas, Lassi Haaranen, and Rodrigo Duran. "Study Major, Gender, and Confidence Gap: Effects on Experience, Performance, and Self-Efficacy in Introductory Programming." In 2020 IEEE Frontiers in Education Conference (FIE), pp. 1-7. IEEE, 2020.
Zavgorodniaia, Albina, Rodrigo Duran, Arto Hellas, Otto Seppala, and Juha Sorva. "Measuring the cognitive load of learning to program: A replication study." In United Kingdom & Ireland Computing Education Research conference., pp. 3-9. 2020.
Bispo Jr, Esdras Lins, André Raabe, Ecivaldo Matos, Eleandro Maschio, Ellen Barbosa, Leandro Carvalho, Roberto Bittencourt, Rodrigo Duran, and Taciana Falcão. "Tecnologias na educaçao em computaçao: Primeiros referenciais." Revista Brasileira de Informática na Educação 28 (2020): 509-527.
Duran, Rodrigo, Lassi Haaranen, and Arto Hellas. "Gender Differences in Introductory Programming: Comparing MOOCs and Local Courses." In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, pp. 692-698. 2020.
2021
DURAN, RODRIGO; HAWTHORNE, ELIZABETH K. ; SABIN, MIHAELA ; TANG, CARA ; WEISS, MARK ALLEN ; ZWEBEN, STUART H. . Retention in 2017--18 higher education computing programs in the United States. ACM Inroads, v. 12, p. 18-28, 2021.
DURAN, RODRIGO; SORVA, JUHA; SEPPÄLÄ, OTTO. Rules of Program Behavior. ACM Transactions on Computing Education. ACM Transactions on Computing Education (TOCE) 21, no. 4 (2021): 1-37.
KATHER, PHILIPP; DURAN, RODRIGO; VAHRENHOLD. Through (Tracking) Their Eyes: Abstraction and Complexity in Program Comprehension. ACM Transactions on Computing Education (TOCE) 22, no. 2 (2021): 1-33.
2022
DURAN, RODRIGO; ZAVGORODNIAIA, ALBINA; AND SORVA, JUHA. Cognitive Load Theory in Computing Education Research: A Review. ACM Transactions on Computing Education (TOCE) 22, no 4, 1-27.
ERICSON, BARBARA; DENNY, PAUL; PRATHER, JAMES; DURAN, RODRIGO; HELLAS, ARTO; LEINONEN, JUHO; MILLER, CRAIG; MORRISON, BRIANA; PEARCE, JANICE; RODGER, SUSAN. Parsons Problems and Beyond: Systematic Literatura Review and Empirical Studies. Proceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE). 191-234.
2023
Duran, Rodrigo, Silvia Amélia Bim, Itana Gimenes, Leila Ribeiro, and Ronaldo Celso Messias Correia. "Potential Factors for Retention and Intent to Drop-out in Brazilian Computing Programs." ACM Transactions on Computing Education 23, no. 3 (2023): 1-33.
Börstler, Jürgen, Kwabena E. Bennin, Sara Hooshangi, Johan Jeuring, Hieke Keuning, Carsten Kleiner, Bonnie MacKellar et al. "Developers talking about code quality." Empirical Software Engineering 28, no. 6 (2023): 128.
2024
Pias, Marcelo, Ernesto Cuadros-Vargas, and Rodrigo Duran. "Computer Science Education in Latin America and the Caribbean." ACM Inroads 15, no. 1 (2024): 38-47.
Copyright 2019