Does Native Language Play a Role in Learning a Programming Language?
Total Page:16
File Type:pdf, Size:1020Kb
Does Native Language Play a Role in Learning a Programming Language? Adalbert Gerald Soosai Raj Kasama Ketsuriyonk Department of Computer Sciences and Education Department of Computer Sciences University of Wisconsin-Madison University of Wisconsin-Madison [email protected] [email protected] Jignesh M. Patel Richard Halverson Department of Computer Sciences Department of Educational Leadership and Policy Analysis University of Wisconsin-Madison University of Wisconsin-Madison [email protected] [email protected] ABSTRACT 1 INTRODUCTION Computer Science (CS) is taught in India, using English as the Students in India learn their subjects during their K-12 (kinder- medium of instruction, to students whose native language is not garten (K) through twelh grade (12) ) either in English or their na- English. is places a high cognitive load on students who learn tive/rst language (i.e., the language that a person has spoken from programming for the rst time and who are not very procient in earliest childhood). is choice of language depends on whether the English. e problems these students face become even harder since student studies in an English-medium school or a native-language- learning to program can be an incredibly dicult task. Our study medium school during their K-12. Although there are two mediums aims to nd out if a student’s native language has any eect on the of instruction during K-12, almost all the STEM (Science, Tech- student’s ability to learn programming. We taught linked list, a basic nology, Engineering and Mathematics) subjects in undergraduate concept in CS, to two groups of undergraduate students for a week education are taught mostly in English [1, 12]. Computer Science, in Tamil Nadu, India. We used English to teach one group of students one of the STEM subjects, is also taught in Indian colleges in Eng- and English and Tamil (the native language in Tamil Nadu) to teach lish. e main reason for teaching CS in English is because soware the other group. Our intervention consisted of three lectures and companies in India use English as their language of communica- one live-coding session. We collected quantitative and qualitative tion as most of them are aliated with U.S. based companies [3]. data using technical tests and open-ended feedback respectively. erefore, students who aren’t very comfortable in English (e.g., We found that although teaching programming using both English students who studied in a Tamil-medium school during their K-12 and Tamil is no dierent when compared to using only English and students who aren’t procient with English even though they with respect to student learning, students have expressed positive may have studied in an English medium school) nd it dicult opinions about teaching and learning CS using two languages. to understand programming concepts since the subject is already new to them and they are also forced to learn it in a language that CCS CONCEPTS they are not comfortable with [18, 22]. As a result, these students •Social and professional topics ! Computer science educa- end up failing their programming courses, and eventually develop tion; inferiority complexes about their programming abilities [17]. Our research started with the following question: Can we re- KEYWORDS duce the diculties faced by these students by teaching them CS using both English and their native language? To answer this CS Education, Native Language, Bilingual Education question and to beer understand the impact of the medium of ACM Reference format: instruction to teach CS, we conducted an experiment where we Adalbert Gerald Soosai Raj, Kasama Ketsuriyonk, Jignesh M. Patel, and Richard taught programming using both Tamil and English to a group of Halverson. 2018. Does Native Language Play a Role in students (experimental group) whose native language was Tamil. Learning a Programming Language?. In Proceedings of SIGCSE ’18: e 49th We also taught programming to another set of students (control ACM Technical Symposium on Computing Science Education, Baltimore , MD, group) only in English even though their native language was also USA, February 21–24, 2018 (SIGCSE ’18), 6 pages. Tamil. We used English along with Tamil to teach the experimental DOI: 10.1145/3159450.3159531 group since we believe that even though Tamil may help students Permission to make digital or hard copies of all or part of this work for personal or to beer understand programming concepts, English is needed for classroom use is granted without fee provided that copies are not made or distributed them to communicate with other programmers around the world. for prot or commercial advantage and that copies bear this notice and the full citation Moreover since the documentation of the programming languages on the rst page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permied. To copy otherwise, or republish, (e.g., K&R C [13]) and the online programming forums (e.g., Stack to post on servers or to redistribute to lists, requires prior specic permission and/or a Overow) are in English, it is very important for these students to fee. Request permissions from [email protected]. learn English along with programming. SIGCSE ’18, Baltimore , MD, USA © 2018 ACM. 978-1-4503-5103-4/18/02...$15.00 DOI: 10.1145/3159450.3159531 SIGCSE ’18, February 21–24, 2018, Baltimore , MD, USA Soosai Raj, Ketsuriyonk, Patel, and Halverson To teach CS using two languages, we use techniques like code- bubble sort using either C or Pascal to these students, and reported switching [8] and translanguaging [9, 16] while communicating with that Chinese-medium students appear to understand programming the students. Code-switching is a technique of alternating between concepts beer than their English-medium counterparts. In our two or more languages in the same conversation. Code-switching, study, the students were not separated into two groups based on especially from the secondary to the primary/native language helps their medium of instruction during K-12 since CS is taught using the students to focus, clarify and reinforce lesson materials that English as the medium of instruction in undergraduate colleges in leads to beer understanding of the subject [8]. Translanguaging India, irrespective of the students’ prior medium of instruction. is a pedagogical practice where certain aspects of the pedagogy Boulet studied the role of language in teaching and learning (e.g., classroom discussion) are done in the primary language and of Mathematics [4]. e author addresses some specic issues other aspects (e.g., writing, exams, etc.) are done in the secondary pertaining to languages that students use to dene mathematical language. is helps the students to gain a deeper understanding terms to read and interpret mathematical notations, and to describe of the subject maer and to improve their prociency with the mathematical processes. e teacher’s role to foster productive secondary language [2]. mathematical discourse in the classroom using their language as a e reason why bilingualism will be benecial in CS is because tool is also highlighted. In our study too, we used all the technical it is one of the subjects where students will be greatly beneted terms in CS as it is in English. For example, the terms like linked if they understand the meaning of keywords. Many of the con- lists, arrays, pointers, structures, etc, were used as they are used in cepts in programming languages would be easy to remember and English. Tamil was used only to explain the programming concepts. recall if students understood the meaning of those words in English. Probyn interviewed some teachers in South Africa who use Eng- Examples of such concepts/keywords are static, abstract, virtual, lish along with Xhosa, an ocial South African language, to teach inheritance, polymorphism, encapsulation, etc. e number of non- Science [22, 23]. e study shows that the language of learning native speakers of the English language (as of 2003) around the and teaching frequently creates a barrier to learning when it is not whole world outnumbered the native speakers by a ratio of 3 : 1 [6]. the native language of the learners. e benets of code-switching We consider our study to be a small rst step towards broaden- between the two languages for increased comprehension among ing the impact of computing education not just to predominantly students is also highlighted. We consider our study as an extension English-speaking regions but to the entire world. to this study where we try to nd if the vernacular has any eect on learning programming, mainly by measuring student learning using pre-and-post technical tests. 2 RELATED WORK Fennema-Bloom studied the value of naturally occuring code- Pal and Iyer analyzed the eects of medium of instruction on switching during bilingual content instruction in Mandarin/English acquiring programming abilities among students in North India among non-traditional immigrant high school students [8]. e au- whose native language is mostly Hindi [19–21]. Programming was thor found that code-switching is a valuable pedagogic tool used by taught to two groups of rst-year undergraduate students from bilingual teachers to make content more comprehensible. Our work Hindi-medium background (i.e., students who studied in Hindi- targets on nding the value of code-switching for CS Education. medium schools during their K-12) using English-only, and Hindi- only medium of instruction. e programming abilities of the two 3 RESEARCH QUESTIONS groups of students were tested and compared, and it was found that Our research aims at addressing the following questions: the students from Hindi-medium background learnt programming (1) Does using the native language (Tamil) along with English for beer when they were taught in Hindi when compared to when teaching programming have any eect on student learning when they were taught in English.