Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Computer Sciences

PDF

Series

Programming

Institution
Publication Year
Publication

Articles 1 - 30 of 65

Full-Text Articles in Physical Sciences and Mathematics

Experience Report: Identifying Common Misconceptions And Errors Of Novice Programmers With Chatgpt, Hua Leong Fwa Apr 2024

Experience Report: Identifying Common Misconceptions And Errors Of Novice Programmers With Chatgpt, Hua Leong Fwa

Research Collection School Of Computing and Information Systems

Identifying the misconceptions of novice programmers is pertinent for informing instructors of the challenges faced by their students in learning computer programming. In the current literature, custom tools, test scripts were developed and, in most cases, manual effort to go through the individual codes were required to identify and categorize the errors latent within the students' code submissions. This entails investment of substantial effort and time from the instructors. In this study, we thus propose the use of ChatGPT in identifying and categorizing the errors. Using prompts that were seeded only with the student's code and the model code solution …


Novus Ex Machina: Realise Your Organisation’S Creative Potential With Ai, Adam Tatarynowicz, Utz Claassen Nov 2023

Novus Ex Machina: Realise Your Organisation’S Creative Potential With Ai, Adam Tatarynowicz, Utz Claassen

Asian Management Insights

Innovation managers must learn how to harness AI’s transformative potential.


Chatgpt, Can You Generate Solutions For My Coding Exercises? An Evaluation On Its Effectiveness In An Undergraduate Java Programming Course, Eng Lieh Ouh, Benjamin Gan, Kyong Jin Shim, Swavek Wlodkowski Jul 2023

Chatgpt, Can You Generate Solutions For My Coding Exercises? An Evaluation On Its Effectiveness In An Undergraduate Java Programming Course, Eng Lieh Ouh, Benjamin Gan, Kyong Jin Shim, Swavek Wlodkowski

Research Collection School Of Computing and Information Systems

In this study, we assess the efficacy of employing the ChatGPT language model to generate solutions for coding exercises within an undergraduate Java programming course. ChatGPT, a large-scale, deep learning-driven natural language processing model, is capable of producing programming code based on textual input. Our evaluation involves analyzing ChatGPT-generated solutions for 80 diverse programming exercises and comparing them to the correct solutions. Our findings indicate that ChatGPT accurately generates Java programming solutions, which are characterized by high readability and well-structured organization. Additionally, the model can produce alternative, memory-efficient solutions. However, as a natural language processing model, ChatGPT struggles with coding …


Achieving High Map-Coverage Through Pattern Constraint Reduction, Yingquan Zhao, Zan Wang, Shuang Liu, Jun Sun, Junjie Chen, Xiang Chen Jan 2023

Achieving High Map-Coverage Through Pattern Constraint Reduction, Yingquan Zhao, Zan Wang, Shuang Liu, Jun Sun, Junjie Chen, Xiang Chen

Research Collection School Of Computing and Information Systems

Testing multi-threaded programs is challenging due to the enormous space of thread interleavings. Recently, a code coverage criterion for multi-threaded programs called MAP-coverage has been proposed and shown to be effective for testing concurrent programs. Existing approaches for achieving high MAP-coverage are based on random testing with simple heuristics, which is ineffective in systematically triggering rare thread interleavings. In this study, we propose a novel approach called pattern constraint reduction (PCR), which employs optimized constraint solving to generate thread interleavings for high MAP-coverage. The idea is to iteratively encode and solve path conditions to generate thread interleavings which are guaranteed …


Itss: Interactive Web-Based Authoring And Playback Integrated Environment For Programming Tutorials, Eng Lieh Ouh, Benjamin Gan, David Lo May 2022

Itss: Interactive Web-Based Authoring And Playback Integrated Environment For Programming Tutorials, Eng Lieh Ouh, Benjamin Gan, David Lo

Research Collection School Of Computing and Information Systems

Video-based programming tutorials are a popular form of tutorial used by authors to guide learners to code. Still, the interactivity of these videos is limited primarily to control video flow. There are existing works with increased interactivity that are shown to improve the learning experience. Still, these solutions require setting up a custom recording environment and are not well-integrated with the playback environment. This paper describes our integrated ITSS environment and evaluates the ease of authoring and playback of our interactive programming tutorials. Our environment is designed to run within the browser sandbox and is less intrusive to record interactivity …


Coach Otto: Creating A Program To Program Weightlifting, Haylee Rawdin Apr 2022

Coach Otto: Creating A Program To Program Weightlifting, Haylee Rawdin

WWU Honors College Senior Projects

This paper contains the software documentation for an app called Coach Otto. Coach Otto is an app that assists coaches in creating individualized Olympic Weightlifting programs for their athletes. The documentation for Coach Otto explores the product in the context of user-centered design. Through the use of a PR/FAQ, User Personas, User Journeys, and User Stories, the document explores who the users are, what challenges they face, and how Coach Otto aims to address those challenges.


Exploratory Programming In The Arts And Humanities [Book Review], Kelly Hammond Jan 2022

Exploratory Programming In The Arts And Humanities [Book Review], Kelly Hammond

Publications and Research

Exploratory Programming is a testament to what open-access can mean, especially in an e-learning environment. Used in full, it is a free course (that relies on free and open software) from a gifted MIT professor whose pedagogy is clear in structure and tone. He scaffolds, promotes predictive thinking, lauds collaborative learning, and urges readers to do not just to read. Used in part, it can be equally powerful.


The Development Of Teaching Case Studies To Explore Ethical Issues Associated With Computer Programming, Michael Collins, Damian Gordon, Dympna O'Sullivan Sep 2021

The Development Of Teaching Case Studies To Explore Ethical Issues Associated With Computer Programming, Michael Collins, Damian Gordon, Dympna O'Sullivan

Conference papers

In the past decade software products have become pervasive in many aspects of people’s lives around the world. Unfortunately, the quality of the experience an individual has interacting with that software is dependent on the quality of the software itself, and it is becoming more and more evident that many large software products contain a range of issues and errors, and these issues are not known to the developers of these systems, and they are unaware of the deleterious impacts of those issues on the individuals who use these systems. The authors of this paper are developing a new digital …


Making The Easy Accessibility Package, Aaron G. Trudeau Apr 2021

Making The Easy Accessibility Package, Aaron G. Trudeau

Honors Projects

The Easy Accessibility Package is a code package for Unity (a game engine bundled with game development software) that is meant to help video game developers quickly and easily make their games accessible to disabled gamers. The two main features I include in the project were remappable controls (changing which button performs which in-game action) and screen reader support (reading on screen text or game status aloud), both of which are vital to making games accessible.

The repository for the project at the time of submission can be found here: https://github.com/trudeaua21/EasyAccessibilityPackage/tree/v0.1-alpha

The up-to-date repository for the project can be found …


Qlens: Visual Analytics Of Multi-Step Problem-Solving Behaviors For Improving Question Design, Meng Xia, Reshika P. Velumani, Yong Wang, Huamin Qu, Xiaojuan Ma Feb 2021

Qlens: Visual Analytics Of Multi-Step Problem-Solving Behaviors For Improving Question Design, Meng Xia, Reshika P. Velumani, Yong Wang, Huamin Qu, Xiaojuan Ma

Research Collection School Of Computing and Information Systems

With the rapid development of online education in recent years, there has been an increasing number of learning platforms that provide students with multi-step questions to cultivate their problem-solving skills. To guarantee the high quality of such learning materials, question designers need to inspect how students’ problem-solving processes unfold step by step to infer whether students’ problem-solving logic matches their design intent. They also need to compare the behaviors of different groups (e.g., students from different grades) to distribute questions to students with the right level of knowledge. The availability of fine-grained interaction data, such as mouse movement trajectories from …


Introduction To Computers And Programming Using Python: A Project-Based Approach, Esma Yildirim, Daniel Garbin, Mathieu Sassolas, Kwang Hyun Kim Jan 2021

Introduction To Computers And Programming Using Python: A Project-Based Approach, Esma Yildirim, Daniel Garbin, Mathieu Sassolas, Kwang Hyun Kim

Open Educational Resources

Welcome to the “Introduction to Computers and Programming using Python: A Project-based Approach”. This book is designed to teach basic programming skills to students who are new to the field of computing using a project-based learning approach. It has been designed to give freedom to the instructor, both in format and topics ultimately used throughout the course. While we provide 13 turnkey projects, it is only expected that 3 or 4 are used over the course of a semester, and all projects are provided both as textual instructions (the student version of this OER) and Jupyter Notebooks (one with and …


Enhancing Developer Interactions With Programming Screencasts Through Accurate Code Extraction, Lingfeng Bao, Shengyi Pan, Zhenchang Xing, Xin Xia, David Lo, Xiaohu Yang Nov 2020

Enhancing Developer Interactions With Programming Screencasts Through Accurate Code Extraction, Lingfeng Bao, Shengyi Pan, Zhenchang Xing, Xin Xia, David Lo, Xiaohu Yang

Research Collection School Of Computing and Information Systems

Programming screencasts have become a pervasive resource on the Internet, which is favoured by many developers for learning new programming skills. For developers, the source code in screencasts is valuable and important. However, the streaming nature of screencasts limits the choice that they have for interacting with the code. Many studies apply the Optical Character Recognition (OCR) technique to convert screen images into text, which can be easily searched and indexed. However, we observe that the noise in the screen images significantly affects the quality of OCRed code.In this paper, we develop a tool named psc2code, which has two components, …


Cyber Security’S Influence On Modern Society, Nicholas Vallarelli May 2020

Cyber Security’S Influence On Modern Society, Nicholas Vallarelli

Honors College Theses

The world of cyber security is evolving every day, and cyber-criminals are trying to take advantage of it to gain as much money and power as possible. As the Internet continues to grow, more people around the world join the Internet. The purpose of this is to see how much of an importance cyber security has and how cyber-criminals are able to utilize the cyberworld for their own personal gain. Research has been done on how the cyberworld got where it is today. Additionally, individual research has been done in an effort to learn how to hack. A hack lab …


Building Something With The Raspberry Pi, Richard Kordel Jan 2020

Building Something With The Raspberry Pi, Richard Kordel

Presidential Research Grants

In 2017 Ryan Korn and I submitted a grant proposal in the annual Harrisburg University President’s Grant process. Our proposal was to partner with a local high school to install a classroom of 20 Raspberry Pi’s, along with the requisite peripherals. In that classroom students would be challenged to design something that combined programming with physical computing. In our presentation to the school we suggested that this project would give students the opportunity to be “amazing.”

As part of the grant, the top three students would be given scholarships to HU and the top five finalists would all be permitted …


Impact Of Robotic Challenges On Fifth Grade Problem Solving, Julie Rankin Aug 2019

Impact Of Robotic Challenges On Fifth Grade Problem Solving, Julie Rankin

Department of Teaching, Learning, and Teacher Education: Dissertations, Theses, and Student Research

This action research project was designed to investigate the impact of educational robotics in a fifth grade rural classroom. The integration of science, technology, engineering, and math in education (STEM) has sparked an increase of robotics in the classroom. The purpose of the study was to determine if problem-solving skills can be impacted through continuing involvement with challenges using various educational robotics and programming tools. The study sought to answer two research questions: (1) How does the introduction of robotics challenges in a fifth-grade classroom impact students’ problem solving skills? (2) How do robotics in the classroom impact student interest …


An International Comparison Of K-12 Computer Science Education Intended And Enacted Curricula, Katrina Falkner, Sue Sentance, Rebecca Vivian, Sarah Barksdale, Leonard Busuttil, Elizabeth Cole, Christine Liebe, Francesco Maiorana, Monica M. Mcgill, Keith Quille Jan 2019

An International Comparison Of K-12 Computer Science Education Intended And Enacted Curricula, Katrina Falkner, Sue Sentance, Rebecca Vivian, Sarah Barksdale, Leonard Busuttil, Elizabeth Cole, Christine Liebe, Francesco Maiorana, Monica M. Mcgill, Keith Quille

Conference Papers

This paper presents an international study of K-12 Computer Science implementation across Australia, England, Ireland, Italy, Malta, Scotland and the United States. We present findings from a pilot study, comparing CS curriculum requirements (intended curriculum) captured through country reports, with what surveyed teachers (n=244) identify as enacting in their classroom (the enacted curriculum). We address the extent that teachers are implementing the intended curriculum as enacted curriculum, exploring specifically country differences in terms of programming languages and CS topics implemented. Our findings highlight the similarities and differences of intended and enacted CS curriculum within and across countries and the value …


Introductory R For Water Resources - Fall 2019 - University Of North Carolina At Chapel Hill, David Gorelick, Gregory Characklis Jan 2019

Introductory R For Water Resources - Fall 2019 - University Of North Carolina At Chapel Hill, David Gorelick, Gregory Characklis

All ECSTATIC Materials

This is all course material for R for Researchers, a one-credit course taught at UNC Chapel Hill in Fall 2019 to introduce upperclassmen and graduate students to the R programming language and apply learned skills in basic water resources applications, as well as other (semi-related) topics of interest to students.

Lecture notes were distributed before (as a subset of full lecture notes) and after lectures, and lectures involved collaborative coding exercises with students in class without any powerpoint material. Course material here includes:

Syllabus: rough schedule and description of lectures

Lectures: pdf lecture notes with embedded code, including …


An Architectural Design And Evaluation Of An Affective Tutoring System For Novice Programmers, Hua Leong Fwa Dec 2018

An Architectural Design And Evaluation Of An Affective Tutoring System For Novice Programmers, Hua Leong Fwa

Research Collection School Of Computing and Information Systems

Affect is prevalent in learning and it influences students’ learning achievement. This paper details the design and evaluation of an Affective Tutoring System (ATS) that tutors student in computer programming. Although most ATSs are purpose built for a specific domain, making adaptation to another domain difficult, this ATS is architected for adaptability and extensibility. This study also addresses a lack of research exploring the theories and methods of integrating affect and learning within the learning process by proposing methods of regulating the negative affect of students. Both quantitative and qualitative techniques were used for evaluation of the effectiveness of the …


Effectiveness Of Physical Robot Versus Robot Simulator In Teaching Introductory Programming, Oka Kurniawan, Norman Tiong Seng Lee, Subhajit Datta, Nachamma Sockalingam, Pey Lin Leong Dec 2018

Effectiveness Of Physical Robot Versus Robot Simulator In Teaching Introductory Programming, Oka Kurniawan, Norman Tiong Seng Lee, Subhajit Datta, Nachamma Sockalingam, Pey Lin Leong

Research Collection School Of Computing and Information Systems

This study reports the use of a physical robot and robot simulator in an introductory programming course in a university and measures students' programming background conceptual learning gain and learning experience. One group used physical robots in their lessons to complete programming assignments, while the other group used robot simulators. We are interested in finding out if there is any difference in the learning gain and experiences between those that use physical robots as compared to robot simulators. Our results suggest that there is no significant difference in terms of students' learning between the two approaches. However, the control group …


Girls Who Code 3rd-5th, Khristina Polivanov Oct 2018

Girls Who Code 3rd-5th, Khristina Polivanov

Honors Expanded Learning Clubs

The goal of the club is to encourage girls to be confident in themselves and their abilities while teaching them basic concepts used in computer science.


Writing A Moral Code: Algorithms For Ethical Reasoning By Humans And Machines, James F. Mcgrath, Ankur Gupta Aug 2018

Writing A Moral Code: Algorithms For Ethical Reasoning By Humans And Machines, James F. Mcgrath, Ankur Gupta

Scholarship and Professional Work - LAS

The moral and ethical challenges of living in community pertain not only to the intersection of human beings one with another, but also our interactions with our machine creations. This article explores the philosophical and theological framework for reasoning and decision-making through the lens of science fiction, religion, and artificial intelligence (both real and imagined). In comparing the programming of autonomous machines with human ethical deliberation, we discover that both depend on a concrete ordering of priorities derived from a clearly defined value system.


Introducing Basic Programming To Pre-University Students: A Successful Initiative In Singapore, Heng Ngee Mok, Vandana Ramachandra Rao Apr 2018

Introducing Basic Programming To Pre-University Students: A Successful Initiative In Singapore, Heng Ngee Mok, Vandana Ramachandra Rao

Research Collection School Of Computing and Information Systems

“Let’s Code!” is an intensive 3-week basic programming course that aims to formally expose pre-university students in Singapore to programming. This course was conducted in blended-learning format, and included lecture videos, self-check quizzes, video conferences, meet-up tutorials and take-home programming assignments. The authors hope to capture the experience gained from running this course for educators who intend to implement similar courses in the future. Besides a detailed description of this course, significant changes that were made based on feedback from participants and members of the teaching team are documented here.


Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo Feb 2018

Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo

Research Collection School Of Computing and Information Systems

Procedural knowledge describes actions and manipulations that are carried out to complete programming tasks. An effective way to document procedural knowledge is programming video tutorials. Existing solutions to adding interactive workflow and elements to programming videos have a dilemma between the level of desired interaction and the efforts required for authoring tutorials. In this work, we tackle this dilemma by designing and building a programming video tutorial authoring system that leverages operating system level instrumentation to log workflow history while tutorial authors are creating programming videos, and the corresponding tutorial watching system that enhances the learning experience of video tutorials …


Software Engineering: Guest Editor's Introduction, Bruce M. Mcmillin Feb 2018

Software Engineering: Guest Editor's Introduction, Bruce M. Mcmillin

Computer Science Faculty Research & Creative Works

Engineering complex systems requires an extensive technical and semantic knowledge. Because of their complexity, components of these systems can interact in unpredictable ways -- sequentially and concurrently….

The three papers in this theme issue have the potential to address the design challenges of complex systems spanning multiple domains and interacting in potentially unexpected ways. The knowledge required goes beyond basic computing concepts and design, to include an examination of interactions and multiple aspects of the application domain. We hope you find these articles interesting and insightful.


Programming: Predicting Student Success Early In Cs1. A Re-Validation And Replication Study, Keith Quille, Susan Bergin Jan 2018

Programming: Predicting Student Success Early In Cs1. A Re-Validation And Replication Study, Keith Quille, Susan Bergin

Articles

This paper describes a large, multi-institutional revalidation study conducted in the academic year 2015-16. Six hundred and ninetytwo students participated in this study, from 11 institutions (ten institutions in Ireland and one in Denmark). The primary goal was to validate and further develop an existing computational prediction model called Predict Student Success (PreSS). In doing so, this study addressed a call from the 2015 ITiCSE working group (the second "Grand Challenge"), to "systematically analyse and verify previous studies using data from multiple contexts to tease out tacit factors that contribute to previously observed outcomes". PreSS was developed and validated in …


A Restful Framework For Writing, Running, And Evaluating Code In Multiple Academic Settings, Christopher Ban Dec 2017

A Restful Framework For Writing, Running, And Evaluating Code In Multiple Academic Settings, Christopher Ban

MS in Computer Science Project Reports

In academia, students and professors want a well-structured and implemented framework for writing and running code in both testing and learning environments. The current limitations of the paper and pencil medium have led to the creation of many different online grading systems. However, no known system provides all of the essential features our client is interested in. Our system, developed in conjunction with Doctor Halterman, offers the ability to build modules from flat files, allow code to be compiled and run in the browser, provide users with immediate feedback, support multiple languages, and offer a module designed specifically for an …


Evaluating Student Perceptions And Learning Outcomes: Differences Between Sla-Able And Non-Sla-Able Introductory Programming Courses, Christina M. Frederick, Matthew B. Pierce, Andrew Griggs, Lulu Sun Sep 2017

Evaluating Student Perceptions And Learning Outcomes: Differences Between Sla-Able And Non-Sla-Able Introductory Programming Courses, Christina M. Frederick, Matthew B. Pierce, Andrew Griggs, Lulu Sun

Publications

Engineering, computer science and subsequently knowledge of programming language is an increasingly vital skill in today’s workforce. First year engineering students are introduced to programming in addition to rigorous course loads in their first year. Second Language Acquisition (SLA) has been applied to programming course content delivery and has shown promise as an effective means of better educating new students. Results will be presented from a NSF funded study conducted over the past two years. SLA was applied to an introductory engineering course that teaches basic programming skills in a Blended learning environment (SLA-aBLe). This study examined four semesters worth …


Understanding Stack Overflow Code Fragments, Christoph Treude, Martin P. Robillard Sep 2017

Understanding Stack Overflow Code Fragments, Christoph Treude, Martin P. Robillard

Research Collection School Of Computing and Information Systems

Code fragments posted in answers on Q&A forums can form an important source of developer knowledge. However, effective reuse of code fragments found online often requires information other than the code fragment alone. We report on the results of a survey-based study to investigate to what extent developers perceive Stack Overflow code fragments to be self-explanatory. As part of the study, we also investigated the types of information missing from fragments that were not self-explanatory. We find that less than half of the Stack Overflow code fragments in our sample are considered to be self-explanatory by the 321 participants who …


Rack: Code Search In The Ide Using Crowdsourced Knowledge, Mohammad Masudur Rahman, Chanchal K. Roy, David Lo Jun 2017

Rack: Code Search In The Ide Using Crowdsourced Knowledge, Mohammad Masudur Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Computing and Information Systems

Traditional code search engines often do not perform well with natural language queries since they mostly apply keyword matching. These engines thus require carefully designed queries containing information about programming APIs for code search. Unfortunately, existing studies suggest that preparing an effective query for code search is both challenging and time consuming for the developers. In this paper, we propose a novel code search tool-RACK-that returns relevant source code for a given code search query written in natural language text. The tool first translates the query into a list of relevant API classes by mining keyword-API associations from the crowdsourced …


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara May 2017

Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling differences between class and interface methods, and analyzing tie-breakers (dispatch precedence) with overriding class methods to preserve type-correctness and confirm semantics preservation. In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive …