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

Programming

Discipline
Institution
Publication Year
Publication
Publication Type

Articles 1 - 30 of 37

Full-Text Articles in Programming Languages and Compilers

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 …


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 …


The Effect Of Using The Gamification Strategy On Academic Achievement And Motivation Towards Learning Problem-Solving Skills In Computer And Information Technology Course Among Tenth Grade Female Students, Mazyunah Almutairi, Prof. Ahmad Almassaad Feb 2022

The Effect Of Using The Gamification Strategy On Academic Achievement And Motivation Towards Learning Problem-Solving Skills In Computer And Information Technology Course Among Tenth Grade Female Students, Mazyunah Almutairi, Prof. Ahmad Almassaad

International Journal for Research in Education

Abstract

This study aimed to identify the effect of using the gamification strategy on academic achievement and motivation towards learning problem-solving skills in computer and information technology course. A quasi-experimental method was adopted. The study population included tenth-grade female students in Al-Badi’ah schools in Riyadh. The sample consisted of 54 students divided into two equal groups: control group and experimental group. The study tools comprised an achievement test and the motivation scale. The results showed that there were statistically significant differences between the two groups in the academic achievement test in favor of the experimental group, with a large effect …


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 …


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 …


Specialization: Do Your Job Well Helping Students Who Are Considering A Career In Programming Know How To Invest Their Time., Scott Pulley Jul 2020

Specialization: Do Your Job Well Helping Students Who Are Considering A Career In Programming Know How To Invest Their Time., Scott Pulley

Marriott Student Review

The article examines the effects of specialization on the hiring process for undergraduates studying programming whether in information systems or computer science.


Android Game, Ryan Weston Jan 2020

Android Game, Ryan Weston

Williams Honors College, Honors Research Projects

The purpose of this project was to create an endless runner game for Android coded in Java and XML and developed in Android Studio. In the game, the player controls a frog that jumps from lily pad to lily pad to avoid logs moving toward the player. The player must also maneuver the lily pads as they can randomly disappear. There are three difficulties in the game that vary the disappearance rate of lily pads as well as the frequency and acceleration rate of the log obstacles. The game also has a scoring system and saves the high score locally …


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 …


Teaching Introductory Programming Concepts Through A Gesture-Based Interface, Lora Streeter May 2019

Teaching Introductory Programming Concepts Through A Gesture-Based Interface, Lora Streeter

Graduate Theses and Dissertations

Computer programming is an integral part of a technology driven society, so there is a tremendous need to teach programming to a wider audience. One of the challenges in meeting this demand for programmers is that most traditional computer programming classes are targeted to university/college students with strong math backgrounds. To expand the computer programming workforce, we need to encourage a wider range of students to learn about programming.

The goal of this research is to design and implement a gesture-driven interface to teach computer programming to young and non-traditional students. We designed our user interface based on the feedback …


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 …


Teaching Tip: The Flipped Classroom, Heng Ngee Mok Oct 2018

Teaching Tip: The Flipped Classroom, Heng Ngee Mok

Heng Ngee MOK

The flipped classroom has been gaining popularity in recent years. In theory, flipping the classroom appears sound: passive learning activities such as unidirectional lectures are pushed to outside class hours in the form of videos, and precious class time is spent on active learning activities. Yet the courses for information systems (IS) undergraduates at the university that the author is teaching at are still conducted in the traditional lecture-in-class, homework-after-class style. In order to increase students’ engagement with the course content and to improve their experience with the course, the author implemented a trial of the flipped classroom model for …


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.


Programming And Problem Solving I, Charity Bryan, Jennifer Purcell, Sandra Jones Oct 2018

Programming And Problem Solving I, Charity Bryan, Jennifer Purcell, Sandra Jones

Computer Science and Information Technology Grants Collections

This Grants Collection for Programming and Problem Solving I was created under a Round Eleven ALG Textbook Transformation Grant.

Affordable Learning Georgia Grants Collections are intended to provide faculty with the frameworks to quickly implement or revise the same materials as a Textbook Transformation Grants team, along with the aims and lessons learned from project teams during the implementation process.

Documents are in .pdf format, with a separate .docx (Word) version available for download. Each collection contains the following materials:

  • Linked Syllabus
  • Initial Proposal
  • Final Report


Discrete Structures (Ksu), Rebecca H. Rutherfoord, Dawn Tatum, Susan Vandeven, Richard Halstead-Nussloch, James Rutherfoord, Zhigang Li Oct 2018

Discrete Structures (Ksu), Rebecca H. Rutherfoord, Dawn Tatum, Susan Vandeven, Richard Halstead-Nussloch, James Rutherfoord, Zhigang Li

Computer Science and Information Technology Grants Collections

This Grants Collection for Discrete Structures was created under a Round Eleven ALG Textbook Transformation Grant.

Affordable Learning Georgia Grants Collections are intended to provide faculty with the frameworks to quickly implement or revise the same materials as a Textbook Transformation Grants team, along with the aims and lessons learned from project teams during the implementation process.

Documents are in .pdf format, with a separate .docx (Word) version available for download. Each collection contains the following materials:

  • Linked Syllabus
  • Initial Proposal
  • Final Report


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 …


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 …


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 …


Infographics: A Practical Guide For Librarians, Darren Sweeper Feb 2017

Infographics: A Practical Guide For Librarians, Darren Sweeper

Sprague Library Scholarship and Creative Works

No abstract provided.


Pop-Up Java: An Augmented Reality Mobile Game To Teach Java, Richard Myers Jan 2017

Pop-Up Java: An Augmented Reality Mobile Game To Teach Java, Richard Myers

Georgia Undergraduate Research Conference

As computers become more and more ubiquitous, it becomes increasingly important and prevalent to teach coding. Coding builds important life skills such as organization, higher order thinking, self-esteem, socialization and teamwork, among many others. However, learning the skills necessary to design and create an efficient program from scratch takes a lot of practice that can often be confusing and frustrating to newcomers.

There are a large number of programming languages in the world, each with their own merits. The TIOBE Programming Community Index calculates the popularity of programming languages by tallying search queries on major search engines, and shows that …


Procedural Generation: An Algorithmic Analysis Of Video Game Design And Level Creation, Logan Bond Jan 2017

Procedural Generation: An Algorithmic Analysis Of Video Game Design And Level Creation, Logan Bond

Honors Theses

Procedural generation is a method for generating mass quantities of data algorithmically rather than manually. One perfect example of this is the recently famous No Man’s Sky, a video game where the entire marketing scheme was structured around its procedurally generated universe. The game’s trailer and advertisements promised its players 18,446,744,073,709,551,616 unique planets[1], all of which were procedurally generated. In other words, the developers did not create exclusive profiles for every single planet, but instead programmed the game in such a way that the planets were built from the code. This method of content creation is the …


Fine-Grained Detection Of Programming Students’ Frustration Using Keystrokes, Mouse Clicks And Interaction Logs, Hua Leong Fwa Jul 2016

Fine-Grained Detection Of Programming Students’ Frustration Using Keystrokes, Mouse Clicks And Interaction Logs, Hua Leong Fwa

Research Collection School Of Computing and Information Systems

Prolonged frustration leads to loss of confidence and eventual disinterest in the learning itself. The modelling of frustration in learning is thus important as it informs on the appropriate time to intervene to sustain the interest and motivation of students. To automatically detect learner’s frustration in a naturalistic learning environment, the novel use of keystrokes, mouse clicks and interaction patterns of students captured within the context of a tutoring system was proposed. The modelling approach was described and a comparison was made between the proposed model using Bayesian Network and the baseline Naïve Bayes model. With the formulation of an …


Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi T. Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe Nov 2015

Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi T. Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe

Publications and Research

Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base code can lead to join points incorrectly falling in or out of the scope of pointcuts. Deciding which pointcuts have broken due to base-code changes is daunting, especially in large and complex systems. We present an automated approach that recommends pointcuts that are likely to require modification due to a certain base-code change and ones that do not. Our hypothesis is that join points selected by a pointcut exhibit common structural characteristics. Patterns describing such commonalities recommend pointcuts that have potentially broken to the developer. The approach …


Contract-Based General-Purpose Gpu Programming, Alexey Kolesnichenko, Christopher M. Poskitt, Sebastian Nanz, Bertrand Meyer Oct 2015

Contract-Based General-Purpose Gpu Programming, Alexey Kolesnichenko, Christopher M. Poskitt, Sebastian Nanz, Bertrand Meyer

Research Collection School Of Computing and Information Systems

Using GPUs as general-purpose processors has revolutionized parallel computing by offering, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to widespread adoption, however, is the difficulty of programming them and the low-level control of the hardware required to achieve good performance. This paper suggests a programming library, SafeGPU, that aims at striking a balance between programmer productivity and performance, by making GPU data-parallel operations accessible from within a classical object-oriented programming language. The solution is integrated with the design-by-contract approach, which increases confidence in functional program correctness by embedding executable program specifications into …


Design, Programming, And User-Experience, Kaila G. Manca May 2015

Design, Programming, And User-Experience, Kaila G. Manca

Honors Scholar Theses

This thesis is a culmination of my individualized major in Human-Computer Interaction. As such, it showcases my knowledge of design, computer engineering, user-experience research, and puts into practice my background in psychology, com- munications, and neuroscience.

I provided full-service design and development for a web application to be used by the Digital Media and Design Department and their students.This process involved several iterations of user-experience research, testing, concepting, branding and strategy, ideation, and design. It lead to two products.

The first product is full-scale development and optimization of the web appli- cation.The web application adheres to best practices. It was …


Teaching Tip: The Flipped Classroom, Heng Ngee Mok Mar 2014

Teaching Tip: The Flipped Classroom, Heng Ngee Mok

Research Collection School Of Computing and Information Systems

The flipped classroom has been gaining popularity in recent years. In theory, flipping the classroom appears sound: passive learning activities such as unidirectional lectures are pushed to outside class hours in the form of videos, and precious class time is spent on active learning activities. Yet the courses for information systems (IS) undergraduates at the university that the author is teaching at are still conducted in the traditional lecture-in-class, homework-after-class style. In order to increase students’ engagement with the course content and to improve their experience with the course, the author implemented a trial of the flipped classroom model for …