James E. Heliotis

dblp:06/2295 · DBLP profile ↗
← Back
11ranked-venue papers
2as first author
1since 2021 · last 2024
0009-0004-2271-1759ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 9 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1Graphics, computer vision, multimedia, augmented reality and games · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Interdisciplinary, comprehensive, and emerging computing
1 paper
Computing education · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 100%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Computing education
AI education
0.212014
Model AI Assignments 2014 · AAAI 2014
Distributed systems
distributed coordination and fault tolerance
0.011982
Language Constructs and Support Systems for Distributed Computing · PODC 1982
Distributed systems › distributed programming
distributed programming models
0.011982
Language Constructs and Support Systems for Distributed Computing · PODC 1982
Distributed systems › distributed system dependability
reliable distributed systems
0.011982
Language Constructs and Support Systems for Distributed Computing · PODC 1982

Methods — techniques the papers use, named apart from their topics

system support · 0.0programming constructs · 0.0
YearPublicationVenuePosition
2024 PLCC: A Tool Set for Teaching Programming Languages Courses
abstract
This is a hands-on laptop-recommended workshop that introduces participants to the PLCC compiler-compiler tool set for building Java-based language interpreters in an upper-level Programming Languages course. Our approach to teaching this course shows how programming language features such as language syntax, variable lifetime, procedure application, parameter passing, recursion, and object-orientation are implemented "under the hood". This workshop is designed for CS educators who want to explore how PLCC can be used to support such an approach.
Stoney Jackson, James E. Heliotis, Timothy V. Fossum
SIGCSE (2)2
2020 Directing Incoming CS Students to an Appropriate Introductory Computer Science Course
abstract
Full Paper. Research. We discuss possible ways to direct students to right level of introductory programming. While many schools offer college preparatory or advanced placement courses in computing, there is still, unfortunately, a large part of the "college-ready" population that has no opportunity to learn computing at all before they arrive. Regulation of CS education at the state/province or national level is still rare (but growing). Thus incoming students possess a wide range of skills and knowledge. When coupled with increasing enrollments, this diversity of experience can result in courses having large numbers of both absolute beginners and seasoned coders. Such courses are difficult to teach, intimidate novice students, and bore those with more experience. This can result in low engagement and retention.Unlike mathematics and language arts, introductory courses in CS vary widely from one institution to another in both conceptual material and programming language used. A standard point of entry to college mathematics is a calculus course, with some students instead starting earlier with pre-calculus or an algebra refresher, and others starting out in the second-term calculus course. There is rarely a concern about student skill being hidden by notational or other language differences, because the language of mathematics is close to universal. Similarly, freshman language arts courses in reading and/or writing assume a certain level of skill and maturity of comprehension and expressiveness in the target language; otherwise remedial courses are provided.We investigate placement of incoming first year students into appropriate introductory computer science courses at higher education institutions where there is more than one choice of first course. The goal is to determine the best way to decide which first course would be the most helpful for each student.
Leo C. Ureel II, James E. Heliotis, Mohsen Dorodchi, Mireilla Bikanga Ada, Victoria Eisele, Megan E. Lutz, Ethel Tshukudu
FIE2
2019 Towards an Ability to Direct College Students to an Appropriately Paced Introductory Computer Science Course
abstract
We propose a working group to investigate methods of proper placement of university entrance-level students into introductory computer science courses. The main issues are the following. The ability to predict skill in the absence of prior experience The value of programming language neutrality in an assessment instrument Stigma and other perception issues associated with students' performance, especially among groups underrepresented in computer science The impact or potential impact on underrepresented populations (minorities, those with lower socioeconomic status) The outcomes/satisfaction/retention metrics in the major of the paced/tracked students compared to those in one-size-fits-all introductory classes
James E. Heliotis, Leo C. Ureel II, Mireilla Bikanga Ada, Mohsen Dorodchi, Victoria Eisele, Megan E. Lutz, Ethel Tshukudu
ITiCSE1
2014 Model AI Assignments 2014
abstract
The Model AI Assignments session seeks to gather and disseminate the best assignment designs of the Artificial Intelligence (AI) Education community. Recognizing that assignments form the core of student learning experience, we here present abstracts of five AI assignments from the 2014 session that are easily adoptable, playfully engaging, and flexible for a variety of instructor needs. Assignment specifications and supporting resources may be found at http://modelai.gettysburg.edu.
Todd W. Neller, Laura E. Brown, Roger L. West, James E. Heliotis, Sean Strout, Ivona Bezáková, Bikramjit Banerjee, Daniel Lucas Thompson
AAAI4
2014 On the efficacy of board game strategy development as a first-year CS project
abstract
We report on a study comparing an open-ended freshman-level CS2 project with a fully specified project of similar difficulty. We employed a randomized, controlled trial methodology. The students needed to use similar data structures and algorithms, presented during lectures, for both projects.
Ivona Bezáková, James E. Heliotis, Sean Strout
SIGCSE2
2013 Programming board game strategies in CS2
abstract
This workshop presents freshman-level projects based on designing and programming player strategies for well-established board games. Unlike modern computerized games, board games are typically discrete, where the game state can be stored in basic data structures, and a variety of search techniques can be used to evaluate possible player moves. Such board games provide a natural context for many introductory Computer Science topics. The strategy component makes the project open-ended, motivating the students to keep improving their code. After appropriate background information is presented, to better understand how the project works from the students' perspective, participants will act as students, brainstorm through a variety of data structures, and develop a small part of a player module.
James E. Heliotis, Ivona Bezáková, Sean Strout
FIE1
2013 Board game strategies in introductory computer science
abstract
We present three open-ended freshman projects where students design and implement their own player strategies for well-established board games: Quoridor by Mirko Marchesi (Gigamic), San Francisco Cable Cars by Dirk Henn (Queen Games), and The aMAZEing Labyrinth by Max J. Kobbert (Ravensburger). Unlike modern computer games, most board games are inherently discrete. For example, the board tends to have a fixed number of allowed positions for the game pieces and every player performs a search through a finite number of possible moves to decide which move to take next. As such, designing a player strategy for a board game provides a very natural context for basic data structures, searching algorithms, and other concepts typically covered in a freshman-level computer science sequence. Furthermore, the project allows for continual improvements to one's strategy, targeting both beginners as well as more advanced programmers.
Ivona Bezáková, James E. Heliotis, Sean Strout
SIGCSE2
2013 Student development of board game strategies in a web-based graphical infrastructure (abstract only)
abstract
We describe the design for a distributed game-playing environment suitable for student software development of player strategies. The framework has three main components: the game server, which runs as a RESTful web service on the Internet, the game client, which runs on the student's computer, and the graphical interface, which runs inside a web browser on the student's computer. Our earlier framework ran all components locally, and in a single programming language. The new framework supports single-user sessions, in which the student-implemented player plays against another, possibly faculty-supplied, software player, or against a human player. It also supports multi-user sessions, in which student players on two or more separate computers can play against each other in a single game. Supported by the NSF, award ID 1044721.
Adam Oest, Ivona Bezáková, James E. Heliotis, Sean Strout
SIGCSE3
2012 Programming board-game strategies in the introductory CS sequence (abstract only)
abstract
Board games provide a natural context for the use of basic data structures and search algorithms taught in a typical introductory CS sequence. Unlike traditionally used programming assignments where students implement the actual game, we provide the game "engine" and ask the students to implement player strategies. The engine graphically displays the current state of the game and cyclically calls the individual player strategies to perform their moves. The students need to apply the same algorithms as if programming the rule checker for the game. And with the added strategy component, the project becomes open-ended, leaving space for continued improvements and experimentation. The poster describes the game we used last academic year, Quoridor by Mirko Marchesi and published by Gigamic Games. The goal of this game for two or four players is to move a piece from one side of a 9x9 grid board to another side, while placing walls that lengthen the opponents' paths to their destinations. The poster discusses Quoridor's relevance for basic data structures and algorithms, for example, breadth-first search. It then elaborates on the possibilities introduced by adding strategies into the picture, including an end-of-term tournament. Supported by the NSF, award ID 1044721.
Ivona Bezáková, James E. Heliotis, Sean Strout, Adam Oest, Paul D. Solt
SIGCSE2
2008 Nifty objects for CS0 and CS1
abstract
No abstract available.
Joe Hummel, Carl Alphonce, Joseph Bergin, Michael E. Caspersen, Stuart A. Hansen, James E. Heliotis, Michael Kölling
SIGCSE6
1982 Language Constructs and Support Systems for Distributed Computing
abstract
This paper describes programming constructs and system support functions that are intended to facilitate the programming of reliable distributed systems. The systems considered include very different kinds of computers communicating through a network. Such a heterogeneous network offers a number of advantages to designers of applications software. Different machines emphasize different capabilities and many problems naturally break down into subproblems that are best solved with specialized resources. There is clearly a need for programming tools that will allow users to exploit this kind of environment.
Carla Schlatter Ellis, Jerome A. Feldman, James E. Heliotis
PODC3