Network


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

Hotspot


Dive into the research topics where Ben Stephenson is active.

Publication


Featured researches published by Ben Stephenson.


Archive | 2013

Searching and Sorting

Tom Jenkyns; Ben Stephenson

This chapter explores two very practical problems: searching and sorting. We consider Linear Search and (two versions of) Binary Search. Binary trees are used to describe the search process. Binary search is much, much better but requires sorted input. We give examples of several sorting strategies: selection sorts, exchange sorts, and partition sorts. A binary tree produces a lower bound on the number of key comparisons that must be done in a worst case and in the average case.


computational intelligence and games | 2011

User-preference-based automated level generation for platform games

Nick Nygren; Jörg Denzinger; Ben Stephenson; John Aycock

Level content generation in the genre of platform games, so far, has focused primarily on the typical, tactile-skill based levels with simple left to right movement. In this paper, we present a level generation method that expands these standard kinds of levels by integrating puzzle based content that requires the player to explore the level in order to solve it. With these choices comes the need to elicit what kind of level a user would like to play at the current time, which is also covered by our level generation system.


conference on object-oriented programming systems, languages, and applications | 2003

Multicodes: optimizing virtual machines using bytecode sequences

Ben Stephenson; Wade Holst

A virtual machine optimization technique that makes use of bytecode sequences is introduced. The process of determining candidate sequences is discussed and performance gains achieved when applied to a Java interpreter are presented. The suitability of this optimization for JVMs that perform just-in-time compilation is also discussed.


parallel symbolic computation | 2007

Multiprocessed parallelism support in ALDOR on SMPs and multicores

Marc Moreno Maza; Ben Stephenson; Stephen M. Watt; Yuzhen Xie

We report on a high-level categorical parallel framework, written in the Aldor language, to support high-performance computer algebra on symmetric multi-processors and multi-core processors. This framework provides functions for dy-namic process management and data communication and synchronization via shared memory segments. A simple interface for user-level scheduling is also provided. Packages are developed for serializing and de-serializing high-level Al-dor objects, such as sparse multivariate polynomials, into arrays of machine integers for data transfer. Our bench-mark performance results show this framework is practically efficient for coarse-grained parallel symbolic computations.


technical symposium on computer science education | 2009

Visual examples of recursion

Ben Stephenson

Because recursion is generally introduced early in the curriculum, the range of problems that can be used to motivate its study is limited. We describe three interesting visual problems that use recursion effectively. Each problem demonstrates the utility of recursion in an engaging way while being appropriate for students nearing the end of CS1.


conference on object-oriented programming systems, languages, and applications | 2009

Using python and QuickDraw to foster student engagement in CS1

Ben Stephenson

Most students enrolling in introductory computer science courses today have grown up working exclusively with graphical user interfaces. Through this experience, they have come to expect computers to be reasonably intuitive and easy to use. Yet, when students enter an introductory course in computer science, it is commonplace for them to work on exclusively text based assignments using complex programming languages. This paper describes our experience using Python and QuickDraw when teaching CS1. We have found that using these tools engages students by allowing them to quickly complete assignments that solve interesting problems and generate visually interesting results, without requiring excessive exposure to low level concepts or the use of complex graphical libraries. In our experience, students get greater satisfaction from working on such assignments, and this encourages them to spend additional time and effort learning the concepts that each assignment is designed to reinforce. In addition, using these tools presents a modern image for the discipline while also providing opportunities for students to be creative, helping to overcome the stereotype that computer science is sterile and boring.


conference on object-oriented programming systems, languages, and applications | 2004

Advancements in multicode optimization

Ben Stephenson; Wade Holst

In previous work, we have shown that multicodes can be used to improve the performance of Java applications. We extend that work by both implementing more multicodes and considering multicodes of greater length. This has resulted in significantly larger performance gains than those that have been achieved previously for some benchmarks.


Journal of Computing Sciences in Colleges | 2014

Teaching assistant in residence: a novel peer mentorship program for less experienced teaching assistants

Ben Stephenson; Andrew Kuipers; Rosa Karimi Adl; Flora Stephenson

Each year approximately 70 graduate teaching assistants (TAs) support the delivery of the undergraduate computer science program at the University of Calgary. During the 2012-2013 academic year, a novel TA mentorship program was initiated for these TAs. An experienced teaching assistant with a demonstrated record of excellence in teaching was hired to serve as the TA in Residence. This graduate student provided training and advice to new teaching assistants, including classroom visits where the TA in Residence observed TAs in action and provided personalized suggestions that TAs could follow to improve their teaching skills. TAs that participated in the program generally reported that the advice provided by the TA in Residence was helpful, and all of the TAs that responded to the survey believed that it would be worthwhile to continue the mentorship program in the future.


Archive | 2013

Graphs and Trees

Tom Jenkyns; Ben Stephenson

This chapter introduces graphs as diagrams for solving puzzles. Careful definitions specify the language of graph theory: vertices, edges, degrees, paths, circuits, Euler paths, Hamilton paths, and so on. Then our interest returns to trees, with algorithms for depth-first traversal and for breadth-first traversal.


Archive | 2014

If Statement Exercises

Ben Stephenson

The exercises in this chapter will require you to use decision making constructs so that your programs can handle a variety of different situations.

Collaboration


Dive into the Ben Stephenson's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Wade Holst

University of Western Ontario

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Christian W. Probst

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge