skip to main content
10.1145/2047594.2047646acmconferencesArticle/Chapter ViewAbstractPublication PagesiteConference Proceedingsconference-collections
research-article

A minimal, extensible, drag-and-drop implementation of the C programming language

Published: 20 October 2011 Publication History

Abstract

Block languages are visual programming languages based on the metaphor of programming bricks. Block languages such as Scratch, StarLogo and Alice, are becoming fundamental tools to get children interested in computer programming. These environments and environments derived from them, such as BYOB, have all the features needed to be strong candidates for introductory computer science courses and are starting to be used in some introductory university courses. Nonetheless, some computer science educators at college and university level feel that block languages are too toy-like to be used in regular computer science curricula. Standard programming languages, such as C or Java, are still thought of as more appropriate. In this work I will describe a third way to programming languages that can be used for introductory computer science: the visual implementations of relevant subsets of standard programming languages such as C. An initial evaluation showing excellent student acceptance is reported in this paper

References

[1]
Computing Research Association 2011. Taulbee Survey. DOI= http://www.cra.org/uploads/documents/resources/taulbee/CRA-Taulbee-PR-2010-Final.pdf
[2]
PITAC 2005. Computational Science: Ensuring America's Competitiveness. DOI= http://lazowska.cs. washington.edu/computational.pdf.
[3]
DARPA 2010. Computer Science - Science, Technology, Engineering, and Mathematics (CS-STEM) Education Research Announcement (RA). DARPA-RA-10-03.
[4]
ACM, CSTA 2010. Comments on America COMPETEs Act Reauthorization In Response to the House Science and Technology Committee Survey on K-12 STEM Education Programs. DOI= http://www.acm.org/public-policy/competes_survey_final.pdf.
[5]
Woltz, U., Malan, D., Maloney, J. 2010. Starting with Scratch (literally) in CS 1. SIGCSE 2010 Workshop #23. DOI= http://info.scratch.mit.edu/SIGCSE2010Workshop.
[6]
Humphries, T., 2010. CS0 Programming Course using Scratch. Software Engineering Educators' Symposium, Santa Fe, New Mexico.
[7]
Rizvi, M., Humphries, T., Major, D., Jones, M., Lauzun, H., 2011. A CS0 course using Scratch. CCSC Conference. Journal of Computing Sciences in Colleges, volume 26, 3.
[8]
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., Kafai, Y., 2009. Scratch: Programming for All. In Communications of ACM, 11.
[9]
Harvey, B., Monig, J., 2010. Bringing 'No Ceiling' to Scratch: Can One Language Serve Kids and Computer Scientists? In proceedings of Constructionism 2010.
[10]
Federici, S. & Stern, L. 2011. A Constructionist Approach to Computer Science. In S. Barton et al. (Eds.), Proceedings of Global Learn Asia Pacific 2011 (pp. 1352--1361). AACE.
[11]
Federici, S., 2011. USER-CENTERED COMPUTER SCIENCE - High-ceiling and Low-floor Approaches to Programming Languages and Algorithms. In Proceedings of CSEDU 2011, Volume 1, pp. 340--348. Noordwijkerhout, The Netherlands, SciTePress.
[12]
Malan, D. J., Leitner, D., 2007. Scratch for Budding Computer Scientists. In proceedings of SIGCSE '07. Convington, Kentucky, USA.
[13]
Stern, L., Sandergaard, H., Naish, L., 1999. A Strategy for Managing Content Complexity in Algorithm Animation. ACM SIGCSE Bulletin, Volume 31, Issue 3.

Cited By

View all
  • (2024)Extending Jupyter with Multi-Paradigm EditorsProceedings of the ACM on Human-Computer Interaction10.1145/36602478:EICS(1-22)Online publication date: 17-Jun-2024
  • (2023)Improvement and Evaluation of a Block-based Language Environment for Introductory C# Programming Course2023 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE)10.1109/TALE56641.2023.10398306(1-6)Online publication date: 28-Nov-2023
  • (2020)Computational ThinkingHandbook of Research on Tools for Teaching Computational Thinking in P-12 Education10.4018/978-1-7998-4576-8.ch006(139-157)Online publication date: 2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGITE '11: Proceedings of the 2011 conference on Information technology education
October 2011
340 pages
ISBN:9781450310178
DOI:10.1145/2047594
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: 20 October 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. BYOB
  2. block languages
  3. programming languages
  4. scratch
  5. visual programming

Qualifiers

  • Research-article

Conference

SIGITE' 11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 176 of 429 submissions, 41%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Extending Jupyter with Multi-Paradigm EditorsProceedings of the ACM on Human-Computer Interaction10.1145/36602478:EICS(1-22)Online publication date: 17-Jun-2024
  • (2023)Improvement and Evaluation of a Block-based Language Environment for Introductory C# Programming Course2023 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE)10.1109/TALE56641.2023.10398306(1-6)Online publication date: 28-Nov-2023
  • (2020)Computational ThinkingHandbook of Research on Tools for Teaching Computational Thinking in P-12 Education10.4018/978-1-7998-4576-8.ch006(139-157)Online publication date: 2020
  • (2020)Computational Pedagogy: Block Programming as a General Learning ToolComputer Supported Education10.1007/978-3-030-58459-7_11(211-235)Online publication date: 10-Nov-2020
  • (2018)Comparing novice programing environments for use in secondary educationInternational Journal of Technology Enhanced Learning10.5555/3202163.320216610:1-2(44-72)Online publication date: 15-Dec-2018
  • (2018)Effect of Scratch on 5th Graders’ Algorithm Development and Computational Thinking SkillsTurkish Journal of Computer and Mathematics Education (TURCOMAT)10.16949/turkbilmat.399588Online publication date: 28-Feb-2018
  • (2018)Transitioning from Block-Based to Text-Based Programming Languages2018 International Conference on Learning and Teaching in Computing and Engineering (LaTICE)10.1109/LaTICE.2018.000-5(57-64)Online publication date: Apr-2018
  • (2018)Visual and textual programming languages: a systematic review of the literatureJournal of Computers in Education10.1007/s40692-018-0101-55:2(149-174)Online publication date: 15-Mar-2018
  • (2014)Novice Programming Environments. Scratch & App InventorProceedings of the 2014 Workshop on Interaction Design in Educational Environments10.1145/2643604.2643613(1-7)Online publication date: 9-Jun-2014
  • (2013)An interdisciplinary project in sustainable development based on modern visual programming environments and web 2.0 technologies2013 3rd Interdisciplinary Engineering Design Education Conference10.1109/IEDEC.2013.6526780(163-167)Online publication date: Mar-2013
  • 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

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media