
Gary Lewandowski- Xavier University
Gary Lewandowski
- Xavier University
About
50
Publications
17,831
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,127
Citations
Current institution
Publications
Publications (50)
This study examines the extent to which novice computing students with minimal computer science coursework and no training in user interface (UI) evaluation consider UI concepts such as usability, user experience, and the context in which software will be used when evaluating an interface. In analyzing the responses of 149 novice computer science s...
Innate understanding of concurrency helps beginners solve CS problems with multiple processes executing at the same time.
Since logical statements naturally occur in programming and other computing work, educators may hope that all beginning computing students can employ basic logical thinking even if they are not familiar with the formalized mathematical notation. However, Herman and others found that even after being taught logic, students can still fail to correctl...
We asked students to answer a question about the probability of a sequence of events - a soccer team winning at least seven games in an eight-game season, given that the probability of winning each game is one half. While relatively few of the answers were totally correct, nearly all showed understanding of some of the aspects of combining event pr...
This paper investigates what students understand about algorithm efficiency before receiving any formal instruction on the topic. We gave students a challenging search problem and two solutions, then asked them to identify the more efficient solution and to justify their choice. Many students did not use the standard worst-case analysis of algorith...
We report on responses to a series of four questions designed to identify pre-existing abilities related to debugging and troubleshooting experiences of novice students before they begin programming instruction. The focus of these questions include general troubleshooting, bug location, exploring unfamiliar environments, and describing students' re...
This paper reviews the literature related to the learning and teaching of debugging computer programs. Debugging is an important skill that continues to be both difficult for novice programmers to learn and challenging for computer science educators to teach. These challenges persist despite a wealth of important research on the subject dating back...
Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java...
A qualitative analysis of debugging strategies of novice Java programmers is presented. The study involved 21 CS2 students from seven universities in the U.S. and U.K. Subjects "warmed up" by coding a solution to a typical introductory problem. This was followed by an exercise debugging a syntactically correct version with logic errors. Many novice...
As the third in a series of projects investigating common-sense computing – the relevant knowledge that students have before any formal study of computing – we examine stu-dents' commonsense understanding of concurrency. Specif-ically, we replicated (with modifications) an experiment by Ben-David Kolikant. [2] Ben-David Kolikant's data were gathere...
We examine students' commonsense understanding of computer science concepts before they receive any formal instruction in the field. For this study, we asked students on the first day of a CS1 class to describe in English how they would arrange a set of numbers in ascending, sorted order; we then repeated the experiment asking students to sort a li...
We examine students' commonsense understanding of computer science concepts before they receive any formal instruction in the field. For this study, we asked students on the first day of a CS1 class to describe in English how they would arrange a set of numbers in ascending, sorted order; we then repeated the experiment asking students to sort a li...
We examine students' commonsense understanding of com-puter science concepts before they receive any formal in-struction in the field. Specifically, we asked students on the first day of a CS1 class to describe in English how they would arrange a set of numbers in ascending, sorted order. We repeated the experiment with students in an introduc-tory...
We are studying what students know about computer science-related topics before they take formal coursework at the university level. Preliminary results suggest that entering students have a fairly sophisticated understanding of algorithms. We are exploring other central computing topics for similar shared commonsense understanding.
This paper presents a case study of the use of a repeated single-criterion card sort with an unusually large, diverse participant group. The study, whose goal was to elicit novice programmers' knowledge of programming concepts, involved over 20 researchers from four continents and 276 participants drawn from 20 different institutions. In this paper...
Personal Construct Theory [2] describes the basic notions behind a constructivist theory of understanding and learn-ing. The theory suggests learning is a process of building constructs that link concepts together in a way that satisfies current knowledge about the concepts and that allows them to deduce new ideas from the construct. For researcher...
In this paper, we describe activities undertaken at our university to revise our computer science program to develop an environment and curriculum which encourages creative, hands-on learning by our students. Our main changes were the development of laboratory space, increased hands-on problem solving activities in the introductory course, open-end...
Novice programmer knowledge contains a mixture of well-formed, in-transition and muddled conceptual structures. In this paper we describe an analysis of the in-transition and muddled items that are not fully integrated into the novices' cognitive structures. When participants were asked to perform card sorts of programming concepts into categories,...
Students often have difficulty:Writing programs that do what the students intend;Understanding what they have written;Articulating hypotheses about the meaning of what they have written that can be turned into tests to check for correctness, and;Debugging their work once they realize there is a problem.The panelists will discuss four mutually suppo...
A methodology for Web-based application development is presented. The methodology serves as a road map to guide student project development. Project development proceeds in three phases: structural design, detailed design, and implementation. Structural ...
Process journals are informal journals kept by students as they work on a programming project. The goal in using them is to gain qualitative information about the student's problem solving and programming process. This paper presents a qualitative analysis of the journals from a data structures course, categorizing the broad themes found in the jou...
The focus of this panel is the role of computer science faculty in the undergraduate research process. The panel participants will share their personal experiences to highlight different approaches in developing and encouraging undergraduate computer science research.
The focus of this panel is the role of computer science faculty in the undergraduate research process. The panel participants will share their personal experiences to highlight different approaches in developing and encouraging undergraduate computer science research.
This paper describes the implementation of MiniJava, a teaching-oriented programming language closely based on the Java language developed by Sun Microsystems [6]. The core of the MiniJava environment is a restricted subset of the standard Java release ...
In this paper, we describe the formatting guidelines for ACM SIG Proceedings.
Our breadth-first introduction to Computer Science presents the fundamentals of the discipline by engaging students in active learning. In designing and teaching this course we established four goals. First, since problem solving is essential to Computer Science, students should learn to solve problems proficiently in several areas. Second, since C...
Our breadth-first introduction to Computer Science presents the fundamentals of the discipline by engaging students in active learning. In designing and teaching this course we established four goals. First, since problem solving is essential to Computer Science, students should learn to solve problems proficiently in several areas. Second, since C...
Our breadth-first introduction to Computer Science presents the fundamentals of the discipline by engaging students in active learning. In designing and teaching this course we established four goals. First, since problem solving is essential to Computer Science, students should learn to solve problems proficiently in several areas. Second, since C...
. We introduce a new hybrid graph coloring algorithm, which combines a parallel version of Morgenstern's S-Impasse algorithm [26], with exhaustive search. Our goal is progress towards a coloring heuristic that works well without extensive tuning of algorithm parameters. We also contribute new test data arising in five different application domains,...
this paper, we consider an instance of the Course Scheduling Problem to be the following. We are given K courses, N student schedules listing the courses a student wishes to take, a section bound B on the maximum number of students that can be in a section of any given course, and a bound T on the number of time slots available for scheduling secti...
We consider the course scheduling problem when one is given lists of courses students would like to take, a section bound B, and a number of time slots T in which the courses can be scheduled. In this problem we must both assign students to sections of their selected courses, and build a timetable for the sections. This variant on timetabling probl...
We examine a very simple asynchronous model of parallel
computation that assumes the time to compute a task is random, following
some probability distribution. The goal of this model is to capture the
effects of unpredictable delays on processors, due to communication
delays or cache misses, for example. Using techniques from queueing
theory and oc...
We report on experiments with a new hybrid graph coloring algorithm, which combines a parallel version of Morgenstern's S-Impasse algorithm [20], with exhaustive search. We contribute new test data arising in five different application domains, including register allocation and class scheduling. We test our algorithms both on this test data and on...
An abstract is not available.
We examine a very simple asynchronous model of parallel computation that assumes the time to compute a task is random, following some probability distribution. The goal of this model is to capture the effects of unexpected delays on processors.
We examine a very simple asynchronous model of parallel computation that assumes the time to compute a task is random, following some probability distribution. The goal of this model is to capture the effects of unexpected delays on processors.
A package for handling fragment assembly problems that arise in large scale sequencing projects that employ random strategies is described. The authors have developed a package of dynamic data structures and algorithms for assembling and maintaining fragments. The package is geared to large projects where data are produced, assembled, and analyzed...
We examine a very simple asynchronous model of parallel computation that assumes the time to compute a task is random, following some probability distribution. The goal of this model is to capture the effects of unexpected delays on processors. Using techniques from queueing theory and occupancy problems, we use this model to analyze two parallel d...
In the rapidly evolving fields of computing and electrical engineering, many graduate students have little opportunity to learn teaching skills necessary for success in an academic career or to become familiar with the benefits of faculty life. In the combined Electrical and Computer Engineering and Computer Science (ECECS) Department at the Univer...
To address the need for more qualified faculty in engineering programs and to improve the overall educational environment, the University of Cincinnati College of Engineering has established a college-wide Preparing Future Faculty program. The program maintains strong ties with a well-established university-level program but is specifically focused...