0% found this document useful (0 votes)
10 views

Computer Application 2

The document provides an overview of scientific computing and programming. It discusses the need for scientific computation, what scientific computing entails, the use of high-performance computing (HPC) to solve scientific problems, and different types of programming including machine code, programming languages, compilers, and interpreters.

Uploaded by

Anik Karmakar
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Computer Application 2

The document provides an overview of scientific computing and programming. It discusses the need for scientific computation, what scientific computing entails, the use of high-performance computing (HPC) to solve scientific problems, and different types of programming including machine code, programming languages, compilers, and interpreters.

Uploaded by

Anik Karmakar
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Overview of Common

Application Areas

SCIENTIFIC COMPUTATION
AND PROGRAMMING
Scientific Computation

Need for speed


Need for memory
Simulations tend to grow until they
overwhelm available resources
Optimization (faster algorithm)
Parallelization (break problems up into
chunks and solve chunks simultaneously on
different processors)
What is Scientific Computing?
 Short Version
 To use high-performance computing (HPC) facilities to
solve real scientific problems.
 Long Version, from Wikipedia.com
 Scientific computing (or computational science) is the
field of study concerned with constructing mathematical
models and numerical solution techniques and using
computers to analyze and solve scientific and
engineering problems. In practical use, it is typically the
application of computer simulation and other forms of
computation to problems in various scientific
disciplines.
What is Scientific Computing?

Engineering
Sciences Theory/Model Layer

Computer Algorithm Layer


Applied Scientific
Mathematics Science
Computing
Hardware/Software

Natural
Sciences Application Layer

From scientific discipline viewpoint From operational viewpoint

High- Scientific
Performance Computing
Parallel Computing
Computing

From Computing Perspective


What is HPC?
 Computing resources which provide more than an order of
magnitude more computing power than current top-end
workstations or desktops – generic, widely accepted.
 HPC ingredients:
 large capability computers (fast CPUs)
 massive memory
 enormous (fast & large) data storage
 highest capacity communication
 specifically parallelized codes
 visualization
Why HPC?

Can we enable integrated planning and


response to natural and man-made
disasters that prevent or minimize the
loss of life and property?
What strategies might be developed to
optimize management of complex
infrastructure systems?
Programming

Programming is simply a ‘hard-coded’ version of


software (eg. Digital watch)
A computer program is a set of instructions or
statements (also called code) to be carried out by the
computer’s CPU
Programs, or software, come in many forms which can
be broken down into three major categories; operating
systems, utilities and applications.
A program is typically composed of a main module
and submodules which are stored as a collection of
files.
Contnd…

Some of the files contain instructions for the


computer, while other files contain data.
For Windows-based PCs, some of the common
extensions for program files include the followings;
Executable Files: An executable (.exe, .com) file is
the part of a program that sends commands to the
processor. The processor executes the commands in
the file-thus the name executable file. Executable
files usually (but do not always) have the filename
extension .exe.
Contnd…

Dynamic Link Library Files: A dynamic link


library (.dll) file is a partial .exe file. A .dll file will not
run its own; instead, its commands are accessed by
another running program. Because, .dll files can
contain parts of an executable program, they provide
programmers with an effective way of breaking large
programs into small, replaceable components. This
feature makes the entire program easier to
upgrade. .dll files also can be shared by several
programs at one time.
Contnd…

Initialization Files: An initialization (.ini) file


contain configuration information, such as size and
starting point of a window, the color of the
background, the user’s name and so on. It help
programs start running or contain information that
programs can use as they run.
Help Files: A help (.hlp, .chm) file contains
information in an indexed and cross-linked format.
By including a help file, programmers can provide
the user with online help information.
Contnd…

Batch Files: A batch (.bat) file automates common


or repetitive tasks. A batch file is a simple program
that consists of an unformatted text file containing
one or more operating system commands. If you type
a batch file’s name at a command prompt, your
operating system will execute the commands of the
file.
Most program files are stored in a folder that bears
the application’s name or an abbreviation of it. Some
may be placed in other folders.
Some more issues!

Hardware/Software Interaction: Software is


the reason people purchase computers.
A program’s instructions execute as the hardware
level, mainly on the CPU.
The program may tell the CPU to retrieve a specific
piece of information from memory.
If the program tells the CPU to play a sound file,
then the program generates as interrupt.
An interrupt is a signal to the CPU to execute a series
of preprogrammed steps to response to the interrupt.
In this case the hardware would send the sound file
to the audio output device.
Code

The term code refers to statements that are written


in any programming language, as in machine code or
high-level code.
Usually binary number system.
To simplify the process of writing instructions that
computers can use.
A piece of code must be perfect (no mistake) before it
will run (hackers failed to transfer $2b recently)
Writing code provides the programmer to create
something new.
Machine Code

Any software commands that directly affect


hardware must be written in the binary
systems.
1
These s and 0s from the language of
computer hardware, this code is often called
machine code or machine language.
Might not make perfect sense for you, but
for the programmers.
Programming Languages

Apart from using binary (1,0),


programmers use programming
languages which enable the
programmers to describe a program
using a variation of basic English.
The results are saved in a file called
source code.
Compilers

After creating a piece of source code, the programmer


must convert the source code into machine code
(break it down into a series of 1s and 0s) before it can
run on a computer. The job of converting the source
code is handled by one or two types of programs;
Compiler: A compiler converts all the source code
into machine code, creating an executable file. The
output of the computer is called object code. Each
programming language requires its own compiler. (eg.
C++ requires a C++ compiler)
Interpreters

An interpreters also converts source code to machine


code.
Instead of creating an executable object code file, the
interpreter translates and then executes each line of
the program, one line at a time.
Interpreter translates code on the fly, so they have a
certain flexibility that compiles lack.
The interpreted code runs slower that compiled code
because the code must be interpreted each time it is
run, and a copy of the interpreter must accompany the
code everywhere it goes. (eg. LISP, BASIC etc.)
Thanks!

Reference: Introduction to Computers (7th


Edition) by Peter Norton

You might also like