Professional Documents
Culture Documents
Introduction To Computing
Introduction To Computing
Introduction To Computing
In Today’s world…
• Computers are indispensable
• They are more complex than ever before
What is a computer?
• A machine which solves problems for
people written in the form of programs
• What is a program?
- A sequence of instructions telling the
computer what to do.
• What is an Instruction?
- Can be in Assembly language, Machine
Language or High level Language.
HARDWARE
• Computer Organization
• Computer consists of:
- CPU(Central processing Unit)
- Main Memory
- I/O devices
- Bus
Computer Organization
• CPU (processor) – brain of the computer.
It’s function is to execute programs stored
in Main memory by fetching them,
examining them and executing them
• CPU consists of:
- Control Unit (Instruction fetch)
- Arithmetic Logic Unit (Calculations)
- Registers (high speed memory units)
Computer Organization…contd.
• How are instructions processed?
• The control Unit:
- fetches the instruction and decodes it, and
sends control signals to the other units
- Arithmetic Logic Unit performs
calculations on the data
Memory
• What is memory?
• A place for storing data and programs.
• There are 3 types of memory:
- Internal (within CPU..like registers)
- Primary (fats..RAM)
- Secondary (slow, but large capacity..Disk)
I/O Devices
• What is an I/O device?
• Purpose is to transfer information between
CPU and outside world
• Egs. Keyboard, mouse, printer
BUS
• What is a BUS?
• A set of parallel wires that can carry several
bits at a time.
• It carries instructions, data, address or
command
• 3 types: Data Bus, Address Bus, Control
Bus.
SOFTWARE
• What is Software?
• A set of programs.
• In the earlier days, programs were written in
0’s and 1’s. (machine language, or Low
Level Programming)
• Disadvantage: Very cumbersome, and
debugging becomes a problem.
SOFTWARE..contd.
• Remedy?
• Using mnemonics. This was called
Assembly Language Programming (ALP)
• E.g. MOV AX, BX
• But this needed a translator to convert AL
to ML. This translator was called
Assembler.
SOFTWARE..contd.
• Disadvantage of AL and ML?
• They were not portable. I.e., once written, they
were good only for that machine. Machine
Specific.
• Remedy?
• Develop a language that is machine independent,
and has more powerful features to suit specific
needs .
SOFTWARE..contd.
• High Level Languages
• These have the following features:
• Machine Independence
• Very good debugging facility
• Good documentation
• 1 instruction in a HLL corresponds to several in
ALL or LLL
SOFTWARE..contd.
• High Level Languages meet specific needs such as
business, scientific etc.
• HLL’s come with their own translators, known as
Compilers or Interpreters, and other software
called Linkers, Loaders, Debuggers and Libraries.
• Compilers convert the source code to object code,
which is in machine language.
SOFTWARE..contd.
• How are HLL programs executed?
• Compiler/Interpretor translates the source
code.
• The Loader, which is software, loads the
object code into main memory.
• The Linker links external files used by the
current file.
SOFTWARE..contd.
• The editor, compiler, library, linker, loader, debugger can
be integrated into one environment called the IDE, or
Integrated Development Environment. MS Visual Studio is
an e.g.
• Compiler/Interpreter translates the source code.
• The Library is a catalogue of predefined, compiled and
tested functions. These contain geometric , arithmetic and
other commonly used functions.
• Users can build their own library functions.
SOFTWARE..contd.
• Programs are broadly divided into 2 categories:
• Systems programs, which direct the internal
operations of the computer.
• E.g. Linker, Loader, Compiler
• Applications Program, which solve user-oriented
problems
• E.g. payroll software, banking software.
Introduction to Programming
• Developing the simplest programs require
the following steps:
• Start->Problem Identification->Task
Analysis-> Data analysis-> Deciding I/O->
developing algorithms->Coding->Testing->
Debugging-> Result
Introduction to Programming
• The algorithm phase is very important.
• What is an algorithm?
• A set of explicit, clear finite steps to obtain the desired output
in finite time.
• It is developed to produce the most efficient approach to
solve a problem.
• Efficient in terms of speed and memory usage.
• Coding is implementing an algorithm in the programming
language syntax.
Intro. to Programming..contd.
• The goal of programming is to develop
programs that are clear, efficient and robust.
HLL’s..C and C++
• C and C++ are entirely different languages.
• Syntactically similar
• But approach to programming in C++ is
very different from C.
• C++ is considered the language of the
future.
Object Oriented Programs
• Pascal, BASIC, C, Fortran are all called
Procedural languages.
• This is because a program is a whole list of
instructions telling the computer what to do.
• What happens, when a program is very large?
• List of instructions become unwieldy
• Comprehension becomes tough
• Unmanageable code.
Object Oriented Programs
• Remedy?
• These problems led to development of structured
programming.
• Here a program is split into small functions, which
is more manageable and readable.
• This idea was extended to group a similar set of
functions into what are called modules.
Object Oriented Programs
• Problems with structured programming:
• Data Undervalued
• Action on data is given more importance than the
data itself.
• This leads to inconsistencies among especially
global data, which is accessed by many functions,
giving undesired outputs at times.
Object Oriented Programs
• Remedy?
• We need to hide data, or restrict it’s access
to certain functions alone.
• Other problems:
• Non-oop languages allow users to use only
built in data types.
• What if the user wants to invent his own?
Object Oriented Programs
• This led to development of the object oriented
approach.
• Fundamental idea is to combine data and functions
into 1 unit called OBJECT.
• Here, the functions in an object only have access to
the data within the object.
• No external function s allowed access to that data.
• Data encapsulation is born. Data and functions are
encapsulated in an object.
Object Oriented Programs
• Data Hiding is achieved, by restricting
access to data only to the member functions
(or functions within an object.)
• Analogy:
• Corporate structure Vs. Object Oriented
Design.