Pencil Code (programming language)

Last updated

Pencil Code is an educational programming language and website. It allows programming using Scratch-style block coding or CoffeeScript. [1] [2] Code runs directly in the web browser and can be shared with others. The language centers on a model of a pencil programmatically drawing on a 2-dimensional screen, with the pencil cursor visually depicted as a turtle.

Contents

A 2019 study by Deng et al. in an eight-week teaching intervention comparing text-based and block-based environments found that students learning in a mixed environment had improved confidence and computational thinking. [3]

History

Pencil Code was created by David Bau and his son in 2013. It was inspired by Logo, the 1967 programming language for drawing on a screen using a Lisp-like programming language. [4] Google has funded improvements to Pencil Code via Google Summer of Code projects. [5]

Related Research Articles

<span class="mw-page-title-main">Logo (programming language)</span> Computer programming language

Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought.

Multimedia is a form of communication that uses a combination of different content forms, such as writing, audio, images, animations, or video, into a single interactive presentation, in contrast to traditional mass media, such as printed material or audio recordings, which feature little to no interaction between users. Popular examples of multimedia include video podcasts, audio slideshows, and animated videos. Multimedia also contains the principles and application of effective interactive communication, such as the building blocks of software, hardware, and other technologies.

Speech recognition is an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers. It is also known as automatic speech recognition (ASR), computer speech recognition or speech to text (STT). It incorporates knowledge and research in the computer science, linguistics and computer engineering fields. The reverse process is speech synthesis.

<span class="mw-page-title-main">Text editor</span> Computer software used to edit plain text documents

A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.

Computer-assisted language learning (CALL), British, or computer-aided instruction (CAI)/computer-aided language instruction (CALI), American, is briefly defined in a seminal work by Levy as "the search for and study of applications of the computer in language teaching and learning". CALL embraces a wide range of information and communications technology applications and approaches to teaching and learning foreign languages, from the "traditional" drill-and-practice programs that characterised CALL in the 1960s and 1970s to more recent manifestations of CALL, e.g. as used in a virtual learning environment and Web-based distance learning. It also extends to the use of corpora and concordancers, interactive whiteboards, computer-mediated communication (CMC), language learning in virtual worlds, and mobile-assisted language learning (MALL).

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

<span class="mw-page-title-main">Processing</span> Free graphics library

Processing is a free graphics library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.

<span class="mw-page-title-main">NetLogo</span>

NetLogo is a programming language and integrated development environment (IDE) for agent-based modeling.

M-learning, or mobile learning, is a form of distance education where learners use portable devices such as mobile phones to learn anywhere and anytime. The portability that mobile devices provide allows for learning anywhere, hence the term "mobile" in "mobile learning." M-learning devices include computers, MP3 players, mobile phones, and tablets. M-learning can be an important part of informal learning.

Educational technology is the combined use of computer hardware, software, and educational theory and practice to facilitate learning. When referred to with its abbreviation, "EdTech," it often refers to the industry of companies that create educational technology. In EdTech Inc.: Selling, Automating and Globalizing Higher Education in the Digital Age, Tanner Mirrlees and Shahid Alvi (2019) argue "EdTech is no exception to industry ownership and market rules" and "define the EdTech industries as all the privately owned companies currently involved in the financing, production and distribution of commercial hardware, software, cultural goods, services and platforms for the educational market with the goal of turning a profit. Many of these companies are US-based and rapidly expanding into educational markets across North America, and increasingly growing all over the world."

<span class="mw-page-title-main">Argument map</span> Visual representation of the structure of an argument

An argument map or argument diagram is a visual representation of the structure of an argument. An argument map typically includes all the key components of the argument, traditionally called the conclusion and the premises, also called contention and reasons. Argument maps can also show co-premises, objections, counterarguments, rebuttals, and lemmas. There are different styles of argument map but they are often functionally equivalent and represent an argument's individual claims and the relationships between them.

<span class="mw-page-title-main">Mark Guzdial</span>

Mark Joseph Guzdial is a Professor in the College of Engineering at the University of Michigan. He was formerly a professor in the School of Interactive Computing at the Georgia Institute of Technology affiliated with the College of Computing and the GVU Center. He has conducted research in the fields of computer science education and the learning sciences and internationally in the field of Information Technology. From 2001–2003, he was selected to be an ACM Distinguished Lecturer, and in 2007 he was appointed Vice-Chair of the ACM Education Board Council. He was the original developer of the CoWeb, one of the earliest wiki engines, which was implemented in Squeak and has been in use at institutions of higher education since 1998. He is the inventor of the Media Computation approach to learning introductory computing, which uses contextualized computing education to attract and retain students.

Computational thinking (CT) refers to the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms. In education, CT is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute. It involves automation of processes, but also using computing to explore, analyze, and understand processes.

<span class="mw-page-title-main">Computing education</span> Pedagogy of computer science

Computer science education or computing education is the field of teaching and learning the discipline of computer science, and computational thinking. The field of computer science education encompasses a wide range of topics, from basic programming skills to advanced algorithm design and data analysis. It is a rapidly growing field that is essential to preparing students for careers in the technology industry and other fields that require computational skills.

<span class="mw-page-title-main">MIT App Inventor</span> Web application development environment

MIT App Inventor is a high-level block-based visual programming language, originally built by Google and now maintained by the Massachusetts Institute of Technology. It allows newcomers to create computer applications for two operating systems: Android and iOS, which, as of 25 September 2023, is in beta testing. It is free and open-source released under dual licensing: a Creative Commons Attribution ShareAlike 3.0 Unported license and an Apache License 2.0 for the source code. Its target is primarily children and students studying computer programming, similar to Scratch.

<span class="mw-page-title-main">Notebook interface</span> Programming tool blending code and documents

A notebook interface or computational notebook is a virtual notebook environment used for literate programming, a method of writing computer programs. Some notebooks are WYSIWYG environments including executable calculations embedded in formatted documents; others separate calculations and text into separate sections. Notebooks share some goals and features with spreadsheets and word processors but go beyond their limited data models.

ASU VIPLE is a Visual IoT/Robotics Programming Language Environment developed at Arizona State University.

<span class="mw-page-title-main">Catrobat</span> Open source block-based programming language

Catrobat is a block-based visual programming language and Open Source Software non-profit project. First released in 2010 by Wolfgang Slany from the Technical University Graz in Austria. The multidisciplinary team develops the programming language and free apps for teenagers to create their own games, animations, music videos, or all other kinds of apps directly on a smartphone based on the Catrobat framework.

Marina Umaschi Bers is the Augustus Long Professor of Education at Boston College. Bers holds a secondary appointment in Boston College's Department of Computer Science. Bers directs the interdisciplinary DevTech Research Group, which she started in 2001 at Tufts University. Her research involves the design and study of innovative learning technologies to promote children's positive development. She is known for her work in the field of early childhood computer science with projects of national and international visibility. Bers is the co-creator of the free ScratchJr programming language, used by 35 million children, and the creator of the KIBO robotic kit, which has no screens or keyboards.

References

  1. Bau, David; Bau, D. Anthony; Dawson, Mathew; Pickens, C. Sydney (2015-06-21). "Pencil code: block code for a text world". IDC '15: Proceedings of the 14th International Conference on Interaction Design and Children. ACM: 445–448. doi:10.1145/2771839.2771875. ISBN   978-1-4503-3590-4.
  2. Edwards, Luke (2023-06-29). "What is Pencil Code and How Can It Be Used for Teaching? Tips & Tricks". TechLearningMagazine. Retrieved 2024-05-09.
  3. Deng, Wenbo; Pi, Zhongling; Lei, Weina; Zhou, Qingguo; Zhang, Wenlan (2019-10-17). "Pencil Code improves learners' computational thinking and computer learning attitude". Computer Applications in Engineering Education. 28 (1): 90–104. doi:10.1002/cae.22177. ISSN   1061-3773.
  4. Bau, David (2013). Pencil Code : a programming primer (Second ed.). ISBN   978-1-4943-4744-4. OCLC   900971005.
  5. "Google Summer of Code wrap-up post: Pencil Code". Google Open Source Blog. Retrieved 2023-02-11.