16 research outputs found
Comparing Text-based, Blocks-based, and Hybrid Blocks/Text Programming Tools
ABSTRACT This dissertation investigates the comparative affordances and drawbacks of blocks-based, text-based, and hybrid blocks/text introductory programming tools. Blocks-based programming environments are growing in popularity and are increasingly being used in formal introductory programming contexts. To date, much of the work evaluating such tools has focused on their effectiveness in out-of-school contexts and emphasized engagement and attitudinal measures over content mastery. Given their growing presence in classrooms, it is important to understand the benefits and limitations of the use of the blocks-based programming approach in formal learning contexts relative to text-based or hybrid blocks/text alternatives. This dissertation will carry out a quasi-experimental study in high school computer science classrooms to answer questions related to the impact of blocks-based, text-based, and hybrid blocks/text introductory tools, assess the suitability of such tools for preparing students for future computer science learning opportunities, and explore the design space between blocks-based and text-based programming. The goal of this work is to better understand the tools we are using to introduce today's learners to computer science and lay the foundation for creating the tools of tomorrow
Student engagement is key to broadening participation in CS
© 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM. The Mobile CS Principles (Mobile CSP) course is one of the NSF-supported, College Board-endorsed curricula for the new Computer Science Principles AP course. Since 2013, the Mobile CSP project has trained more than 700 teachers, and the course has been offered to more than 20,000 students throughout the United States. The organizing philosophy behind the Mobile CSP course is that student engagement in the classroom is the key to getting students, especially those traditionally underrepresented in CS, interested in pursuing further study and careers in CS. The main strategies used to engage Mobile CSP students are: (1) a focus on mobile computing throughout the course, taking advantage of current student interest in smartphones; (2) an emphasis on getting students building mobile apps from day one, by utilizing the highly accessible App Inventor programming language; and (3) an emphasis on building creative,\u27socially useful\u27 apps to get students thinking about ways that computing can help their communities. In this paper we present and summarize two years of data of various types (i.e., student surveys, teacher surveys, objective assessments, and anecdotal reports from students and teachers) to support the hypothesis that engagement of the sort practiced in the Mobile CSP course not only helps broaden participation in CS among hard-to-reach demographics, but also provides them with a solid grounding in computer science principles and practices
How Novices Use LLM-Based Code Generators to Solve CS1 Coding Tasks in a Self-Paced Learning Environment
As Large Language Models (LLMs) gain in popularity, it is important to
understand how novice programmers use them. We present a thematic analysis of
33 learners, aged 10-17, independently learning Python through 45
code-authoring tasks using Codex, an LLM-based code generator. We explore
several questions related to how learners used these code generators and
provide an analysis of the properties of the written prompts and the generated
code. Specifically, we explore (A) the context in which learners use Codex, (B)
what learners are asking from Codex, (C) properties of their prompts in terms
of relation to task description, language, and clarity, and prompt crafting
patterns, (D) the correctness, complexity, and accuracy of the AI-generated
code, and (E) how learners utilize AI-generated code in terms of placement,
verification, and manual modifications. Furthermore, our analysis reveals four
distinct coding approaches when writing code with an AI code generator: AI
Single Prompt, where learners prompted Codex once to generate the entire
solution to a task; AI Step-by-Step, where learners divided the problem into
parts and used Codex to generate each part; Hybrid, where learners wrote some
of the code themselves and used Codex to generate others; and Manual coding,
where learners wrote the code themselves. The AI Single Prompt approach
resulted in the highest correctness scores on code-authoring tasks, but the
lowest correctness scores on subsequent code-modification tasks during
training. Our results provide initial insight into how novice learners use AI
code generators and the challenges and opportunities associated with
integrating them into self-paced learning environments. We conclude with
various signs of over-reliance and self-regulation, as well as opportunities
for curriculum and tool development.Comment: 12 pages, Peer-Reviewed, Accepted for publication in the proceedings
of the 2023 ACM Koli Calling International Conference on Computing Education
Researc
Block-based syntax from context-free grammars
Block-based programming systems employ a jigsaw metaphor to write programs. They are popular in the domain of programming education (e.g., Scratch), but also used as a programming interface for end-users in other disciplines, such as arts, robotics, and configuration management. In particular, block-based environments promise a convenient interface for Domain-Specific Languages (DSLs) for domain experts who might lack a traditional programming education. However, building a block-based environment for a DSL from scratch requires significant effort. This paper presents an approach to engineer block-based language interfaces by reusing existing language artifacts. We present Kogi, a tool for deriving block-based environments from context-free grammars. We identify and define the abstract structure for describing block-based environments. Kogi transforms a context-free grammar into this structure, which then generates a block-based environment based on Google Blockly. The approach is illustrated with four case studies, a DSL for state machines, Sonification Blocks (a DSL for sound synthesis), Pico (a simple programming language), and QL (a DSL for questionnaires). The results show that usable block-based environments can be derived from context-free grammars, and with an order of magnitude reduction in effort
Establishing an international computational network for librarians and archivists
Research and experimentation are underway in libraries, archives, and research institutions on various digital strategies, including computational methods and tools, to manage "Collections as Data." This involves new ways for librarians and archivists to manage, preserve, and provide access to their digital collections. A major component in this ongoing process is the education and training needed by information professionals to function effectively in the 21st century. Accessible and transferable infrastructure is a key requirement in creating a network of collaboration for information professionals to fully realize the full potential of managing "Collections as Data." Elements needed include: 1. Open source research and educational platforms to remove barriers to access to curation tools and resources. These are needed to deliver and share computational educational programs. 2. Creation of a Cloud-based student-learning environment. 3. Development of Open Source software architectures that use computational infrastructure. 4. Exploration of new pedagogies for educating librarians and archivists in computational methods and tools. 5. Establishment of a community of practice for developing collaborative projects, and liaising with the wider international iSchool community and practitioners in the field. Our "Blue Sky" proposal seeks to explore a number of these challenges (infrastructure, computation, collaboration, learning) that stimulate the iSchool research community and have the potential to jumpstart international collaborative networks. The goal is to establish an international computational network for supporting librarians and archivists, akin to the existing Sloan Foundation funded "Data Curation Network", which seeks to model a cross-institutional staffing approach for curating research data in digital repositories.Ope
Situating Programming Abstractions in a Constructionist Video Game
Research on the effectiveness of introductory programming environments often relies on post-test measures and attitudinal surveys to support its claims; but such instruments lack the ability to identify any explanatory mechanisms that can account for the results. This paper reports on a study designed to address this issue. Using Noss and Hoyles' constructs of webbing and situated abstractions, we analyze programming novices playing a program-to-play constructionist video game to identify how features of introductory programming languages, the environments in which they are situated, and the challenges learners work to accomplish, collectively affect novices' emerging understanding of programming concepts. Our analysis shows that novices develop the ability to use programming concepts by building on the suite of resources provided as they interact with the computational context of the learning environment. In taking this approach, we contribute to computer science education design literature by advancing our understanding of the relationship between rich, complex introductory programming environments and the learning experiences they promote