skip to main content
10.1145/2676723.2677230acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Language Migration in non-CS Introductory Programming through Mutual Language Translation Environment

Published: 24 February 2015 Publication History

Abstract

In the past decade, improvements have been made to the environments used for introductory programming education, including by the introduction of visual programming languages such as Squeak and Scratch. However, migration from these languages to text-based programming languages such as C and Java is still a problem. Hence, using the OpenBlocks framework proposed at the Massachusetts Institute of Technology, we developed a system named BlockEditor, which can translate bidirectionally between Block (the block language used here) and Java. We conducted an empirical study of this system in an introductory programming course taken by approximately 100 university students not majoring in computer science. When students were given opportunities to select the language to solve their programming assignments, we traced their selection by tracking working time with BlockEditor or Java for each individual student. The results illustrate the nature of the seamless migration from Block to Java, and show that there is great diversity in the timing and speed of migration to Java by each individual. Additionally, we found that students with low self-evaluation of their skill chose to use Block at a significantly higher rate than did students with high self-evaluation. This suggests that BlockEditor can act as scaffolding for students by promoting mixed programming between Block and Java in their migration phase.

References

[1]
H. Abelson, G. J. Sussman, and J. Sussman. Structure and Interpretation of Computer Programs -- 2nd ed. MIT Press, 1996.
[2]
J. C. Cheung, G. Ngai, S. C. Chan, and W. W. Lau. Filling the gap in programming instruction: a text-enhanced graphical programming environment for junior high students. SIGCSE'09 Proceedings of the 40th ACM technical symposium on Computer science education, New York, NY, USA, 2009.
[3]
S. Cooper, W. Dann, and R. Pausch. Teaching objects-first in introductory computer science. In Proceedings of the 34th SIGCSE technical symposium on Computer science education, SIGCSE'03, pages 191--195, New York, NY, USA, 2003. ACM.
[4]
W. Dann, D. Cosgrove, D. Slater, D. Culyba, and S. Cooper. Mediated transfer: Alice 3 to java. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, SIGCSE'12, pages 141--146, 2012.
[5]
M. Fal and N. Cagiltay. How Scratch Programming May Enrich Engineering Education. In 2nd International Engineering Education Conference(IEEC2012), pages 107--113, 2012.
[6]
Google Inc. Blockly:a visual programming editor. http://code.google.com/p/blockly/, referenced at 2013.03.17.
[7]
B. Harvey and J. Monig. Bringing-no ceiling-to scratch: Can one language serve kids and computer scientists' Constructionism 2010, Paris, 2010.
[8]
D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the future: The story of squeak, a practical smalltalk writtern in itself. Proc. of ACM OOPSLA'97, page 318, 1997.
[9]
S. Kanemune, T. Nakatani, R. Mitarai, S. Fukui, and Y. Kuno. Dolittle - experiences in teaching programming at K12 schools. In Second International Conference on Creating, Connecting and Collaborating through Computing(C5), pages 177--184, 2004.
[10]
A. Kay. Squeak Etoys authoring & media. Viewpoints Research Institute Research Note, 2005.
[11]
C. Lewis. How programming environment shapes perception, learning and goals: logo vs. scratch. In Proceedings of the 41st ACM technical symposium on Computer science education (SIGCSE'10 ), pages 346--350, 2010.
[12]
C. Lewis. What do Students Learn About Programming From Game, Music Video, And Storytelling Projects? In Proceedings of the 43rd ACM technical symposium on Computer science education (SIGCSE'12 ), pages 643--648, 2012.
[13]
J. Maloney, L. Burd, Y. Kafai, N. Rusk, B. Silverman, and M. Resnick. Scratch: a sneak preview. In Proceedings Second International Conference on Creating Connecting and Collaborating through Computing 2004, pages 104--109, 2004.
[14]
Y. Matsuzawa, K. Okada, and S. Sakai. Programming Process Visualizer: A Proposal of the Tool for Students to Observe Their Programming Process. In Innovation and Technology in Computer Science Education (ITiCSE'13), pages 46--51, 2013.
[15]
D. Ozoran, N. Cagiltay, and D. Topalli. Using Scratch In Introduction to Programming Course for Engineering Students. In 2nd International Engineering Education Conference(IEEC2012), pages 125--132, 2012.
[16]
S. Papert. Mindstorms: children, computers, and powerful ideas. Basic Books, Inc., New York, NY, USA, 1980.
[17]
E. Pasternak. Visual programming pedagogies and integrating current visual programming language features. Master's thesis, Carnegie Mellon University Robotics Institute Master's Degree, 2009.
[18]
R. V. Roque. Openblocks: An extendable framework for graphical block programming systems. Master thesis at MIT, 2007.
[19]
Scratch Team Lifelong Kindergarten Group MIT Media Lab. Scratch -imagine.program.share- http://scratch.mit.edu/.
[20]
UNESCO. ICT Curriculum for School / Program of Teacher Development. http://unesdoc.unesco.org/images/0012/001295/129538e.pdf, 2002.
[21]
A. Warth, T. Yamamiya, Y. Ohshima, and W. Scott. Toward a more scalable end-user scripting language. In Proceedings Second International Conference on Creating Connecting and Collaborating through Computing 2008, pages 172--178, 2008.
[22]
J. Wing. Computational Thinking. Communications of the ACM, 49(3):33--35, 2006.
[23]
D. Wood, J. S. Bruner, and G. Ross. The role of tutoring in problem solving. Journal of child psychology and psychiatry, 17(2):89--100, 1976.

Cited By

View all
  • (2024)Reclaiming the Unexplored in Hybrid Visual ProgrammingProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690045(13-25)Online publication date: 17-Oct-2024
  • (2024)Strype: a Versatile Python-like Programming Environment for NovicesProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3678132(1-2)Online publication date: 16-Sep-2024
  • (2024)Investigating the Usability of Coding Applications for Children: Insights from Teacher Interviews2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00016(47-58)Online publication date: 2-Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '15: Proceedings of the 46th ACM Technical Symposium on Computer Science Education
February 2015
766 pages
ISBN:9781450329668
DOI:10.1145/2676723
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 February 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. language migration
  2. programming education
  3. scaffolding
  4. visual programming

Qualifiers

  • Research-article

Conference

SIGCSE '15
Sponsor:

Acceptance Rates

SIGCSE '15 Paper Acceptance Rate 105 of 289 submissions, 36%;
Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)3
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Reclaiming the Unexplored in Hybrid Visual ProgrammingProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690045(13-25)Online publication date: 17-Oct-2024
  • (2024)Strype: a Versatile Python-like Programming Environment for NovicesProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3678132(1-2)Online publication date: 16-Sep-2024
  • (2024)Investigating the Usability of Coding Applications for Children: Insights from Teacher Interviews2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00016(47-58)Online publication date: 2-Sep-2024
  • (2023)Pyrates: Design and Evaluation of a Serious Game Aimed at Introducing Python Programming and Easing the Transition from BlocksACM Transactions on Computing Education10.1145/363906124:1(1-24)Online publication date: 29-Dec-2023
  • (2023)Comparing the use of block‐based and robot programming in introductory programming education: Effects on perceptions of programming self‐efficacyComputer Applications in Engineering Education10.1002/cae.2263731:5(1234-1255)Online publication date: 8-May-2023
  • (2022)StrypeProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 210.1145/3502717.3532155(585-586)Online publication date: 7-Jul-2022
  • (2022)CodeStruct: Design and Evaluation of an Intermediary Programming Environment for Novices to Transition from Scratch to PythonProceedings of the 21st Annual ACM Interaction Design and Children Conference10.1145/3501712.3529733(261-273)Online publication date: 27-Jun-2022
  • (2022)Block-Based Object-Oriented ProgrammingIEEE Transactions on Learning Technologies10.1109/TLT.2022.319031815:4(439-453)Online publication date: 1-Aug-2022
  • (2022)Engaging girls in computer science: gender differences in attitudes and beliefs about learning scratch and pythonComputer Science Education10.1080/08993408.2022.209559333:4(600-620)Online publication date: 6-Jul-2022
  • (2022)Environmental design as a component of block‐based programmingComputer Applications in Engineering Education10.1002/cae.2259131:2(408-420)Online publication date: 23-Dec-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media