Course Description

Study of computer science techniques and tools that support computational sciences and engineering. Emphasis will be on visualization, performance evaluation, parallel computing, and distributed computing. Prerequisites: CS-115, CS/EE-380, and engineering standing.

Venn diagram

(Picture courtesy of CSEP)

Requirements and Goals

Students need knowledge of programming in a modern object oriented language and a basic knowledge of machine organization and architecture. You need to know how to make presentations in either PowerPoint or Acrobat.

Students will learn about hardware and software support for high performance computing. They will learn to select algorithms and develop code for computing in a parallel (or distributed computing) environment. They will learn about benchmarking, optimization, and visualization.  The course will include a hands on component utilizing a parallel computing environment.

Web Site, Textbook, and Course Outline

The course web site is or you can get to the web site by clicking on Current Course from my home page of

The course will follow, where still appropriate, the lecture notes of the Computational Science Educational Project (CSEP). CSEP is somewhat dated, however. There are two recent books that I suggest you read:

  1. C. Moler, Numerical Computing with MATLAB, SIAM Books, Philadelphia, 2004 (course textbook).
  2. C. C. Douglas, G. Haase, and U. Langer, A Tutorial on Elliptic PDE Solvers and their Parallelization, vol. 16, Software, Environments, and Tools (SET) series, SIAM Books, Philadelphia, 2003.  See the publisher's web page for this book.
The first book will teach you about basic numerical methods used in simulations. The second book will teach you how to solve many problems on parallel computers.

The lectures will cover some or all of the topics below. I may allow swapping of team members on a one for one basis as long as I approve it well in advance.

We will cover as many of these topics as time permits. Which case studies we consider will depend on the class preferences.

Homework and Readings

Due Link Comments
1/18 2005-hw1 Individual effort only: no groups
1/25 2005-hw2 Read Moler preface and introduction to MATLAB chapters (P,1)
2/03 2005-hw3 Read Moler linear equations chapter (2)
2/15 2005-hw4 Read Moler ODE (7)
2/24 2005-hw5 Read Moler PDE (11)
5/3 2005-project Project write up and discussion.

Research Projects and Presentation Teams

I will be mixing you up all semester, approximately once a month.  I expect to see your presentations one week in advance. You can assume that I will offer advice which might include starting over (but hopefully not). I expect that your presentation will be grammatically correct without misspellings. At then end of this course you should be able to give a professionally acceptable scientific presentation.

Office Hours and Contact Information

My office hours will be reached by class consensus during the first class and posted as part of the electronic syllabus. Office hours will be on Tuesday through Thursday.

Day Time
Tuesday 2:30-3:30
Wednesday 10:00-11:00
Thursday 9:00-10:00

or by appointment.

My office is 321A McVey Hall.  My office telephone number is 257-2326 and the FAX is 323-1029. Feel free to telephone my office as late as 11:00pm (do not leave a recorded message, however). In a pinch, I can be reached at home on weekends at 203-625-9449. Please do not call me at home before 9:00am or after 9:00pm. I respond to e-mail ( or fairly quickly (always include a phone number where I can call you back). If you are stuck on something, please do not hesitate to contact me.

Warning: The entrance to my office is inside another office (321 McVey). I really do not hear knocking on the outer office's door. Please just walk in and continue right into 321A and let me know that you are present. Do not assume that I will know that you are in the outer office. If I am not in my office, go straight to 325 McVey and ask where am I. I may well be in there and have to be extracted from another inner office. Please be utterly brazen.


Your grade will be based on the homework and class participation. Only letter grades will be given (no +/-'s). Homework assignments usually have a presentation associated with them. You will be expected to use a computer to make the presentation. Our lecture hall has both projection and computer equipment to do both styles of presentations including in parallel. I would prefer that you use PowerPoint for your presentations, however, I will allow Acrobat. I do not want weird Linux/Unix presentation tools (e.g., Star, K, or Open Office) unless you have convinced me in advance.

From a legal viewpoint, I am allowed to change the grading system anytime in the course as long as I give adequate notice to the class. The university ombud issues memorandums that cover this and many more topics. However, you should watch the class web page for any changes in the grading policy.

It is very difficult to either cheat or plagiarize in this course. However, either can be done. I ask that you not copy, verbatim, presentations given in earlier years. Seeing them twice will put me to sleep and then you will not get a very good grade since I will not have noticed that you did the project. There are plenty of interesting things on the web on any of these topics that will be different from before and you will learn more by doing some research on the topics. Getting caught cheating or plagiarizing will result in a grade of E and possibly much worse, including expulsion from the university and legal proceedings against you.

The projects are done in small groups in which everyone gets the same mark. If one fails, the whole group fails on the assignment. A lot of the information is available through CSEP and other web resources. It is considered good academic form to cite others' work that you use. A simple mechanism is to include a set of references at the end of a presentation with pointers to interesting places to visit to get more information.