Ethel Tshukudu | University of Glasgow (original) (raw)
Papers by Ethel Tshukudu
2020 IEEE Frontiers in Education Conference (FIE)
Full Paper. Research. We discuss possible ways to direct students to right level of introductory ... more Full Paper. Research. We discuss possible ways to direct students to right level of introductory programming. While many schools offer college preparatory or advanced placement courses in computing, there is still, unfortunately, a large part of the "college-ready" population that has no opportunity to learn computing at all before they arrive. Regulation of CS education at the state/province or national level is still rare (but growing). Thus incoming students possess a wide range of skills and knowledge. When coupled with increasing enrollments, this diversity of experience can result in courses having large numbers of both absolute beginners and seasoned coders. Such courses are difficult to teach, intimidate novice students, and bore those with more experience. This can result in low engagement and retention. Unlike mathematics and language arts, introductory courses in CS vary widely from one institution to another in both conceptual material and programming language used. A standard point of entry to college mathematics is a calculus course, with some students instead starting earlier with pre-calculus or an algebra refresher, and others starting out in the second-term calculus course. There is rarely a concern about student skill being hidden by notational or other language differences, because the language of mathematics is close to universal. Similarly, freshman language arts courses in reading and/or writing assume a certain level of skill and maturity of comprehension and expressiveness in the target language; otherwise remedial courses are provided. We investigate placement of incoming first year students into appropriate introductory computer science courses at higher education institutions where there is more than one choice of first course. The goal is to determine the best way to decide which first course would be the most helpful for each student.
Proceedings of the 17th ACM Conference on International Computing Education Research, 2021
Motivation More and more high schools are teaching programming, and in many cases, teachers teach... more Motivation More and more high schools are teaching programming, and in many cases, teachers teach multiple programming languages to the same group of students. Objectives The goal of this paper is to explore the views of high-school teachers on second and subsequent programming languages, including their motivation for teaching multiple languages, their struggles, and their use of transfer strategies when they teach their second or third programming language. Method The study consists of semi-structured interviews with 23 high-school teachers in two European countries. Results Our findings indicate that school pupils face the same issues as university students when moving from first to subsequent languages. Furthermore, the teachers’ attitudes towards second language learning are highly variable, both positive and negative, with some supportive teaching strategies used, but many less helpful ones in evidence too. Discussion Our findings suggest that the value of second language lear...
Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, 2019
We propose a working group to investigate methods of proper placement of university entrance-leve... more We propose a working group to investigate methods of proper placement of university entrance-level students into introductory computer science courses. The main issues are the following. The ability to predict skill in the absence of prior experience The value of programming language neutrality in an assessment instrument Stigma and other perception issues associated with students' performance, especially among groups underrepresented in computer science The impact or potential impact on underrepresented populations (minorities, those with lower socioeconomic status) The outcomes/satisfaction/retention metrics in the major of the paced/tracked students compared to those in one-size-fits-all introductory classes
Proceedings of the 2019 ACM Conference on International Computing Education Research, 2019
As students learn computer science (CS), they will need to transfer skills and understanding from... more As students learn computer science (CS), they will need to transfer skills and understanding from one programming language (PL) to another. Prior research has explored the transition between languages for (mainly experienced) programmers, identifying a number of challenges. I could not find research attempting to devise a model that describes how students' learning of programming concepts is affected during the shift between languages. I propose the first draft of a model to describe PL transfer for relative novices based on the literature and my observations of these students transitioning from procedural Python to Java. In the model, concepts in the new language may be Carryover, Changed or Novel; during the transition, learners automatically effect a transfer of semantics between languages based on matches made between the syntax of the two languages.
Prior research has shown that students face transition challenges between programming languages (... more Prior research has shown that students face transition challenges between programming languages (PL) over the course of their education. We could not find research attempting to devise a model that describes the transition process and how students' learning of programming concepts is affected during the shift. In this paper, we propose a model to describe PL transfer for relative novices. In the model, during initial stages of learning a new language, students will engage in learning three categories of concepts, True Carryover Concepts, False Carryover Concepts, or Abstract True Carryover Concepts; during the transition, learners automatically effect a transfer of semantics between languages based on syntax matching. In order to find support for the model, we conducted two empirical studies. Study 1 investigated near-novice undergraduate students transitioning from procedural Python to object-oriented Java while Study 2 investigated near-novice postgraduate students doing a tra...
Proceedings of the 17th ACM Conference on International Computing Education Research
The recent growth of computing education globally has resulted in a growing number of Computer Sc... more The recent growth of computing education globally has resulted in a growing number of Computer Science Education (CSEd) graduate students. To support and make a global impact in computing education, there is a need for these graduates to be in a diversity of careers/roles both within and beyond academia. Currently pursuing a CSEd PhD requires a leap of faith that one can overcome issues not only associated with pioneering a new discipline within the host institution but also is often undertaken without knowing what career opportunities will be available upon graduation. Surveys conducted in Spring 2020 and 2021 with graduate students and advisors document these challenges [3]. Following these surveys, the project team identified the need to support the growth of research in CS Education. By investigating career pathways for CSEd Graduate students, the need to expand the endeavor and discover what the future holds for CSEdGrad was made clear. This project also seeks to connect with CSEd graduates internationally. The current team leading this initiative comes from the United States, the Caribbean (Puerto Rico), Brazil, Thailand, and UK (via Botswana). Among the research initiatives that the team has undertaken is identifying non-academic career opportunities (jobs, conferences, publication opportunities, and fellowships) for CSEd graduate students. While seeking to promote and share international opportunities in non-academic settings, the researchers are faced with defining CSEd Research, the opportunities that CSEd graduate students can pursue, and how these vary across countries and regions. To gain preliminary insights into existing career opportunities, the team explored five countries (USA, UK, Brazil, Puerto Rico, and Thailand) for four months using online research methods. The data collected included country, type of organization, job description, and job qualification. This data was imported into Excel for detailed analysis. Content analysis was used to code collected data into career and organization categories systematically. Initial categories were generated deductively with the guideline from Amy Ko’s blog [1] on career paths, and new categories evolved as well. These categories were then merged and collapsed through an iterative process that led to developing a CSEd career path mind-map (See figure 1). In total, 83 jobs from 35 different non-academic organizations were reported. Furthermore, 15 career path categories and 6 organization categories emerged from these findings. Among the emerging themes that the team has found are limited opportunities within the developing countries, the varying definitions, and broad requirements for CSEd professions, and the dominant and leading role of the United States and the United Kingdom in CSEd. The research team understands that this can be an opportunity to create and pave the way to new opportunities within the field [2]. This poster seeks to generate a discussion within the ICER community about the progress of the team’s findings, and what the future holds for CSEd Graduate students.
United Kingdom & Ireland Computing Education Research conference.
Students are expected to move from one programming language (PL) to another in their computer sci... more Students are expected to move from one programming language (PL) to another in their computer science education. Recent work has proposed a model of PL transfer to explain how students transfer conceptual knowledge between languages. This model suggests that during the transition, learners automatically effect a transfer of semantics between languages based on syntax similarities. The semantic transfer can be positive for learning when the syntax and semantics of the new PL are similar to the prior PL (True Carryover Constructs) and becomes negative when the syntax of the prior PL is similar to the new PL but the semantics are different (False Carryover Constructs). To avoid negative semantic transfer during learning, this study aims to investigate the effectiveness of explicit instruction in teaching a second PL by conducting two empirical studies. Study 1 was a within-subject study that investigated undergraduate students transitioning from procedural Python to object-oriented Java. Study 2 was a between-subject study that investigated undergraduate students transitioning from object-oriented Python to object-oriented Java at a different university. The results of both studies show that students benefited significantly more on interventions on the False Carryover Constructs categories than the True Carryover Constructs. These findings can help teachers interpret and improve their own classroom practices when teaching second PLs.
21st Koli Calling International Conference on Computing Education Research
Near novice programmers face transfer challenges when learning a second or subsequent programming... more Near novice programmers face transfer challenges when learning a second or subsequent programming language (PL). Although these transfer challenges are known, minimal attention is given to developing a pedagogic model that can guide educators in improving transfer in the classroom. We therefore propose a transfer pedagogy that uses implicit, explicit, and bridging techniques which align with the Model of Programming Language Transfer (MPLT) predictions. To evaluate this pedagogy, we conducted a betweensubject study with a total of 62 second-year undergraduate students who were transitioning from Python to Java. The study was for the duration of the first two and a half weeks of the Java course. We provide the quantitative and qualitative results on the effects of this pedagogy on learning programming concepts in the new Java language. We also report the lecturer's views on using the pedagogy. The results show that students who used the transfer pedagogy performed significantly better in the post-test than the control group in most concepts. The qualitative results showed that 88% of the students appreciated the explicit teaching interventions, with some students noting they helped with avoiding transfer mistakes and made them understand concepts better. The lecturer also appreciated the value of the pedagogy, taking it as an opportunity to help students learn deeper programming concepts. However, they reported some challenges too. These findings suggest that the transfer pedagogy is beneficial and can be of value to second programming language learning. CCS CONCEPTS • Social and professional topics → Computer science education.
Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education
It is a natural part of a student's computing education to transfer from language to language... more It is a natural part of a student's computing education to transfer from language to language, hence adopting to a new programming language (PL) quickly is a necessary skill. Prior work in computer science research mainly brings awareness of the success and difficulties that students face when learning new languages. In addition, work that directly relates to PL transfer mainly concerns experienced programmers problem solving in a new language, evidencing plan transfer. We could not find research attempting to devise a model of PL transfer based on code comprehension. We explore this phenomenon in the context of five university students transitioning from procedural Python to object-oriented Java, over a period of 10 weeks. We analyse the results through the lens of a model of second language acquisition using the notion of Semantic transfer and the Mindshift learning theory (MLT). The findings indicate that during the initial learning stages, learners relied mostly on their syntactic matching between Python and Java and subsequent semantic transfer which affected their learning positively on Carryover concepts and negatively on Changed concepts. Students could not transfer their semantic knowledge on concepts they perceived as Novel. An understanding of the transfer process learners go through during a shift can help inform our pedagogy on how to ease the transition process and achieve an effective learning process, and we provide pointers in this direction.
2020 IEEE Frontiers in Education Conference (FIE)
Full Paper. Research. We discuss possible ways to direct students to right level of introductory ... more Full Paper. Research. We discuss possible ways to direct students to right level of introductory programming. While many schools offer college preparatory or advanced placement courses in computing, there is still, unfortunately, a large part of the "college-ready" population that has no opportunity to learn computing at all before they arrive. Regulation of CS education at the state/province or national level is still rare (but growing). Thus incoming students possess a wide range of skills and knowledge. When coupled with increasing enrollments, this diversity of experience can result in courses having large numbers of both absolute beginners and seasoned coders. Such courses are difficult to teach, intimidate novice students, and bore those with more experience. This can result in low engagement and retention. Unlike mathematics and language arts, introductory courses in CS vary widely from one institution to another in both conceptual material and programming language used. A standard point of entry to college mathematics is a calculus course, with some students instead starting earlier with pre-calculus or an algebra refresher, and others starting out in the second-term calculus course. There is rarely a concern about student skill being hidden by notational or other language differences, because the language of mathematics is close to universal. Similarly, freshman language arts courses in reading and/or writing assume a certain level of skill and maturity of comprehension and expressiveness in the target language; otherwise remedial courses are provided. We investigate placement of incoming first year students into appropriate introductory computer science courses at higher education institutions where there is more than one choice of first course. The goal is to determine the best way to decide which first course would be the most helpful for each student.
Proceedings of the 17th ACM Conference on International Computing Education Research, 2021
Motivation More and more high schools are teaching programming, and in many cases, teachers teach... more Motivation More and more high schools are teaching programming, and in many cases, teachers teach multiple programming languages to the same group of students. Objectives The goal of this paper is to explore the views of high-school teachers on second and subsequent programming languages, including their motivation for teaching multiple languages, their struggles, and their use of transfer strategies when they teach their second or third programming language. Method The study consists of semi-structured interviews with 23 high-school teachers in two European countries. Results Our findings indicate that school pupils face the same issues as university students when moving from first to subsequent languages. Furthermore, the teachers’ attitudes towards second language learning are highly variable, both positive and negative, with some supportive teaching strategies used, but many less helpful ones in evidence too. Discussion Our findings suggest that the value of second language lear...
Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, 2019
We propose a working group to investigate methods of proper placement of university entrance-leve... more We propose a working group to investigate methods of proper placement of university entrance-level students into introductory computer science courses. The main issues are the following. The ability to predict skill in the absence of prior experience The value of programming language neutrality in an assessment instrument Stigma and other perception issues associated with students' performance, especially among groups underrepresented in computer science The impact or potential impact on underrepresented populations (minorities, those with lower socioeconomic status) The outcomes/satisfaction/retention metrics in the major of the paced/tracked students compared to those in one-size-fits-all introductory classes
Proceedings of the 2019 ACM Conference on International Computing Education Research, 2019
As students learn computer science (CS), they will need to transfer skills and understanding from... more As students learn computer science (CS), they will need to transfer skills and understanding from one programming language (PL) to another. Prior research has explored the transition between languages for (mainly experienced) programmers, identifying a number of challenges. I could not find research attempting to devise a model that describes how students' learning of programming concepts is affected during the shift between languages. I propose the first draft of a model to describe PL transfer for relative novices based on the literature and my observations of these students transitioning from procedural Python to Java. In the model, concepts in the new language may be Carryover, Changed or Novel; during the transition, learners automatically effect a transfer of semantics between languages based on matches made between the syntax of the two languages.
Prior research has shown that students face transition challenges between programming languages (... more Prior research has shown that students face transition challenges between programming languages (PL) over the course of their education. We could not find research attempting to devise a model that describes the transition process and how students' learning of programming concepts is affected during the shift. In this paper, we propose a model to describe PL transfer for relative novices. In the model, during initial stages of learning a new language, students will engage in learning three categories of concepts, True Carryover Concepts, False Carryover Concepts, or Abstract True Carryover Concepts; during the transition, learners automatically effect a transfer of semantics between languages based on syntax matching. In order to find support for the model, we conducted two empirical studies. Study 1 investigated near-novice undergraduate students transitioning from procedural Python to object-oriented Java while Study 2 investigated near-novice postgraduate students doing a tra...
Proceedings of the 17th ACM Conference on International Computing Education Research
The recent growth of computing education globally has resulted in a growing number of Computer Sc... more The recent growth of computing education globally has resulted in a growing number of Computer Science Education (CSEd) graduate students. To support and make a global impact in computing education, there is a need for these graduates to be in a diversity of careers/roles both within and beyond academia. Currently pursuing a CSEd PhD requires a leap of faith that one can overcome issues not only associated with pioneering a new discipline within the host institution but also is often undertaken without knowing what career opportunities will be available upon graduation. Surveys conducted in Spring 2020 and 2021 with graduate students and advisors document these challenges [3]. Following these surveys, the project team identified the need to support the growth of research in CS Education. By investigating career pathways for CSEd Graduate students, the need to expand the endeavor and discover what the future holds for CSEdGrad was made clear. This project also seeks to connect with CSEd graduates internationally. The current team leading this initiative comes from the United States, the Caribbean (Puerto Rico), Brazil, Thailand, and UK (via Botswana). Among the research initiatives that the team has undertaken is identifying non-academic career opportunities (jobs, conferences, publication opportunities, and fellowships) for CSEd graduate students. While seeking to promote and share international opportunities in non-academic settings, the researchers are faced with defining CSEd Research, the opportunities that CSEd graduate students can pursue, and how these vary across countries and regions. To gain preliminary insights into existing career opportunities, the team explored five countries (USA, UK, Brazil, Puerto Rico, and Thailand) for four months using online research methods. The data collected included country, type of organization, job description, and job qualification. This data was imported into Excel for detailed analysis. Content analysis was used to code collected data into career and organization categories systematically. Initial categories were generated deductively with the guideline from Amy Ko’s blog [1] on career paths, and new categories evolved as well. These categories were then merged and collapsed through an iterative process that led to developing a CSEd career path mind-map (See figure 1). In total, 83 jobs from 35 different non-academic organizations were reported. Furthermore, 15 career path categories and 6 organization categories emerged from these findings. Among the emerging themes that the team has found are limited opportunities within the developing countries, the varying definitions, and broad requirements for CSEd professions, and the dominant and leading role of the United States and the United Kingdom in CSEd. The research team understands that this can be an opportunity to create and pave the way to new opportunities within the field [2]. This poster seeks to generate a discussion within the ICER community about the progress of the team’s findings, and what the future holds for CSEd Graduate students.
United Kingdom & Ireland Computing Education Research conference.
Students are expected to move from one programming language (PL) to another in their computer sci... more Students are expected to move from one programming language (PL) to another in their computer science education. Recent work has proposed a model of PL transfer to explain how students transfer conceptual knowledge between languages. This model suggests that during the transition, learners automatically effect a transfer of semantics between languages based on syntax similarities. The semantic transfer can be positive for learning when the syntax and semantics of the new PL are similar to the prior PL (True Carryover Constructs) and becomes negative when the syntax of the prior PL is similar to the new PL but the semantics are different (False Carryover Constructs). To avoid negative semantic transfer during learning, this study aims to investigate the effectiveness of explicit instruction in teaching a second PL by conducting two empirical studies. Study 1 was a within-subject study that investigated undergraduate students transitioning from procedural Python to object-oriented Java. Study 2 was a between-subject study that investigated undergraduate students transitioning from object-oriented Python to object-oriented Java at a different university. The results of both studies show that students benefited significantly more on interventions on the False Carryover Constructs categories than the True Carryover Constructs. These findings can help teachers interpret and improve their own classroom practices when teaching second PLs.
21st Koli Calling International Conference on Computing Education Research
Near novice programmers face transfer challenges when learning a second or subsequent programming... more Near novice programmers face transfer challenges when learning a second or subsequent programming language (PL). Although these transfer challenges are known, minimal attention is given to developing a pedagogic model that can guide educators in improving transfer in the classroom. We therefore propose a transfer pedagogy that uses implicit, explicit, and bridging techniques which align with the Model of Programming Language Transfer (MPLT) predictions. To evaluate this pedagogy, we conducted a betweensubject study with a total of 62 second-year undergraduate students who were transitioning from Python to Java. The study was for the duration of the first two and a half weeks of the Java course. We provide the quantitative and qualitative results on the effects of this pedagogy on learning programming concepts in the new Java language. We also report the lecturer's views on using the pedagogy. The results show that students who used the transfer pedagogy performed significantly better in the post-test than the control group in most concepts. The qualitative results showed that 88% of the students appreciated the explicit teaching interventions, with some students noting they helped with avoiding transfer mistakes and made them understand concepts better. The lecturer also appreciated the value of the pedagogy, taking it as an opportunity to help students learn deeper programming concepts. However, they reported some challenges too. These findings suggest that the transfer pedagogy is beneficial and can be of value to second programming language learning. CCS CONCEPTS • Social and professional topics → Computer science education.
Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education
It is a natural part of a student's computing education to transfer from language to language... more It is a natural part of a student's computing education to transfer from language to language, hence adopting to a new programming language (PL) quickly is a necessary skill. Prior work in computer science research mainly brings awareness of the success and difficulties that students face when learning new languages. In addition, work that directly relates to PL transfer mainly concerns experienced programmers problem solving in a new language, evidencing plan transfer. We could not find research attempting to devise a model of PL transfer based on code comprehension. We explore this phenomenon in the context of five university students transitioning from procedural Python to object-oriented Java, over a period of 10 weeks. We analyse the results through the lens of a model of second language acquisition using the notion of Semantic transfer and the Mindshift learning theory (MLT). The findings indicate that during the initial learning stages, learners relied mostly on their syntactic matching between Python and Java and subsequent semantic transfer which affected their learning positively on Carryover concepts and negatively on Changed concepts. Students could not transfer their semantic knowledge on concepts they perceived as Novel. An understanding of the transfer process learners go through during a shift can help inform our pedagogy on how to ease the transition process and achieve an effective learning process, and we provide pointers in this direction.