SlideShare a Scribd company logo
Assignment on
Computer Programming
Bangladesh University of Business & Technology
(BUBT)
Mirpur-2, Dhaka-1216, Bangladesh
Date of Submission: 28th
July, 2013
Bangladesh University of Business & Technology
(BUBT)
Mirpur-2, Dhaka-1216, Bangladesh
Submitted by:
MD. Rafsun-Al-Rafat
Intake-27th
, Sec-7
ID: 11122101309
(BBA)
Submitted to:
Md. Syful Islam
Lecturer
Department of Computer Science and Engineering
Bangladesh University of Business and Technology
Introduction
Computer programming is the iterative process of writing or editing code.
Editing source code involves testing, analysing, and refining, and sometimes
coordinating with other programmers on a jointly developed program. A person
who practices this skill is referred to as a computer programmer, software
developer and sometimes coder.
The sometimes lengthy process of computer programming is usually referred to
as development. The term software engineering is becoming popular as the
process is seen as an engineering discipline.
A computer program, or just a program, is a sequence of instructions, written to
perform a specified task with a computer. A computer requires programs to
function, typically executing the program's instructions in a central processor.
The program has an executable form that the computer can use directly to
execute the instructions. The same program in its human-readable source code
form, from which executable programs are derived, enables a programmer to
study and develop its algorithms. A collection of computer programs and related
data is referred to as the software.
Computer source code is typically written by computer programmers. Source
code is written in a programming language that usually follows one of two main
paradigms: imperative or declarative programming. Source code may be
converted into an executable file sometimes called an executable program or a
binary by a compiler and later executed by a central processing unit.
Alternatively, computer programs may be executed with the aid of an
interpreter, or may be embedded directly into hardware.
Computer programs may be categorized along functional lines system software
and application software. Two or more computer programs may run
simultaneously on one computer from the perspective of the user, a process
known as multitasking.
History of Computer Programming
The Computer Programme was a TV series originally broadcast by the BBC (on
BBC2) in 1982. The idea behind the series was to introduce people to
computers and show them what they were capable of. The BBC wanted to use
their own computer, so the BBC Micro was developed as part of the BBC
Computer Literacy Project, and was featured in this series. The series was
successful enough for two series to follow it, namely making the Most of the
Micro in 1983 and Micro Live from 1984 until 1987.
The earliest programmable machine (that is a machine whose behaviour can be
controlled by changes to a "program") was Al-Jazari's programmable humanoid
robot in 1206. Al-Jazari's robot was originally a boat with four automatic
musicians that floated on a lake to entertain guests at royal drinking parties. His
mechanism had a programmable drum machine with pegs ( cams) that bump
into little levers that operate the percussion. The drummer could be made to
play different rhythms and different drum patterns by moving the pegs to
different locations. Another sophisticated programmable machine by Al-Jazari
was the castle clock.
Definition
The process of developing and implementing various sets of instructions to
enable a computer to do a certain task. These instructions are considered
computer programs and help the computer to operate smoothly. The language
used to program computers is not understood by an untrained eye. Computer
programming continues to be a necessary process as the Internet continues to
expand.
Programming is a lot of fun and extraordinarily useful. While you learn to
program, you'll also develop a host of other analytical and critical thinking skills
for tackling all sorts of complex problems not just ones on computers and it may
just help you start a new career or land a new job in software development.
Computer programming is almost always done in some sort of Programming
Language. These languages are written so that humans can understand them, but
are formal and rigorous enough to input into a machine.
There are some categories of computer programming which has been given
bellow:
Paradigms
Computer programs can be categorized by the programming language paradigm
used to produce them. Two of the main paradigms are imperative and
declarative. Programs written using an imperative language specify an
algorithm using declarations, expressions, and statements. A declaration couples
a variable name to a data type. For example: var x: integer; . An expression yields a
value. One criticism of imperative languages is the side effect of an assignment
statement on a class of variables called non-local variables. Programs written
using a declarative language specify the properties that have to be met by the
output. They do not specify details expressed in terms of the control flow of the
executing machine but of the mathematical relations between the declared
objects and their properties.
Compiling or interpreting
A computer program in the form of a human-readable, computer programming
language is called source code. Source code may be converted into an
executable image by a compiler or executed immediately with the aid of an
interpreter. Either compiled or interpreted programs might be executed in a
batch process without human interaction, but interpreted programs allow a user
to type commands in an interactive session. In this case the programs are the
separate commands, whose execution occurs sequentially and thus together.
When a language is used to give commands to a software application such as a
shell it is called a scripting language.
Self-modifying programs
A computer program in execution is normally treated as being different from
the data the program operates on. However, in some cases this distinction
is blurred when a computer program modifies itself. The modified
computer program is subsequently executed as part of the same program.
Self-modifying code is possible for programs written in machine code,
assembly language, Lisp, C, COBOL, PL/1, Prelog and JavaScript
among others.
Embedded programs
Some computer programs are embedded into hardware. A stored-program
computer requires an initial computer program stored in its read-only
memory to boot. The boot process is to identify and initialize all aspects
of the system, from processor registers to device controllers to
memory contents. Following the initialization process, this initial
computer program loads the operating system and sets the program
counter to begin normal operations. Independent of the host computer, a
hardware device might have embedded firmware to control its
operation. Firmware is used when the computer program is rarely or
never expected to change, or when the program must not be lost when the
power is off.
Manual Programming
Computer programs historically were manually input to the central processor
via switches. An instruction was represented by a configuration of on/off
settings. After setting the configuration, an execute button was pressed. This
process was then repeated. Computer programs also historically were manually
input via paper tape or punched cards. After the medium was loaded, the
starting address was set via switches and the execute button pressed.
Automatic programme Generation
Generative programming is a style of computer programming that creates
source code through generic classes, prototypes, templates, aspects, and code
generators to improve programmer productivity. Source code is generated with
programming tools such as a template processor or an integrated development
environment. The simplest form of source code generator is a macro processor,
such as the C pre-processor, which replaces patterns in source code according to
relatively simple rules.
Simultaneous execution
Many operating systems support multitasking which enables many computer
programs to appear to run simultaneously on one computer. Operating systems
may run multiple programs through process scheduling a software mechanism
to switch the CPU among processes often so users can interact with each
program while it runs. Within hardware, modern day multiprocessor computers
or computers with multicore processors may run multiple programs.
Execution and storage
Typically, computer programs are stored in non-volatile memory until
requested either directly or indirectly to be executed by the computer user.
Upon such a request, the program is loaded into random access memory,
by a computer program called an operating system, where it can be
accessed directly by the central processor. The central processor then
executes ("runs") the program, instruction by instruction, until termination.
A program in execution is called a process. Termination is either by
normal self-termination or by error software or hardware error.
Functional categories
Computer programs may be categorized along functional lines. The main
functional categories are system software and application software. System
software includes the operating system which couples computer hardware with
application software. The purpose of the operating system is to provide an
environment in which application software executes in a convenient and
efficient manner. In addition to the operating system, system software includes
utility programs that help manage and tune the computer. If a computer program
is not system software then it is application software. Application software
includes middleware, which couples the system software with the user interface.
Application software also includes utility programs that help users solve
application problems, like the need for sorting.
Debugging
Debugging is a very important task in the software development, because an
erroneous program can have significant consequences for its users. Some
languages are more prone to some kinds of faults because their specification
does not require compilers to perform as much checking as other languages.
Use of a static analysis tool can help detect some possible problems.
The Programming Process
Developing a program involves steps similar to any problem-solving task. There
are five main ingredients in the programming process:
1. Defining the problem
2. Planning the solution
3. Coding the program
4. Testing the program
5. Documenting the program
Let us discuss each of these in turn.
1. Defining the Problem
Suppose that, as a programmer, you are contacted because your services
are needed. You meet with users from the client organization to analyse
the problem, or you meet with a systems analyst who outlines the project.
Specifically, the task of defining the problem consists of identifying what
it is you know input-given data, and what it is you want to obtain output-
the result. Eventually, you produce a written agreement that, among other
things, specifies the kind of input, processing, and output required. This is
not a simple process.
2. Planning the Solution
Two common ways of planning the solution to a problem are to draw a
flowchart and to write pseudo code, or possibly both. Essentially, a
flowchart is a pictorial representation of a step-by-step solution to a
problem. It consists of arrows representing the direction the program
takes and boxes and other symbols representing actions. It is a map of
what your program is going to do and how it is going to do it.
3. Coding the Program
As the programmer, your next step is to code the program-that is, to
express your solution in a programming language. You will translate the
logic from the flowchart or pseudo code-or some other tool-to a
programming language. As we have already noted, a programming
language is a set of rules that provides a way of instructing the computer
what operations to perform. There are many programming languages:
BASIC, COBOL, Pascal, FORTRAN, and C are some examples. You
may find yourself working with one or more of these.
4. Testing the Program
Some experts insist that a well-designed program can be written correctly
the first time. In fact, they assert that there are mathematical ways to
prove that a program is correct. However, the imperfections of the world
are still with us, so most programmers get used to the idea that their
newly written programs probably have a few errors. This is a bit
discouraging at first, since programmers tend to be precise, careful,
detail-oriented people who take pride in their work. Still, there are many
opportunities to introduce mistakes into programs, and you, just as those
who have gone before you, will probably find several of them.
Eventually, after coding the program, you must prepare to test it on the
computer. The stapes are :
1. Desk-checking. .
2. Translating.
5. Documenting the Program
Documenting is an on-going, necessary process, although, as many
programmers are, you may be eager to pursue more exciting computer-
cantered activities. Documentation is a written detailed description of the
programming cycle and specific facts about the program. Typical
program documentation materials include the origin and nature of the
problem, a brief narrative description of the program, logic tools such as
flowcharts and pseudo code, data-record descriptions, program listings,
and testing results. Comments in the program itself are also considered an
essential part of documentation. Many programmers document as they
code. In a broader sense, program documentation can be part of the
documentation for an entire system.
Programming languages
Different programming languages support different styles of programming
(called programming paradigms). The choice of language used is subject to
many considerations, such as company policy, suitability to task,
availability of third-party packages, or individual preference. Ideally, the
programming language best suited for the task at hand will be selected.
Trade-offs from this ideal involve finding enough programmers who know
the language to build a team, the availability of compilers for that
language, and the efficiency with which programs written in a given
language execute.
There are Several types of Programming language which has been given
bellow:
1. Machine language
2. Assembly languages
3. High-level languages
4. Very high-level languages
5. Natural languages
Modern programming Quality requirements
Whatever the approach to software development may be, the final program must
satisfy some fundamental properties. The following five properties are among
the most relevant:
• Efficiency : the amount of system resources a program consumes
(processor time, memory space, slow devices, network bandwidth and to
some extent even user interaction), the less the better.
• Reliability : how often the results of a program are correct. This depends
on prevention of error propagation resulting from data conversion and
prevention of errors resulting from buffer overflows, underflows and zero
division.
• Robustness : how well a program anticipates situations of data type
conflict and other incompatibilities that result in run time errors and
program halts. The focus is mainly on user interaction and the handling of
exceptions.
• Usability : the clarity and intuitiveness of a programs output can make or
break its success. This involves a wide range of textual and graphical
elements that makes a program easy and comfortable to use.
• Portability : the range of hardware and OS platforms on which the
source code of a program can be compiled and run. This depends mainly
on the range of platform specific compilers for the language of the source
code rather than anything having to do with the program directly.
Conclusion
At the end of this discussion we can understand that computer programming is
very important in this modern computer based life style. Without computer
programming we cannot make any software without which the every computer
based operation cannot be finished in a good way or its totally impossible to do
any work in computer because without software or operating system we cannot
imagine to control a computer and without computer programming we cannot
abele to make an software or Operating system so it’s very important.

More Related Content

What's hot

Computer Programming: Chapter 1
Computer Programming: Chapter 1Computer Programming: Chapter 1
Computer Programming: Chapter 1
Atit Patumvan
 
System programming vs application programming
System programming vs application programmingSystem programming vs application programming
System programming vs application programming
Inderbir Kaur Sandhu
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNSU-Biliran Campus
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
sonalikharade3
 
Class work 3_computer_network_317
Class work 3_computer_network_317Class work 3_computer_network_317
Class work 3_computer_network_317
Khondoker Sadia
 
Edtech
EdtechEdtech
Types of system software
Types of system softwareTypes of system software
Types of system software
Inderbir Kaur Sandhu
 
Chapter 5-programming
Chapter 5-programmingChapter 5-programming
Chapter 5-programmingAten Kecik
 
EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM Sahil Garg
 
Block diagram (computer programming & utilization)
Block diagram (computer programming & utilization)Block diagram (computer programming & utilization)
Block diagram (computer programming & utilization)
Digvijaysinh Gohil
 
Ict topic 5
Ict topic 5Ict topic 5
Ict topic 5
kwongliik
 
Programming languages,compiler,interpreter,softwares
Programming languages,compiler,interpreter,softwaresProgramming languages,compiler,interpreter,softwares
Programming languages,compiler,interpreter,softwares
Nisarg Amin
 
WEBSITE DEVELOPMENT
WEBSITE DEVELOPMENTWEBSITE DEVELOPMENT
WEBSITE DEVELOPMENT
shahzadebaujiti
 
Software
SoftwareSoftware
Software
RajThakuri
 

What's hot (20)

Software
SoftwareSoftware
Software
 
La5 programming
La5  programmingLa5  programming
La5 programming
 
Computer Programming: Chapter 1
Computer Programming: Chapter 1Computer Programming: Chapter 1
Computer Programming: Chapter 1
 
System programming vs application programming
System programming vs application programmingSystem programming vs application programming
System programming vs application programming
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
 
Class work 3_computer_network_317
Class work 3_computer_network_317Class work 3_computer_network_317
Class work 3_computer_network_317
 
Edtech
EdtechEdtech
Edtech
 
Types of system software
Types of system softwareTypes of system software
Types of system software
 
Chapter 5-programming
Chapter 5-programmingChapter 5-programming
Chapter 5-programming
 
Unit 2
Unit 2Unit 2
Unit 2
 
EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM
 
Block diagram (computer programming & utilization)
Block diagram (computer programming & utilization)Block diagram (computer programming & utilization)
Block diagram (computer programming & utilization)
 
report
reportreport
report
 
Ict topic 5
Ict topic 5Ict topic 5
Ict topic 5
 
Programming languages,compiler,interpreter,softwares
Programming languages,compiler,interpreter,softwaresProgramming languages,compiler,interpreter,softwares
Programming languages,compiler,interpreter,softwares
 
WEBSITE DEVELOPMENT
WEBSITE DEVELOPMENTWEBSITE DEVELOPMENT
WEBSITE DEVELOPMENT
 
Notacd071
Notacd071Notacd071
Notacd071
 
Software
SoftwareSoftware
Software
 
Notacd07
Notacd07Notacd07
Notacd07
 

Viewers also liked

Analytics Brownbag
Analytics BrownbagAnalytics Brownbag
Analytics Brownbagkjcharles14
 
RESUME REKHA SINGH
RESUME REKHA SINGHRESUME REKHA SINGH
RESUME REKHA SINGHrekha singh
 
Hello, I'm Push Notification
Hello, I'm Push NotificationHello, I'm Push Notification
Hello, I'm Push Notification
Emerson Thompson
 
Desarrollo plan de unidad ciencias naturaleza
Desarrollo plan de unidad ciencias naturalezaDesarrollo plan de unidad ciencias naturaleza
Desarrollo plan de unidad ciencias naturaleza
Altagracia Del Rosario,Centro Educativo Luis Reyes
 
Textual analysis 3
Textual analysis 3Textual analysis 3
Textual analysis 3
lewishardy123
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power point
Надежда Надежда
 
Amit resume fresher
Amit resume fresherAmit resume fresher
Amit resume fresheramittech7a
 
Jamuna bank
Jamuna bankJamuna bank
Jamuna bank
Mehedi Abir
 
QA 4 python
QA 4 pythonQA 4 python
QA 4 python
BeDjango
 
Facilitando sua vida com WP Customizer
Facilitando sua vida com WP CustomizerFacilitando sua vida com WP Customizer
Facilitando sua vida com WP Customizer
Emerson Thompson
 
Efficient Django
Efficient DjangoEfficient Django
Efficient Django
David Arcos
 
Consumption and costing
Consumption and costingConsumption and costing
Consumption and costing
Mãrzíà Trïñå
 
7 Typography Rules
7 Typography Rules7 Typography Rules
7 Typography Rules
Dmitry Mayorov
 
Django girls-ktm
Django girls-ktmDjango girls-ktm
Django girls-ktm
Kishor Kumar
 
Analysis of sewing section efficiency by time study technique in apparel indu...
Analysis of sewing section efficiency by time study technique in apparel indu...Analysis of sewing section efficiency by time study technique in apparel indu...
Analysis of sewing section efficiency by time study technique in apparel indu...
Khairul Bashar
 

Viewers also liked (20)

Analytics Brownbag
Analytics BrownbagAnalytics Brownbag
Analytics Brownbag
 
RESUME REKHA SINGH
RESUME REKHA SINGHRESUME REKHA SINGH
RESUME REKHA SINGH
 
Hello, I'm Push Notification
Hello, I'm Push NotificationHello, I'm Push Notification
Hello, I'm Push Notification
 
лаб3=
лаб3=лаб3=
лаб3=
 
Degree Transcript
Degree TranscriptDegree Transcript
Degree Transcript
 
Desarrollo plan de unidad ciencias naturaleza
Desarrollo plan de unidad ciencias naturalezaDesarrollo plan de unidad ciencias naturaleza
Desarrollo plan de unidad ciencias naturaleza
 
Textual analysis 3
Textual analysis 3Textual analysis 3
Textual analysis 3
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power point
 
Amit resume fresher
Amit resume fresherAmit resume fresher
Amit resume fresher
 
Jamuna bank
Jamuna bankJamuna bank
Jamuna bank
 
QA 4 python
QA 4 pythonQA 4 python
QA 4 python
 
Facilitando sua vida com WP Customizer
Facilitando sua vida com WP CustomizerFacilitando sua vida com WP Customizer
Facilitando sua vida com WP Customizer
 
Prehistoria
PrehistoriaPrehistoria
Prehistoria
 
Los Elementos del Clima
Los Elementos del ClimaLos Elementos del Clima
Los Elementos del Clima
 
Efficient Django
Efficient DjangoEfficient Django
Efficient Django
 
Consumption and costing
Consumption and costingConsumption and costing
Consumption and costing
 
7 Typography Rules
7 Typography Rules7 Typography Rules
7 Typography Rules
 
Nonwoven
NonwovenNonwoven
Nonwoven
 
Django girls-ktm
Django girls-ktmDjango girls-ktm
Django girls-ktm
 
Analysis of sewing section efficiency by time study technique in apparel indu...
Analysis of sewing section efficiency by time study technique in apparel indu...Analysis of sewing section efficiency by time study technique in apparel indu...
Analysis of sewing section efficiency by time study technique in apparel indu...
 

Similar to main

Software - Introduction
Software - IntroductionSoftware - Introduction
Software - Introduction
SagarGupta372
 
Software
SoftwareSoftware
Software
Kalsoom shoukat
 
Steps for c program execution
Steps for c program executionSteps for c program execution
Steps for c program execution
Rumman Ansari
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
shahzadebaujiti
 
What is software
What is softwareWhat is software
What is software
Anil815218
 
Python_Module_1.pdf
Python_Module_1.pdfPython_Module_1.pdf
Python_Module_1.pdf
R.K.College of engg & Tech
 
SPCC:System programming and compiler construction
SPCC:System programming and compiler constructionSPCC:System programming and compiler construction
SPCC:System programming and compiler construction
mohdumaira1
 
Lesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxLesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptx
Neil Mutia
 
System programming note
System programming noteSystem programming note
System programming noteSANTOSH RATH
 
Computer system soft ware
Computer system soft wareComputer system soft ware
Computer system soft ware
Samuel Igbanogu
 
Computer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppComputer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cpp
meharikiros2
 
Chapter 3 Software.ppt
Chapter 3 Software.pptChapter 3 Software.ppt
Chapter 3 Software.ppt
AmanuelZewdie4
 
system software and application software, compiler, interpreter & assembler
system software  and application software, compiler, interpreter & assemblersystem software  and application software, compiler, interpreter & assembler
system software and application software, compiler, interpreter & assembler
chetan birla
 
Computer software and operating system
Computer software and operating systemComputer software and operating system
Computer software and operating system
sonykhan3
 
Software ppt
Software pptSoftware ppt
Software ppt
switipatel4
 
CH-1SYSTEM PROGARMMING (1).pdf programing
CH-1SYSTEM PROGARMMING (1).pdf programingCH-1SYSTEM PROGARMMING (1).pdf programing
CH-1SYSTEM PROGARMMING (1).pdf programing
hundarat596
 
Computer system
Computer systemComputer system
Computer system
RajThakuri
 
ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)
ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)
ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)
SURBHI SAROHA
 
introductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxintroductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptx
HazardRhenz1
 
System software
System softwareSystem software
System software
Priyanshi Joshi
 

Similar to main (20)

Software - Introduction
Software - IntroductionSoftware - Introduction
Software - Introduction
 
Software
SoftwareSoftware
Software
 
Steps for c program execution
Steps for c program executionSteps for c program execution
Steps for c program execution
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
 
What is software
What is softwareWhat is software
What is software
 
Python_Module_1.pdf
Python_Module_1.pdfPython_Module_1.pdf
Python_Module_1.pdf
 
SPCC:System programming and compiler construction
SPCC:System programming and compiler constructionSPCC:System programming and compiler construction
SPCC:System programming and compiler construction
 
Lesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxLesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptx
 
System programming note
System programming noteSystem programming note
System programming note
 
Computer system soft ware
Computer system soft wareComputer system soft ware
Computer system soft ware
 
Computer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppComputer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cpp
 
Chapter 3 Software.ppt
Chapter 3 Software.pptChapter 3 Software.ppt
Chapter 3 Software.ppt
 
system software and application software, compiler, interpreter & assembler
system software  and application software, compiler, interpreter & assemblersystem software  and application software, compiler, interpreter & assembler
system software and application software, compiler, interpreter & assembler
 
Computer software and operating system
Computer software and operating systemComputer software and operating system
Computer software and operating system
 
Software ppt
Software pptSoftware ppt
Software ppt
 
CH-1SYSTEM PROGARMMING (1).pdf programing
CH-1SYSTEM PROGARMMING (1).pdf programingCH-1SYSTEM PROGARMMING (1).pdf programing
CH-1SYSTEM PROGARMMING (1).pdf programing
 
Computer system
Computer systemComputer system
Computer system
 
ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)
ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)
ESSENTIAL COMPONENTS OF COMPUTERS(UNIT 2)
 
introductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxintroductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptx
 
System software
System softwareSystem software
System software
 

main

  • 1. Assignment on Computer Programming Bangladesh University of Business & Technology (BUBT) Mirpur-2, Dhaka-1216, Bangladesh Date of Submission: 28th July, 2013
  • 2. Bangladesh University of Business & Technology (BUBT) Mirpur-2, Dhaka-1216, Bangladesh Submitted by: MD. Rafsun-Al-Rafat Intake-27th , Sec-7 ID: 11122101309 (BBA) Submitted to: Md. Syful Islam Lecturer Department of Computer Science and Engineering Bangladesh University of Business and Technology
  • 3. Introduction Computer programming is the iterative process of writing or editing code. Editing source code involves testing, analysing, and refining, and sometimes coordinating with other programmers on a jointly developed program. A person who practices this skill is referred to as a computer programmer, software developer and sometimes coder. The sometimes lengthy process of computer programming is usually referred to as development. The term software engineering is becoming popular as the process is seen as an engineering discipline. A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, from which executable programs are derived, enables a programmer to study and develop its algorithms. A collection of computer programs and related data is referred to as the software. Computer source code is typically written by computer programmers. Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file sometimes called an executable program or a binary by a compiler and later executed by a central processing unit. Alternatively, computer programs may be executed with the aid of an interpreter, or may be embedded directly into hardware. Computer programs may be categorized along functional lines system software and application software. Two or more computer programs may run simultaneously on one computer from the perspective of the user, a process known as multitasking.
  • 4. History of Computer Programming The Computer Programme was a TV series originally broadcast by the BBC (on BBC2) in 1982. The idea behind the series was to introduce people to computers and show them what they were capable of. The BBC wanted to use their own computer, so the BBC Micro was developed as part of the BBC Computer Literacy Project, and was featured in this series. The series was successful enough for two series to follow it, namely making the Most of the Micro in 1983 and Micro Live from 1984 until 1987. The earliest programmable machine (that is a machine whose behaviour can be controlled by changes to a "program") was Al-Jazari's programmable humanoid robot in 1206. Al-Jazari's robot was originally a boat with four automatic musicians that floated on a lake to entertain guests at royal drinking parties. His mechanism had a programmable drum machine with pegs ( cams) that bump into little levers that operate the percussion. The drummer could be made to play different rhythms and different drum patterns by moving the pegs to different locations. Another sophisticated programmable machine by Al-Jazari was the castle clock. Definition The process of developing and implementing various sets of instructions to enable a computer to do a certain task. These instructions are considered computer programs and help the computer to operate smoothly. The language used to program computers is not understood by an untrained eye. Computer programming continues to be a necessary process as the Internet continues to expand. Programming is a lot of fun and extraordinarily useful. While you learn to program, you'll also develop a host of other analytical and critical thinking skills for tackling all sorts of complex problems not just ones on computers and it may just help you start a new career or land a new job in software development. Computer programming is almost always done in some sort of Programming Language. These languages are written so that humans can understand them, but are formal and rigorous enough to input into a machine.
  • 5. There are some categories of computer programming which has been given bellow: Paradigms Computer programs can be categorized by the programming language paradigm used to produce them. Two of the main paradigms are imperative and declarative. Programs written using an imperative language specify an algorithm using declarations, expressions, and statements. A declaration couples a variable name to a data type. For example: var x: integer; . An expression yields a value. One criticism of imperative languages is the side effect of an assignment statement on a class of variables called non-local variables. Programs written using a declarative language specify the properties that have to be met by the output. They do not specify details expressed in terms of the control flow of the executing machine but of the mathematical relations between the declared objects and their properties. Compiling or interpreting A computer program in the form of a human-readable, computer programming language is called source code. Source code may be converted into an executable image by a compiler or executed immediately with the aid of an interpreter. Either compiled or interpreted programs might be executed in a batch process without human interaction, but interpreted programs allow a user to type commands in an interactive session. In this case the programs are the separate commands, whose execution occurs sequentially and thus together. When a language is used to give commands to a software application such as a shell it is called a scripting language.
  • 6. Self-modifying programs A computer program in execution is normally treated as being different from the data the program operates on. However, in some cases this distinction is blurred when a computer program modifies itself. The modified computer program is subsequently executed as part of the same program. Self-modifying code is possible for programs written in machine code, assembly language, Lisp, C, COBOL, PL/1, Prelog and JavaScript among others. Embedded programs Some computer programs are embedded into hardware. A stored-program computer requires an initial computer program stored in its read-only memory to boot. The boot process is to identify and initialize all aspects of the system, from processor registers to device controllers to memory contents. Following the initialization process, this initial computer program loads the operating system and sets the program counter to begin normal operations. Independent of the host computer, a hardware device might have embedded firmware to control its operation. Firmware is used when the computer program is rarely or never expected to change, or when the program must not be lost when the power is off. Manual Programming Computer programs historically were manually input to the central processor via switches. An instruction was represented by a configuration of on/off settings. After setting the configuration, an execute button was pressed. This process was then repeated. Computer programs also historically were manually input via paper tape or punched cards. After the medium was loaded, the starting address was set via switches and the execute button pressed. Automatic programme Generation Generative programming is a style of computer programming that creates source code through generic classes, prototypes, templates, aspects, and code generators to improve programmer productivity. Source code is generated with programming tools such as a template processor or an integrated development
  • 7. environment. The simplest form of source code generator is a macro processor, such as the C pre-processor, which replaces patterns in source code according to relatively simple rules. Simultaneous execution Many operating systems support multitasking which enables many computer programs to appear to run simultaneously on one computer. Operating systems may run multiple programs through process scheduling a software mechanism to switch the CPU among processes often so users can interact with each program while it runs. Within hardware, modern day multiprocessor computers or computers with multicore processors may run multiple programs. Execution and storage Typically, computer programs are stored in non-volatile memory until requested either directly or indirectly to be executed by the computer user. Upon such a request, the program is loaded into random access memory, by a computer program called an operating system, where it can be accessed directly by the central processor. The central processor then executes ("runs") the program, instruction by instruction, until termination. A program in execution is called a process. Termination is either by normal self-termination or by error software or hardware error. Functional categories Computer programs may be categorized along functional lines. The main functional categories are system software and application software. System software includes the operating system which couples computer hardware with application software. The purpose of the operating system is to provide an environment in which application software executes in a convenient and efficient manner. In addition to the operating system, system software includes utility programs that help manage and tune the computer. If a computer program is not system software then it is application software. Application software
  • 8. includes middleware, which couples the system software with the user interface. Application software also includes utility programs that help users solve application problems, like the need for sorting. Debugging Debugging is a very important task in the software development, because an erroneous program can have significant consequences for its users. Some languages are more prone to some kinds of faults because their specification does not require compilers to perform as much checking as other languages. Use of a static analysis tool can help detect some possible problems. The Programming Process Developing a program involves steps similar to any problem-solving task. There are five main ingredients in the programming process: 1. Defining the problem 2. Planning the solution 3. Coding the program 4. Testing the program 5. Documenting the program Let us discuss each of these in turn. 1. Defining the Problem Suppose that, as a programmer, you are contacted because your services are needed. You meet with users from the client organization to analyse the problem, or you meet with a systems analyst who outlines the project. Specifically, the task of defining the problem consists of identifying what
  • 9. it is you know input-given data, and what it is you want to obtain output- the result. Eventually, you produce a written agreement that, among other things, specifies the kind of input, processing, and output required. This is not a simple process. 2. Planning the Solution Two common ways of planning the solution to a problem are to draw a flowchart and to write pseudo code, or possibly both. Essentially, a flowchart is a pictorial representation of a step-by-step solution to a problem. It consists of arrows representing the direction the program takes and boxes and other symbols representing actions. It is a map of what your program is going to do and how it is going to do it. 3. Coding the Program As the programmer, your next step is to code the program-that is, to express your solution in a programming language. You will translate the logic from the flowchart or pseudo code-or some other tool-to a programming language. As we have already noted, a programming language is a set of rules that provides a way of instructing the computer what operations to perform. There are many programming languages: BASIC, COBOL, Pascal, FORTRAN, and C are some examples. You may find yourself working with one or more of these. 4. Testing the Program Some experts insist that a well-designed program can be written correctly the first time. In fact, they assert that there are mathematical ways to prove that a program is correct. However, the imperfections of the world are still with us, so most programmers get used to the idea that their newly written programs probably have a few errors. This is a bit discouraging at first, since programmers tend to be precise, careful, detail-oriented people who take pride in their work. Still, there are many opportunities to introduce mistakes into programs, and you, just as those who have gone before you, will probably find several of them. Eventually, after coding the program, you must prepare to test it on the computer. The stapes are :
  • 10. 1. Desk-checking. . 2. Translating. 5. Documenting the Program Documenting is an on-going, necessary process, although, as many programmers are, you may be eager to pursue more exciting computer- cantered activities. Documentation is a written detailed description of the programming cycle and specific facts about the program. Typical program documentation materials include the origin and nature of the problem, a brief narrative description of the program, logic tools such as flowcharts and pseudo code, data-record descriptions, program listings, and testing results. Comments in the program itself are also considered an essential part of documentation. Many programmers document as they code. In a broader sense, program documentation can be part of the documentation for an entire system. Programming languages Different programming languages support different styles of programming (called programming paradigms). The choice of language used is subject to many considerations, such as company policy, suitability to task, availability of third-party packages, or individual preference. Ideally, the programming language best suited for the task at hand will be selected. Trade-offs from this ideal involve finding enough programmers who know the language to build a team, the availability of compilers for that language, and the efficiency with which programs written in a given language execute. There are Several types of Programming language which has been given bellow: 1. Machine language 2. Assembly languages 3. High-level languages 4. Very high-level languages 5. Natural languages
  • 11. Modern programming Quality requirements Whatever the approach to software development may be, the final program must satisfy some fundamental properties. The following five properties are among the most relevant: • Efficiency : the amount of system resources a program consumes (processor time, memory space, slow devices, network bandwidth and to some extent even user interaction), the less the better. • Reliability : how often the results of a program are correct. This depends on prevention of error propagation resulting from data conversion and prevention of errors resulting from buffer overflows, underflows and zero division. • Robustness : how well a program anticipates situations of data type conflict and other incompatibilities that result in run time errors and program halts. The focus is mainly on user interaction and the handling of exceptions. • Usability : the clarity and intuitiveness of a programs output can make or break its success. This involves a wide range of textual and graphical elements that makes a program easy and comfortable to use. • Portability : the range of hardware and OS platforms on which the source code of a program can be compiled and run. This depends mainly on the range of platform specific compilers for the language of the source code rather than anything having to do with the program directly. Conclusion
  • 12. At the end of this discussion we can understand that computer programming is very important in this modern computer based life style. Without computer programming we cannot make any software without which the every computer based operation cannot be finished in a good way or its totally impossible to do any work in computer because without software or operating system we cannot imagine to control a computer and without computer programming we cannot abele to make an software or Operating system so it’s very important.