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)
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)
In Part I, we described a grid computing course taught across multiple North Carolina universities using the North Carolina Research and Education Network (NCREN) televideo network. We also described the grid infrastructure and distance-learning environment. Here, we describe the student assignments and our general experiences in offering the course. The(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)
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(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)
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)