The teaching material produced by CSEP authors includes a growing collection of Projects and Case Studies from a variety of scientific and engineering applications in addition to a set of chapters of general interest. CSEP will put this material in the public domain on the Internet in the interest of the widest possible dissemination of the product. The target audience includes graduate students and advanced undergraduates with interest in high performance computing from any area of science, engineering, mathematics, or computer science.
The CSEP "electronic book" (or e-book) has three major sections. Part A contains general background material on modern high performance computing, with chapters on computer architecture, networks, programming languages, and scientific visualization. Part B has chapters on methods widely used in the computational sciences, for example numeric solution of partial differential equations, mathematical optimization, random numbers and monte carlo techniques, and efficient methods in linear algebra. Part C is a set of projects that illustrate the methods described in the first two parts.
This document is a guideline for authors who wish to contribute material for Part C. The e-book is a "living document" that we plan to be continually updating, adding more case studies as they become available as well as keeping the all the parts up to date as computing environments change and new computational methods evolve.
We expect to include two types of projects in the book: short computational projects that students with little or no background in a discipline can expect to complete in a few weeks time, and longer projects that may require a graduate-level understanding of a field and may take 10 weeks or longer to complete. We will refer to the shorter cases as "projects" and reserve the term "case study" for the longer projects. Projects can either illustrate an algorithm or a high performance computing technique, and they do not have to be tied to an application in a particular discipline. If they are based on research in one of the computational sciences, the basic concepts should be clearly explained in a fashion that is understandable for students outside the discipline.
Case studies can be fairly advanced and be directed toward readers who are willing to commit a substantial amount of time in learning the concepts and methods of the application area. These chapters could be a major part of a computational course in that field; for example, two case studies from chemistry, combined with several chapters from Parts A and B and one or two projects, might form a year-long course on computational chemistry for first-year graduate students in chemistry.
Both projects and case studies should include fully debugged programs, problems (with separately supplied solutions), examples, and references for further study. The material should be teachable, i.e. include material for lecturing and a generous collection of illustrative exercises and examples interspersed throughout the chapter.
Often it is tempting to let a case study turn into a journal-quality survey of the latest advances in a computational field. However, to be useful for this project, the chapters cannot be research papers that require a deep understanding of the area. These chapters should be based on the latest techniques that are widely recognized, but should not necessarily describe cutting-edge research.
Case studies and Projects should be of interdisciplinary interest and illustrate new and important computational techniques. Since they are intended for interdisciplinary instruction within the scientific, engineering, mathematics, and computer science communities they should present the material discussed in a way that can be understood without too much effort by an advanced senior or first-year graduate student unfamiliar with the area of application.
The following basic structure is recommended:
0. Notation Key
Authors are encouraged to provide a notation key and an optional list of programs at the beginning of the case studies.
The introduction should describe the application area and emphasize the importance of computational approaches in the solution of open research problems.
II. Theory and Formalism
The problems addressed are to be explained in such a way that they are transparent to an audience with diverse backgrounds. Equations should be discussed. This part should be self-contained. Chapters are expected to refer to computational methods, architecture and algorithm points discussed in the general and introductory chapters to avoid duplication of material. Graphics and Tables should come with captions.
III. Working Codes and Examples (with illustrations).
Examples may be the most important parts of the chapters and as such should be constructed with much care and attention. Programs should be well structured and should meet accepted scientific programming standards. Dialect statements and system or library subroutines which are restricted to a particular manufacturer of installation should be avoided if possible, or explained clearly. Analysis of the time complexity of various algorithms and illustration of parallelism (potential and achieved) is highly desirable.
Problems for solution by the student have to be interspersed throughout the chapter. Problems should preferably grow out of the codes. Answers should be provided to be included in a separate solution book or possibly in hypertext.
V. References and Bibliography
Entries should state at least the author, journal, volume number, page, year and if available additional information. If references are available electronically on the Internet, then their location should be provided.
Code included in a project or case study usually consists of an abstract, summary, documentation, and listing. The documentation should be a detailed description of the program, stating the problem, method of solution, program design, input data, output (including error diagnostics), and possible the input and output data of a test run. A listing is optional. Long programs (more than a couple of pages) will be put in the public domain on the CSEP server where they can be copied via FTP by students and instructors. Include source code job control instructions and documentation. Programs should be clear to first-year graduate students and advanced undergraduates. Programs should grow out of the material discussed in the chapter they come with and all numerical methods coded need to be covered either in the case study or in the general chapters.
Projects and case studies should illustrate and expand on concepts presented in the first two parts of the book, especially Part B. If a case study requires any material that should be covered in Part A or B and is not already there, send a description of the suggested additions to the CSEP editor. If it is general enough to be included, arrangements will be made to add it to an existing chapter, or perhaps even add a new chapter to Part B.
Authors of new chapters are expected to submit a detailed outline of their material, including descriptions of the exercises, programs, examples and visualizations planned, as well as an indication of what students are to learn from these.
Proposals may also be submitted by e-mail (the preferred method). Send them to:
The following information should be provided for each author and co-author: name; title; subject, institution, and year of degree; mail address; e-mail address; number of books, papers and talks at national and international meetings during the past 5 years.
Material will be reviewed by authors and those who expressed an interest in CSEP as reviewers. Return to homepage.