Clayton Ferner

Learn More
Early undergraduate Grid computing courses generally took a bottom-up approach to Grid computing education starting with network protocols, client-server concepts, creating Web and Grid services, and then progressing through the underlying Grid computing middleware, security mechanisms and job submission all using a Linux command-line interface. We describe(More)
The Grid can be seen as a framework for "flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resources." It allows researchers in different administrative domains to use multiple resources for problem solving and provides an infrastructure for developing larger and more complex applications potentially(More)
Grid computing is now mature enough and important enough to be studied as a full course at the undergraduate level for upper-level computer science majors. We have developed such a course, including a set of lecture slides, assignments, and assignment handouts specifically targeted for this audience. The sequence of assignments is a key part of the course.(More)
Grid computing uses geographically distributed computers connected on the Internet for high performance computing and resource sharing. It often involves computers from multiple organizations, crosses organizational boundaries, and enables the creation of distributed teams (so-called "virtual organizations"). Therefore, to teach grid computing properly, we(More)
In this paper, we describe an approach for teaching parallel and distributed computing at the undergraduate level using computational patterns. The goal is to promote higher-level structured design for parallel programming and make parallel programming easier and more scalable. A pattern programming framework has been developed to create a distributed(More)
This paper describes the experiences of teaching a new undergraduate grid computing course to students across the State of North Carolina in Fall 2004. This course is specifically focused at the undergraduate level and has a large number of geographically distributed participating sites. New materials have been developed for undergraduate students. We have(More)
JXPL is a new functional scripting language that uses XML syntax. JXPL is intended to be a workflow language that easily interacts with web and grid services. There are built in web and grid clients that can communicate with a variety of services. This facilitates the creation of workflow editors and other applications designed for grid environments and(More)
We have developed two new approaches to teaching parallel computing to undergraduates using higher level tools that lead to ease of programming, good software design, and scalable programs. The first approach uses a new software environment that creates a higher level of abstraction for parallel and distributed programming based upon a pattern programming(More)
Since Fall 2004, we have been co-teaching a class on Grid computing to several NC institutions using the North Carolina Research and Education Network (NCREN). In this paper, we focus on a new teaching approach. In Fall 2008, we introduced a more integrated co-teaching or “pair-teaching” approach to the course. Our experiences are particularly relevant for(More)
Parallel programming has been taught for many years but has recently taken on greater significance with introduction of multicore and many-core processors. Still, most teaching has followed a traditional path of focusing on learning low-level tools such as MPI. This workshop introduces a new educational approach based upon first selecting a computational(More)