Matching Items (3)

Coding for Classrooms: The Changing Landscape of K-12 Computer Science Education

Description

This report is intended to serve as a comprehensive resource for parents, teachers and community members who are interested in learning more about the emergence, direction and scope of the

This report is intended to serve as a comprehensive resource for parents, teachers and community members who are interested in learning more about the emergence, direction and scope of the computer science education movement. Many K-12 school districts begun to develop and facilitate their own computer science education programs, often in the form of extracurricular clubs and classes. However, third-party businesses play a significant role in supplementing classrooms with software and hardware products, professional development services, and instruction services. This report explores the complexity of the computer science education environment by exploring the movement of advocacy for increasing computer science in K-12 schools and analyzing the emergent competitive landscape of for-profit and non-profit businesses. Additionally, the report offers insight to the computer science education landscape in Arizona through the lens of the research study "Computer Science Education in Maricopa County Public School Districts for K-8 Students." This study presents the findings from in-depth interviews with educators about how school-based computer science programs are structured and how they are received by students, parents and teachers. The report also offers broad recommendations for school programs, analyzes the potential for a national model, and discusses next steps for states, businesses and individuals. Keywords: computer science education, K-12 schools, public education, coding, Code.org, Hour of Code

Contributors

Created

Date Created
  • 2016-12

157864-Thumbnail Image.png

Explainable AI in Workflow Development and Verification Using Pi-Calculus

Description

Computer science education is an increasingly vital area of study with various challenges that increase the difficulty level for new students resulting in higher attrition rates. As part of an

Computer science education is an increasingly vital area of study with various challenges that increase the difficulty level for new students resulting in higher attrition rates. As part of an effort to resolve this issue, a new visual programming language environment was developed for this research, the Visual IoT and Robotics Programming Language Environment (VIPLE). VIPLE is based on computational thinking and flowchart, which reduces the needs of memorization of detailed syntax in text-based programming languages. VIPLE has been used at Arizona State University (ASU) in multiple years and sections of FSE100 as well as in universities worldwide. Another major issue with teaching large programming classes is the potential lack of qualified teaching assistants to grade and offer insight to a student’s programs at a level beyond output analysis.

In this dissertation, I propose a novel framework for performing semantic autograding, which analyzes student programs at a semantic level to help students learn with additional and systematic help. A general autograder is not practical for general programming languages, due to the flexibility of semantics. A practical autograder is possible in VIPLE, because of its simplified syntax and restricted options of semantics. The design of this autograder is based on the concept of theorem provers. To achieve this goal, I employ a modified version of Pi-Calculus to represent VIPLE programs and Hoare Logic to formalize program requirements. By building on the inference rules of Pi-Calculus and Hoare Logic, I am able to construct a theorem prover that can perform automated semantic analysis. Furthermore, building on this theorem prover enables me to develop a self-learning algorithm that can learn the conditions for a program’s correctness according to a given solution program.

Contributors

Agent

Created

Date Created
  • 2020

157482-Thumbnail Image.png

A Neural Network Model for a Tutoring Companion Supporting Students in a Programming with Java Course

Description

Feedback represents a vital component of the learning process and is especially important for Computer Science students. With class sizes that are often large, it can be challenging to provide

Feedback represents a vital component of the learning process and is especially important for Computer Science students. With class sizes that are often large, it can be challenging to provide individualized feedback to students. Consistent, constructive, supportive feedback through a tutoring companion can scaffold the learning process for students.

This work contributes to the construction of a tutoring companion designed to provide this feedback to students. It aims to bridge the gap between the messages the compiler delivers, and the support required for a novice student to understand the problem and fix their code. Particularly, it provides support for students learning about recursion in a beginning university Java programming course. Besides also providing affective support, a tutoring companion could be more effective when it is embedded into the environment that the student is already using, instead of an additional tool for the student to learn. The proposed Tutoring Companion is embedded into the Eclipse Integrated Development Environment (IDE).

This thesis focuses on the reasoning model for the Tutoring Companion and is developed using the techniques of a neural network. While a student uses the IDE, the Tutoring Companion collects 16 data points, including the presence of certain key words, cyclomatic complexity, and error messages from the compiler, every time it detects an event, such as a run attempt, debug attempt, or a request for help, in the IDE. This data is used as inputs to the neural network. The neural network produces a correlating single output code for the feedback to be provided to the student, which is displayed in the IDE.

The effectiveness of the approach is examined among 38 Computer Science students who solve a programming assignment while the Tutoring Companion assists them. Data is collected from these interactions, including all inputs and outputs for the neural network, and students are surveyed regarding their experience. Results suggest that students feel supported while working with the Companion and promising potential for using a neural network with an embedded companion in the future. Challenges in developing an embedded companion are discussed, as well as opportunities for future work.

Contributors

Agent

Created

Date Created
  • 2019