Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Anthony Allevato is active.

Publication


Featured researches published by Anthony Allevato.


international computing education research workshop | 2009

Comparing effective and ineffective behaviors of student programmers

Stephen H. Edwards; Jason Snyder; Manuel A. Pérez-Quiñones; Anthony Allevato; Dongkwan Kim; Betsy Tretola

This paper reports on a quantitative evaluation of five years of data collected in the first three programming courses at Virginia Tech. The dataset involves a total of 89,879 assignment submissions by 1,101 different students. Assignment results were partitioned into two groups: scores above 80% (A/B) and scores below 80% (C/D/F). To investigate student behaviors that result in differing levels of achievement, all students who consistently received A/B scores and all students who consistently received C/D/F scores were removed from the dataset. A within-subjects comparison of the scores received by the remaining individuals was performed. Further, time and code-size data that is difficult to compare directly between different courses was normalized. This study revealed several significant results. When students received A/B scores, they started earlier and finished earlier than when the same students received C/D/F scores. They also wrote slightly more program code. They did not appear to spend any more time on their work, however. Approximately two-thirds of the A/B scores were received by individuals who started more than a day in advance of the deadline, while approximately two-thirds of the C/D/F scores were received by individuals who started on the last day or later. One possible explanation is that students who start earlier simply have more time to seek assistance when they get stuck.


technical symposium on computer science education | 2009

Dereferee: exploring pointer mismanagement in student code

Anthony Allevato; Stephen H. Edwards; Manuel A. Pérez-Quiñones

Dynamic memory management and the use of pointers are critical topics in teaching the C++ language. They are also some of the most difficult for students to grasp properly. The responsibility of ensuring that students understand these concepts does not end with the instructors lectures---a library enhanced with diagnostics beyond those provided by the languages run-time system itself is a useful tool for giving students more detailed information when their code fails. We have designed such a toolkit, Dereferee, which students can incorporate into their code with minimal intrusion into the learning process. To demonstrate its effectiveness, we examine C++ code from students in a course that relied solely on the built-in memory management behavior of the language, without any significant additional diagnostic or debugging facilities. We instrument this code with Dereferee in order to explore the causes of errors that result in program crashes and to expose hidden faults that previously lay undetected. Dereferee provided enhanced diagnostics for bugs in 63% of student submissions, and pinpointed the source of 83% of abnormal program terminations. 95% of the students would have received extra diagnostic help from using Dereferee.


technical symposium on computer science education | 2014

Pythy: improving the introductory python programming experience

Stephen H. Edwards; Daniel S. Tilden; Anthony Allevato

Pythy is a web-based programming environment for Python that eliminates software-related barriers to entry for novice programmers, such as installing an IDE or the Python runtime. Using only a web browser, within minutes students can begin writing code, watch it run, and access support materials and tutorials. While there are a number of web-based Python teaching tools, Pythy differs in several respects: it manages student assignment work, including deadlines, turn-in, and grading; it supports live, interactive code examples that instructors can write and students can explore; it provides auto-saving of student work in the cloud, with full, transparent version control; and it supports media-computation-style projects that manipulate images and sounds. Pythy provides a complete ecosystem for student learning, with a user interface that follows a more familiar web browsing model, rather than a developer-focused IDE interface. An evaluation compares student perceptions of Pythy in relation to JES, another student-friendly beginner Python environment. Classroom experiences indicate that Pythy does reduce the novice obstacles that it aims to address.


integrating technology into computer science education | 2013

Sofia: the simple open framework for inventive android applications

Stephen H. Edwards; Anthony Allevato

Mobile application development in general, and the Android platform in particular, are hot topics among educators because of their power to motivate and engage students. Unfortunately, Androids software API is not designed for beginners and presents a number of stumbling blocks to classroom use. Sofia is a new abstraction layer over the Android API that provides a cleaner, simpler, easier to use API for beginners and professionals alike. It includes a novel event dispatch design that eliminates the glue code required by more conventional frameworks, provides a powerful 2D shape package with declarative animation support and physics simulation, streamlines the process of writing multi-activity apps for Android, and addresses a number of other issues that make Android hard to use in introductory courses.


Software - Practice and Experience | 2014

Dereferee: instrumenting C++ pointers with meaningful runtime diagnostics

Anthony Allevato; Stephen H. Edwards

Proper memory management and pointer usage often prove to be the most difficult concepts for students learning C++ to grasp. Compounding this problem is the fact that the compilers and runtime environments traditionally used to introduce these concepts leave much to be desired with regard to generating meaningful diagnostics to assist students in tracking down and fixing memory‐related logical errors. To alleviate this, we have developed Dereferee, an advanced yet thin wrapper around C++ pointers that greatly increases the quality of these runtime diagnostics, but with only a small amount of intrusion into the development process. With regard to performance, memory‐intensive programs will experience execution times approximately 20–30 times slower when using Dereferee, which is comparable with other similar tools. Furthermore, the library has been designed to be customizable and easily disabled to transition codes from development to production.Copyright


frontiers in education conference | 2013

The effects of extra credit opportunities on student procrastination

Anthony Allevato; Stephen H. Edwards

Many techniques have been attempted to encourage students to exercise better time management on class projects, such as staging an assignment into multiple deliverables, requiring students to keep records of the time they spend, and offering extra credit for early completion. This paper reports on a study of the effects of offering extra credit for early completion. Students in an introductory course completed four programming assignments throughout the term. For two assignments, no extra credit was offered. For the other two, students were offered a 10% bonus if they finished at least three days before the deadline. While one might expect this incentive to encourage students to shift their work habits, we found that there was no positive change in their time management. In fact, students started on the assignments where extra credit was offered later than on those where it was not offered. This leads us to believe that there were other pressures or concerns that outweigh the possibility of earning a bonus on an assignment, so that this kind of incentive only helps students who already manage their time well.


research challenges in information science | 2013

A new event dispatch strategy to eliminate dispatch “glue”

Anthony Allevato; Stephen H. Edwards

In statically typed object-oriented languages such as Java, GUI event handling is traditionally handled through listener interfaces or similar types of polymorphic delegation. In the case of events that pass information about their source to the handling method, the programmer is required to perform runtime type checks to determine the true types of the components involved. This produces poorly designed code that contains a second layer of hand-written type-based dispatch before events can actually be handled. In this paper we present an alternative approach that builds this second dispatch layer into the underlying framework. The approach uses run-time reflection and overload resolution to automatically distinguish events based on method argument types, and to implicitly bind them to the event publishers. This approach combines the type safety of a statically typed language with the run-time flexibility of modern dynamic languages and enhances the readability of event handling code.


technical symposium on computer science education | 2012

Motivating CS1/2 students with the android platform (abstract only)

John A. Lewis; Anthony Allevato; Stephen H. Edwards

The use of Android in computing courses is growing. Students find it engaging because it offers a unique opportunity to develop Java apps for mobile devices. Android offers opportunities and challenges in a teaching environment, especially in CS1 and CS2. As a professional-level platform, it incorporates many design idioms that may require students to learn advanced language features earlier. It also introduces logistical complications in setting up development tools and code projects. Existing approaches to software testing and automated grading also must be adapted. This BOF will gather educators interested in using Android in their courses, focusing on issues that arise when balancing the need to teach fundamental concepts with the complexities required to accomplish basic tasks on the Android platform. We look forward to sharing assignments, resources, techniques, and experiences with others interested in Android.


technical symposium on computer science education | 2012

Streamlining project setup in eclipse for both time-constrained and large-scale assignments (abstract only)

Ellen Boyd; Anthony Allevato

Many introductory computer science courses include regular lab sessions that require students to develop short programs that relate to corresponding lecture material. Logistical tasks required for assignment completion, such as project setup and submission, impose certain burdens on students and instructors. Due to time constraints, instructors frequently provide starter files or skeleton projects for students to import into their workspace at the beginning of each lab so that they can feasibly complete the assignment in the required time. Setting up projects in Eclipse to include these files and dependencies still consumes significant time during these labs, however. To eliminate the time spent trying to fix project configuration issues, we have developed a plug-in for Eclipse that allows students directly from within the IDE to download and import multi-file projects corresponding to individual lab assignments. The projects will be automatically imported into the students workspace and will be correctly configured and linked to any required dependencies. The plug-in can also be employed with large-scale programming assignments; as assignments increase in complexity, they may require a non-trivial amount of extra configuration before students can begin work on their solution. With this plug-in, students can now focus primarily on the problem-solving aspect of their work and accomplish all necessary tasks, from initial project configuration to final delivery, without leaving the Eclipse IDE and interrupting their workflow.


educational data mining | 2008

Mining Data from an Automated Grading and Testing System by Adding Rich Reporting Capabilities.

Anthony Allevato; Matthew Thornton; Stephen H. Edwards; Manuel A. Pérez-Quiñones

Collaboration


Dive into the Anthony Allevato's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge