Promotion of Educational Effectiveness by Translation-Based Programming Language Learning Using Java and Swift

Promotion of Educational Effectiveness by Translation-Based Programming Language Learning Using Java and Swift

Proceedings of the 50th Hawaii International Conference on System Sciences | 2017 Promotion of Educational Effectiveness by Translation-based Programming Language Learning Using Java and Swift Juhua LI Kazunori Sakamoto Hironori Washizaki Waseda University, Tokyo, National Institute of Informatics Waseda University, Tokyo, Kanto, Japan [email protected] Kanto, Japan [email protected] [email protected] Yoshiaki Fukazawa Waseda University, Tokyo, Kanto, Japan [email protected] Abstract human behavior by drawing on fundamental computer science.” Such learners already possess knowledge about structure, algorithm, and Computer More and more programming tools have been Thinking, which are necessary to solve a problem or created to help people to learn new programming a task. Thus, when learning a new programming languages. Although the number of tools to support language, they tend to focus on the basic grammar of beginning learners has increased, none directly the new programming language. compare different languages. This paper proposes a For such learners, a comparison is an effective translation-based programming learning method that domain-general means of learning [11]. A supports programming language learning for comparison is intended to foster “structural beginners of a new language who are familiar with a alignment” of two objects, consequently allowing different language. Comparing the same code written important common properties to be discovered. Since in the two languages allows learners to discover the process of aligning two representations can commonalities and differences between the two extract a common higher-order relational structure, a languages, understand grammar rules, and comparison can help extract abstract knowledge for a successfully write programs in the new language. wide range of tasks. Because comparison processes Our method is demonstrated using a web-based can promote conceptual learning, it may also assist in educational environment that translates Java into learning a new programming language. Swift. An experiment to evaluate the educational According to Henrik [11], if the same information effectiveness confirms that using a programming of code written in two different representations language educational environment with translation (programming languages) is compared, then the support can aid beginning learners in learning a new relevant relations between the representations can be programming language. extracted, allowing crucial structural features to be understood. In other words, when learning a new language, learners can discover the commonalities 1. Introduction and differences between two languages by comparing the same meaning of code written in two different With the soaring population of programming languages to build knowledge of the grammar rules learners, the number of programming language in the new language. Comparing a new language to a learning tools has rapidly increased. Common familiar language should increase learning programming learning tools include guidebooks, productivity. official documents, tutorial websites, and online However, most current learning tools only include academies. explanations and examples of one specific If a learner is familiar with a general text-based programming language. A solution to this problem is programming language, he or she already has to employ some form of a translation approach. This Computational Thinking [4], which “involves solving paper proposes a translation-based programming problems, designing systems, and understanding language learning method, which provides a URI: http://hdl.handle.net/10125/41166 ISBN: 978-0-9981331-0-2 CC-BY-NC-ND 134 translation between two languages to support to more effectively manage human resources. mainstream learners learning a new language. As an Therefore, if Java can be easily translated into Swift, implementation, an educational environment is this would help Android developers migrate into iOS designed as a web-based programming language developers more smoothly. learning application called Jasmin, which provides The rest of this paper is organized as follows. translation support between two languages. Related works are listed in Section 2, while Section 3 In this research, two ways are used to verify that describes the educational environment design and this environment enhances the understanding and implementation with translation support. Section 4 coding skills of learners: reading comprehension and details the experiment. Section 5 discusses the writing codes. Reading comprehension means the results, and Section 6 concludes the paper as well as knowledge of a piece of code can be understood and provides future work. appropriately applied, whereas writing code means that coding in a new programming language can be 2. Related work constructed to solve a given task. Reading and writing methods are commonly used at almost all universities to assess students’ knowledge levels. Previous works have studied how to handle the Therefore, the research questions in this research translation approach to aid student learning new are: languages. For example, Matsuzawa [3] proposed an RQ1: Compared to common programming educational environment that offers improvements learning tools, does language translation support in over current tools in order to help programming Jasmin promote the learners’ educational learners migrate from a visual language to a text effectiveness when learning a new programming language using Block to Java as an example. They language? developed a system that translates bidirectionally RQ2: Compared to common programming between Block (the block language used here) and language tools, which part of translation support in Java [3]. The results indicate that the environment Jasmin is more useful: initializing knowledge or can act as scaffolding in the migration phase. This starting to program in new languages? research successfully promoted learner’s seamless The results show that an educational environment migration from Block to Java. with translation support can aid beginning learners in Dann [2] also proposed an Alice to Java approach learning new programming languages. Additionally, to encourage students’ continuing to learn computing this environment more effectively promotes in computer science. They transferred an identical understanding the grammar rules of a new Alice program example directly into the Java programming language than initializing coding skills. program to mediate the transfer of concepts. As a demonstration, we translate Java and Swift Consequently, the transfer improved student in Jasmin, which are an Android application achievement in learning Java [19]. developing language and an iOS application Google has also emphasized programming developing language, respectively. We selected these language learning using a translation. Google languages for the following reasons. First, mobile PencilCode [23] provides a translation between two applications have become very popular, and many visual-based programming languages in a people are interested in learning to program using bidirectional way. Another tool Google Blockly [12] these languages. “Of the 19 million software translates the block language to multiple languages developers in the world, 8.7 million are now writing (JavaScript, Python, PHP, Lua, Dart) in a apps targeted for mobile devices, according Evans unidirectional way to support beginning learners’ Data’s recently released Developer Population and migration from visual-based languages to text-based Demographics Study [6]. This represents a doubling languages. of the mobile developer population since 2010 and an Moreover, the number of programming language increase of 700,000 in the last year [6].” The translators between text languages has rapidly population of mobile-minded programmers is expanded. According to Garnelis [20], Transifex definitely increasing. offers a rough translation between two languages to Second, because the Android application market localize applications and access new markets [20]. and the iOS application market have different Qiu [21] developed a programming language platforms (Google Play and Apple Store), each translator from C to C++, and Java to C++ to reuse application must have two versions to satisfy more existing code, improve the quality of the software, users. In many companies, Android developers are and enhance the productivity of software engineers. asked to migrate to iOS developers (and vice versa) 135 These previous works indicate that the demand of giving examples, as pointed out by Torin [22] from translation support has yet to be satisfied. an interview about the Association of Waldorf Additionally, the translation between two languages Schools of North America. He identified that through truly helps learners migrate smoothly from one experience children can generate ideas of some language to another. theories by themselves. For example, over time third- However, much of the current research for grade children who were allowed to go out construct education is mainly focused on translation from buildings on the playground and go field trips were visual-based languages to text-based languages. The able to accurately compare different places and main area of these efforts is introductory education people around the world. Eventually they were able for non-CS students. Research on translation between to expand this knowledge to think about how people text-based languages focuses more on business

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us