1.1. What is Scientific Computing

In this course we will learn some of the basic techiniques involved in using your computer to do scientific tasks. Since our course has students with different experience using computers, some tasks will be familiar (I hope to start out that way), and some will not. Along the way, I hope to add a few simple applications to your computer that will help you be a better scientist, engineer, mathematician, or philosopher, astronomer, accountant, of whatever it is that you do. The tools (software) and techniques that you use when doing science with your computer, are somewhat different than those that you use when you use your computer for doing other, non-scientific, tasks. Let’s examine the differences between these two ways of using your computer. That will help us outline the things that we will study in this course.

1.1.1. Non-scientific computing:

While you might do several of the following things in the course of some scientific project, these computer activities would not be considered scientific computing

  • Email
  • Surfing the Internet
  • Word Processing (non-scientific)
  • Organizing and saving information in documents (files).
  • Using a spreadsheet for bookeeping or tabulating things.
  • Listening to / downloading / making music
  • Editing movies
  • Storing pictures
  • Gaming

1.1.2. Scientific Computing

When using your computer for science, you do many different things. These might include

Scientific Computing Activities

  • Analyzing data, for example:
    • doing statistics on data to compare with theories
    • curve fitting to find mathematical relations in data
  • Graphing data and mathematical functions: scientific visualization

  • Doing algebra and calculus using the computer: symbolic mathematics

  • Numerical calculations:
    • computing numerical approximations to mathematical quantites like definate integrals (often called numerical quadrature )
    • linear algebra (vector and matrix computations)
    • solving systems of linear equations
    • solving non-linear equations
    • and much more... (like computational fluid dynamics and lattice quantum chromodynamics )
  • Scientific publication

  • Scientific programming

There are lots more, not covered in this course, such as:
  • Machine Learning
  • Recording data from experiments
  • Solving differential equations
  • Computational Chemistry
  • Computational Fluid Dynamaics
  • Lattice Quantum Chromodynamics

It is these types of scientific tasks that we will cover in this course (except the last item). Many of these topics are the subject of Ph.D. theses, and one could devote decades to learning how to do them well. Our goal is much simpler.

Our Goal in this course

To introduce you to some of these topics in order to get you started, and

To outfit your computer with the free tools needed to do so.

With just this, and a little diligence (i.e. webhunting for examples and tutorials) you’ll be surprised how much more useful your computer can be.

First, we must setup a scientific computing environment on your computer. This simply means getting applications to do these things.