SlideShare a Scribd company logo
‫بسم‬‫هللا‬‫الرحمن‬‫الرحيم‬
Assalam o Alaikum!
Software Programming and Development
Presented to: Waqar Azeem
Presented by: M. Haseeb Akhtar BSCS-(14-32)
Asadullah BSCS-(14-25)
Farwa Shabbir BSCS-(14-09)
Hiba Amjad BSCS-(14-22)
Wasfa Aslam BSCS-(14-07)
Maria Asif BSCS-(14-23)
University of Gujrat
Lahore Campus
Introduction to Computers and Technology
Table of Content
 Introduction
 Definition
 Hardware, software and interaction between the them.
 Code and Machine Code
 Programming Languages
 Language Translators
 Planning a computer program and problem solving
 Object-orientated programming
 File and its types
Introduction:
Software development is a complicated process. It requires careful planning
and execution to meet the goals. Sometimes a developer must react quickly
and aggressively to meet ever-changing market demands. Maintaining
software quality hinders fast-paced software development, as many testing
cycles are necessary to ensure quality products.
Definition:
A computer program is a set of instructions or statement to be carried out by
the computer. It is a set of step by step instructions that directs the computer
to do the tasks you want it to do and produce the results you want.
There are at least two good reason for learning programming:
 Programming helps you understand computers.
 Writing a few programs increases your confidence level.
Hardware:
Computer Hardware is the collection of physical parts of the computer system.
Main examples of hardware are:
 Motherboard
 Processor
 Hard drive
 RAM etc.
Software:
 Software is a set of instruction that makes the computer to perform task. In
other words software tells the computer what to do.
 It also creates an interface between
computer hardware and user.
Type of Program Input What the Program Does Output
Word processor Characters you type from
the keyboard
Formats the text; corrects
spelling etc.
Displays and prints neatly
organized text
Interaction between Software and
hardware:
 Hardware and software are inter-related.
 User inputs the instruction of data into the computer with the help of
software.
 Computer hardware doesn’t know what action to be performed on that
instruction without software.
Code:
 A set of symbols and mnemonics for representing something. For example,
most computers use ASCII codes to represent character.
 In programming, code is of two types:
 Source code:
It is the list of commands to be assembled or compiled into an executable computer
program.
 Object code:
It refers to the code produced by the compiler or assembler.
Machine Code:
Machine code, also called machine language, is a computer programming
language consisting of binary or hexadecimal instructions which can be
directly executed by the computer.
It is the language into which all programs
must be converted before they can
be run.
Programming Languages:
 The language used to write a program is called programming language.
 it is the way of creating set of instructions.
 Creates a source code.
Types of Programming Languages
Low-level High-level
Types of Programming Languages:
Low Level Languages:
 Instruction given to the computer in the binary form.
 It is further divided into two types.
Low-Level Language
1st Generation 2nd Generation
1st Generation Language:
 1st generation language is also known as Machine language.
 By using machine language, a programmer creates instructions in the form
of binary codes (i.e. 1’s and 0’s).
2nd Generation Language:
 2nd generation language is also called assembly language.
 It uses simple phrasing in place of the complex series of binary numbers,
used in machine language.
 To develop a software with it, a programmer uses text editor for source files.
 A special translator program is used to convert source files into object code.
 This special translator program is called assembler, that converts assembly
language instructions into machine language.
High-level Languages:
 It is the language that is easily understood by the humans and written in the
form of human friendly manner.
 It consists of different functions to create a program.
 It is divided into three categories.
High-Level Language
3rd Generation 4th Generation 5th Generation
3rd Generation Languages:
 There are four languages that are categorized in 3rd generation languages.
 These four languages are:
 C
 C++
 Java
 ActiveX
C Language:
 C is a powerful language that is used to create programs with fast and
efficient code.
 It is extremely popular with professional developers.
 C compiler is used to compile or translate code written on it into machine
readable form.
 Turbo C is a common example of C compiler.
C++ Language:
 C++ is an object oriented implementation of C.
 It is an extremely efficient and powerful language.
 It also uses C compiler for the same purpose as C language.
 Turbo C is used for compiling both C and C++ language.
Java:
 It creates cross-platform programs.
 Java enables web page designer to include small applications called
applets in web pages.
 It creates self-contained functions.
ActiveX:
 It is Microsoft’s answer to java.
 It can create signed applications that has been verified as being safe to
run on a computer.
 It can also create self contained functions.
4th Generation Languages:
 4GL uses text environment or visual environment.
 In text environment, the programmer uses English text or word.
 In visual environment, the programmer uses toolbar to drag items like labels,
test boxes and buttons to make an application.
 4GL includes:
 .NET
 Authoring Environment
 Sun Studio One
.NET:
 It is Microsoft’s newest entry.
 It combines several programming languages into one IDE.
 For example, Visual basic, C++,C# and J#.
 Programs can be written for windows, www and pocket pc.
Authoring Environment:
 Authoring environment consists of special programming tools to create:
 Multimedia
 Applications
 Web pages (e.g. Macromedia Director)
It includes its own language which is called scripting language.
Sun Studio One:
 It is used to for java for visual editing.
 It is developed by sun, the creators of Java.
5th Generation Language:
 In principle, a 5GL would use artificial intelligence to create software based
on description of what the software should do.
 This type of system is proving more difficult to invent than the code it was
intended to create.
 It is basically a conceptual language.
Language Translators:
 For converting the source code into object code, translators or converters
are used.
 These translators are of three types:
 Assembler
 Compiler
 Interpreter
Assembler is not commonly used, so we’ll only discuss the compiler and
interpreter.
Compiler:
 Translates the whole program at a time.
 Common reason to convert all the source code into object code is to
creating an executable file.
 Each programming language requires its own compiler to translate code
written in that language.
 For example, the programming language C++ requires a C++ compiler,
while the language Pascal requires a Pascal compiler.
 The source code is translated into object code successfully with the help of
compiler if it is free of errors.
 If there is any error in the source code, the compiler identifies the error at the
end of the compilation.
 The error must be removed for successful compilation.
Interpreter:
 translates the source code into machine code statement by statement is
called interpreter.
 Translate one line at a time and executes it.
 if an error comes, translation process will be terminated.
 Makes it easier to detect and remove errors in the source program.
 It is a time consuming process of translating and executing statement one
by one.
 Each time the program is run, the source code is translated again, and for
this purpose you must have a translator program (interpreter) permanently
in your computer.
Basic difference between Compiler
and Interpreter:
Compiler Takes the entire
program as an input
Interpreter takes single
instruction as input
Basic difference between Compiler
and Interpreter:
Program execution is
very fast.
Program execution is
very slow.
Basic differences between Compiler
and Interpreter:
It is difficult to trace a
problem in compiler.
It is easy to trace a
problem in interpreter due
to line by line interpreting.
Basic differences between Compiler
and Interpreter:
Errors are displayed
after the entire program
is checked
Errors are displayed for
every instruction
Planning a Computer Program and
problem solving:
 Planning means creating an image about what will you do in future.
 In computer programming, it means creating an image about how you will
create a specific program.
 Planning and problem solving of a computer program can be divided into
three types:
 Algorithms
 Flow Charts
 Pseudo Codes
Algorithms:
 It is a set of well defined instructions in a sequence to solve a problem.
 An Algorithm should have:
 A clear starting point.
 Precisely defined input/output parameters.
 Clear processing steps.
 A clear stopping point
 It should not have computer code, instead, it should be written in simple and
efficient format, which can be used in writing a code.
 It is written in a format that is closer to high-level language.
 For example: Algorithm of Addition of two numbers
Step 1: Start
Step 2: Declare variables number1,number2 and sum
Step 3: Read values
Step 4: Add number1 and number2 and store in sum
Step 5: Display sum
Step 6: Stop
Flow Charts:
 It is a visual representation of an Algorithm.
 You can also say that is the diagrammatic representation of an algorithm.
 Importance of Flow chart:
 Using flow chart technique, the sequence of program can be easily determined.
 It is used to convert algorithm in simple program flow form.
 Different symbols are used to show the flow of program
 E.g.:
Start or
Stop
Conditions
Flow
 Flow chart of Addition of two numbers:
Start
Declare number1,
number2 and sum
Read values
Sum=number1+nu
mber2
Display
Sum
Stop
Pseudo Codes:
 It is a simple way of writing a program code in a syntax closer to high-level
language.
 It does not use program language syntax.
 It is a simple phrase to plan our program before we actually develop a
program.
 A Pseudo code:
 helps to understand the program easy way.
 Is easy to understand.
 Is generally short and precise.
 can be easily detectable to the mistakes and errors.
 Pseudo code for addition of two numbers:
A number1
B number2
S sum
Start
Display: enter two numbers
Read: Read numbers
Add: S=A+B
Display: sum, S
Stop
That was all about software programming
and development….
Thank you for you support 

More Related Content

What's hot

System software
System softwareSystem software
System software
Harsha Sachdeva
 
Programming
ProgrammingProgramming
Programming
Leo Simon Anfone
 
Functions Of Operating System
Functions Of Operating SystemFunctions Of Operating System
Functions Of Operating System
Dr.Suresh Isave
 
Software and hardware overview
Software and hardware overviewSoftware and hardware overview
Software and hardware overview
ChristianEmard
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
REHAN IJAZ
 
What is Application Software?
What is Application Software?What is Application Software?
What is Application Software?
DaisyJeffenYRios
 
Computer Hardware and software
Computer Hardware and softwareComputer Hardware and software
Computer Hardware and softwareVisualBee.com
 
Transforming data into information
Transforming data into informationTransforming data into information
Transforming data into information
Sirat Mahmood
 
Programming languages
Programming languagesProgramming languages
Programming languagesvito_carleone
 
System Software vs.Application Software
System Software vs.Application SoftwareSystem Software vs.Application Software
System Software vs.Application Software
Aashima Wadhwa
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
fazli khaliq
 
Fundamentals Of Computer
Fundamentals Of ComputerFundamentals Of Computer
Fundamentals Of Computer
Jack Frost
 
Computer languages
Computer languagesComputer languages
Computer languages
Buxoo Abdullah
 
Computer Software
Computer SoftwareComputer Software
Computer Software
julinaincgumanit
 
The different components of a computer system
The different components of a computer system The different components of a computer system
The different components of a computer system
Subagini Manivannan
 
Presentation on Programming Languages.
Presentation on Programming Languages.Presentation on Programming Languages.
Presentation on Programming Languages.
Mohammad Shakirul islam
 
Computer hardware component. ppt
Computer hardware component. pptComputer hardware component. ppt
Computer hardware component. pptNaveen Sihag
 

What's hot (20)

System software
System softwareSystem software
System software
 
Computer programming concepts
Computer programming conceptsComputer programming concepts
Computer programming concepts
 
Programming
ProgrammingProgramming
Programming
 
Functions Of Operating System
Functions Of Operating SystemFunctions Of Operating System
Functions Of Operating System
 
Software and hardware overview
Software and hardware overviewSoftware and hardware overview
Software and hardware overview
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
What is Application Software?
What is Application Software?What is Application Software?
What is Application Software?
 
Computer Hardware and software
Computer Hardware and softwareComputer Hardware and software
Computer Hardware and software
 
Transforming data into information
Transforming data into informationTransforming data into information
Transforming data into information
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
System Software vs.Application Software
System Software vs.Application SoftwareSystem Software vs.Application Software
System Software vs.Application Software
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
 
Fundamentals Of Computer
Fundamentals Of ComputerFundamentals Of Computer
Fundamentals Of Computer
 
Presentation on operating system
 Presentation on operating system Presentation on operating system
Presentation on operating system
 
Computer languages
Computer languagesComputer languages
Computer languages
 
Computer Software
Computer SoftwareComputer Software
Computer Software
 
The different components of a computer system
The different components of a computer system The different components of a computer system
The different components of a computer system
 
Presentation on Programming Languages.
Presentation on Programming Languages.Presentation on Programming Languages.
Presentation on Programming Languages.
 
Computer hardware component. ppt
Computer hardware component. pptComputer hardware component. ppt
Computer hardware component. ppt
 
Hardware & Software
Hardware & SoftwareHardware & Software
Hardware & Software
 

Viewers also liked

Brain Programming Software By Mr. Prashant Sawant
Brain Programming Software By Mr. Prashant Sawant Brain Programming Software By Mr. Prashant Sawant
Brain Programming Software By Mr. Prashant Sawant
Health Education Library for People
 
automation process
automation processautomation process
automation process
Dhiraj Jha
 
Intro Ch 07 B
Intro Ch 07 BIntro Ch 07 B
Intro Ch 07 B
ali00061
 
System programming
System programmingSystem programming
System programming
jayashri kolekar
 
Baptism ritual structure and symbols
Baptism ritual structure and symbolsBaptism ritual structure and symbols
Baptism ritual structure and symbols
mariacatherinelucia
 
Places to see in your lifetime
Places to see in your lifetimePlaces to see in your lifetime
Places to see in your lifetime
Claudia Vlad
 
Eurorail Project: CEE Sea-to-Sea Connectivity
Eurorail Project: CEE Sea-to-Sea ConnectivityEurorail Project: CEE Sea-to-Sea Connectivity
Eurorail Project: CEE Sea-to-Sea Connectivity
Sergii Kiral
 
Presentation1
Presentation1Presentation1
Presentation1
Seandoel97
 
Suzuki violin method vol 01
Suzuki violin method   vol 01Suzuki violin method   vol 01
Suzuki violin method vol 01Mariel Guzmán
 
RF coaxial connector - dongya electronic
RF coaxial connector - dongya electronicRF coaxial connector - dongya electronic
RF coaxial connector - dongya electronic
Focus_Shu
 
Verb
VerbVerb
Verb
Ali Raza
 
What animal
What animalWhat animal
What animal
mariacatherinelucia
 
What animal
What animalWhat animal
What animal
mariacatherinelucia
 
Forms and conventions of a music video
Forms and conventions of a music videoForms and conventions of a music video
Forms and conventions of a music video
Seandoel97
 
Lineas de prodcuto de software y Metodo watch
Lineas de prodcuto de software y Metodo watchLineas de prodcuto de software y Metodo watch
Lineas de prodcuto de software y Metodo watch
Jhoncruz_22
 
Hasil Review
Hasil Review Hasil Review
Hasil Review
Ali Raza
 
Flickr by Olivia and Stacie
Flickr by Olivia and StacieFlickr by Olivia and Stacie
Flickr by Olivia and Stacie
stacielynnscott
 

Viewers also liked (20)

Brain Programming Software By Mr. Prashant Sawant
Brain Programming Software By Mr. Prashant Sawant Brain Programming Software By Mr. Prashant Sawant
Brain Programming Software By Mr. Prashant Sawant
 
automation process
automation processautomation process
automation process
 
Intro Ch 07 B
Intro Ch 07 BIntro Ch 07 B
Intro Ch 07 B
 
System programming
System programmingSystem programming
System programming
 
Baptism ritual structure and symbols
Baptism ritual structure and symbolsBaptism ritual structure and symbols
Baptism ritual structure and symbols
 
Places to see in your lifetime
Places to see in your lifetimePlaces to see in your lifetime
Places to see in your lifetime
 
Eurorail Project: CEE Sea-to-Sea Connectivity
Eurorail Project: CEE Sea-to-Sea ConnectivityEurorail Project: CEE Sea-to-Sea Connectivity
Eurorail Project: CEE Sea-to-Sea Connectivity
 
Presentation1
Presentation1Presentation1
Presentation1
 
Suzuki violin method vol 01
Suzuki violin method   vol 01Suzuki violin method   vol 01
Suzuki violin method vol 01
 
RF coaxial connector - dongya electronic
RF coaxial connector - dongya electronicRF coaxial connector - dongya electronic
RF coaxial connector - dongya electronic
 
Verb
VerbVerb
Verb
 
Mystery Audit
Mystery AuditMystery Audit
Mystery Audit
 
Presentation1
Presentation1Presentation1
Presentation1
 
What animal
What animalWhat animal
What animal
 
What animal
What animalWhat animal
What animal
 
howti
howtihowti
howti
 
Forms and conventions of a music video
Forms and conventions of a music videoForms and conventions of a music video
Forms and conventions of a music video
 
Lineas de prodcuto de software y Metodo watch
Lineas de prodcuto de software y Metodo watchLineas de prodcuto de software y Metodo watch
Lineas de prodcuto de software y Metodo watch
 
Hasil Review
Hasil Review Hasil Review
Hasil Review
 
Flickr by Olivia and Stacie
Flickr by Olivia and StacieFlickr by Olivia and Stacie
Flickr by Olivia and Stacie
 

Similar to Software programming and development

Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
nharsh2308
 
Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12
Sehrish Rafiq
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
Seble Nigussie
 
Chapter1.pdf
Chapter1.pdfChapter1.pdf
Chapter1.pdf
tharwatabdulhmed
 
Ppt 1
Ppt 1Ppt 1
1.Overview of Programming.pptx
1.Overview of Programming.pptx1.Overview of Programming.pptx
1.Overview of Programming.pptx
Vishwas459764
 
Introduction to programming c
Introduction to programming cIntroduction to programming c
Introduction to programming c
Md. Rakibuzzaman Khan Pathan
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
zaheeriqbal41
 
INTRODUCTION TO C PROGRAMMING MATERIAL.pdf
INTRODUCTION TO C PROGRAMMING MATERIAL.pdfINTRODUCTION TO C PROGRAMMING MATERIAL.pdf
INTRODUCTION TO C PROGRAMMING MATERIAL.pdf
Subramanyambharathis
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer software
Sweta Kumari Barnwal
 
Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)
Chao-Lung Yang
 
CS3251-_PIC
CS3251-_PICCS3251-_PIC
Introduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem AnsariIntroduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem Ansari
Tech
 
C lecture notes new
C lecture notes newC lecture notes new
C lecture notes new
Kuntal Bhowmick
 
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
 
Programming in C
Programming in CProgramming in C
Programming in C
Rvishnupriya2
 
Programming in c
Programming in cProgramming in c
Programming in c
vishnu973656
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
Noel Malle
 
notes on Programming fundamentals
notes on Programming fundamentals notes on Programming fundamentals
notes on Programming fundamentals
ArghodeepPaul
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
PmarkNorcio
 

Similar to Software programming and development (20)

Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
 
Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
 
Chapter1.pdf
Chapter1.pdfChapter1.pdf
Chapter1.pdf
 
Ppt 1
Ppt 1Ppt 1
Ppt 1
 
1.Overview of Programming.pptx
1.Overview of Programming.pptx1.Overview of Programming.pptx
1.Overview of Programming.pptx
 
Introduction to programming c
Introduction to programming cIntroduction to programming c
Introduction to programming c
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
 
INTRODUCTION TO C PROGRAMMING MATERIAL.pdf
INTRODUCTION TO C PROGRAMMING MATERIAL.pdfINTRODUCTION TO C PROGRAMMING MATERIAL.pdf
INTRODUCTION TO C PROGRAMMING MATERIAL.pdf
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer software
 
Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)Introduction to Computer Programming (general background)
Introduction to Computer Programming (general background)
 
CS3251-_PIC
CS3251-_PICCS3251-_PIC
CS3251-_PIC
 
Introduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem AnsariIntroduction to Programming Concepts By Aamir Saleem Ansari
Introduction to Programming Concepts By Aamir Saleem Ansari
 
C lecture notes new
C lecture notes newC lecture notes new
C lecture notes new
 
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
 
Programming in C
Programming in CProgramming in C
Programming in C
 
Programming in c
Programming in cProgramming in c
Programming in c
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
notes on Programming fundamentals
notes on Programming fundamentals notes on Programming fundamentals
notes on Programming fundamentals
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
 

More from Ali Raza

Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
Ali Raza
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
Ali Raza
 
Difference
DifferenceDifference
Difference
Ali Raza
 
The mughal empire
The mughal empireThe mughal empire
The mughal empire
Ali Raza
 
Psychology
PsychologyPsychology
Psychology
Ali Raza
 
Assignment of ict robotics
Assignment of ict roboticsAssignment of ict robotics
Assignment of ict robotics
Ali Raza
 
Operating system
Operating systemOperating system
Operating system
Ali Raza
 
artificial intelligence
artificial intelligence artificial intelligence
artificial intelligence
Ali Raza
 
E commrece
E commreceE commrece
E commrece
Ali Raza
 
Computer networks7
Computer networks7Computer networks7
Computer networks7
Ali Raza
 
Presentation DBMS (1)
Presentation DBMS (1)Presentation DBMS (1)
Presentation DBMS (1)
Ali Raza
 
Personal computer
Personal computer Personal computer
Personal computer
Ali Raza
 
Assignment of ict robotics
Assignment of ict roboticsAssignment of ict robotics
Assignment of ict robotics
Ali Raza
 
Presentation of verb
Presentation of verb Presentation of verb
Presentation of verb
Ali Raza
 

More from Ali Raza (14)

Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Difference
DifferenceDifference
Difference
 
The mughal empire
The mughal empireThe mughal empire
The mughal empire
 
Psychology
PsychologyPsychology
Psychology
 
Assignment of ict robotics
Assignment of ict roboticsAssignment of ict robotics
Assignment of ict robotics
 
Operating system
Operating systemOperating system
Operating system
 
artificial intelligence
artificial intelligence artificial intelligence
artificial intelligence
 
E commrece
E commreceE commrece
E commrece
 
Computer networks7
Computer networks7Computer networks7
Computer networks7
 
Presentation DBMS (1)
Presentation DBMS (1)Presentation DBMS (1)
Presentation DBMS (1)
 
Personal computer
Personal computer Personal computer
Personal computer
 
Assignment of ict robotics
Assignment of ict roboticsAssignment of ict robotics
Assignment of ict robotics
 
Presentation of verb
Presentation of verb Presentation of verb
Presentation of verb
 

Recently uploaded

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Software programming and development

  • 3. Software Programming and Development Presented to: Waqar Azeem Presented by: M. Haseeb Akhtar BSCS-(14-32) Asadullah BSCS-(14-25) Farwa Shabbir BSCS-(14-09) Hiba Amjad BSCS-(14-22) Wasfa Aslam BSCS-(14-07) Maria Asif BSCS-(14-23) University of Gujrat Lahore Campus Introduction to Computers and Technology
  • 4. Table of Content  Introduction  Definition  Hardware, software and interaction between the them.  Code and Machine Code  Programming Languages  Language Translators  Planning a computer program and problem solving  Object-orientated programming  File and its types
  • 5. Introduction: Software development is a complicated process. It requires careful planning and execution to meet the goals. Sometimes a developer must react quickly and aggressively to meet ever-changing market demands. Maintaining software quality hinders fast-paced software development, as many testing cycles are necessary to ensure quality products.
  • 6. Definition: A computer program is a set of instructions or statement to be carried out by the computer. It is a set of step by step instructions that directs the computer to do the tasks you want it to do and produce the results you want. There are at least two good reason for learning programming:  Programming helps you understand computers.  Writing a few programs increases your confidence level.
  • 7. Hardware: Computer Hardware is the collection of physical parts of the computer system. Main examples of hardware are:  Motherboard  Processor  Hard drive  RAM etc.
  • 8. Software:  Software is a set of instruction that makes the computer to perform task. In other words software tells the computer what to do.  It also creates an interface between computer hardware and user. Type of Program Input What the Program Does Output Word processor Characters you type from the keyboard Formats the text; corrects spelling etc. Displays and prints neatly organized text
  • 9. Interaction between Software and hardware:  Hardware and software are inter-related.  User inputs the instruction of data into the computer with the help of software.  Computer hardware doesn’t know what action to be performed on that instruction without software.
  • 10. Code:  A set of symbols and mnemonics for representing something. For example, most computers use ASCII codes to represent character.  In programming, code is of two types:  Source code: It is the list of commands to be assembled or compiled into an executable computer program.  Object code: It refers to the code produced by the compiler or assembler.
  • 11. Machine Code: Machine code, also called machine language, is a computer programming language consisting of binary or hexadecimal instructions which can be directly executed by the computer. It is the language into which all programs must be converted before they can be run.
  • 12. Programming Languages:  The language used to write a program is called programming language.  it is the way of creating set of instructions.  Creates a source code.
  • 13. Types of Programming Languages Low-level High-level Types of Programming Languages:
  • 14. Low Level Languages:  Instruction given to the computer in the binary form.  It is further divided into two types. Low-Level Language 1st Generation 2nd Generation
  • 15. 1st Generation Language:  1st generation language is also known as Machine language.  By using machine language, a programmer creates instructions in the form of binary codes (i.e. 1’s and 0’s).
  • 16. 2nd Generation Language:  2nd generation language is also called assembly language.  It uses simple phrasing in place of the complex series of binary numbers, used in machine language.  To develop a software with it, a programmer uses text editor for source files.  A special translator program is used to convert source files into object code.  This special translator program is called assembler, that converts assembly language instructions into machine language.
  • 17.
  • 18. High-level Languages:  It is the language that is easily understood by the humans and written in the form of human friendly manner.  It consists of different functions to create a program.  It is divided into three categories.
  • 19. High-Level Language 3rd Generation 4th Generation 5th Generation
  • 20. 3rd Generation Languages:  There are four languages that are categorized in 3rd generation languages.  These four languages are:  C  C++  Java  ActiveX
  • 21. C Language:  C is a powerful language that is used to create programs with fast and efficient code.  It is extremely popular with professional developers.  C compiler is used to compile or translate code written on it into machine readable form.  Turbo C is a common example of C compiler.
  • 22. C++ Language:  C++ is an object oriented implementation of C.  It is an extremely efficient and powerful language.  It also uses C compiler for the same purpose as C language.  Turbo C is used for compiling both C and C++ language.
  • 23.
  • 24. Java:  It creates cross-platform programs.  Java enables web page designer to include small applications called applets in web pages.  It creates self-contained functions.
  • 25. ActiveX:  It is Microsoft’s answer to java.  It can create signed applications that has been verified as being safe to run on a computer.  It can also create self contained functions.
  • 26. 4th Generation Languages:  4GL uses text environment or visual environment.  In text environment, the programmer uses English text or word.  In visual environment, the programmer uses toolbar to drag items like labels, test boxes and buttons to make an application.  4GL includes:  .NET  Authoring Environment  Sun Studio One
  • 27. .NET:  It is Microsoft’s newest entry.  It combines several programming languages into one IDE.  For example, Visual basic, C++,C# and J#.  Programs can be written for windows, www and pocket pc.
  • 28. Authoring Environment:  Authoring environment consists of special programming tools to create:  Multimedia  Applications  Web pages (e.g. Macromedia Director) It includes its own language which is called scripting language.
  • 29.
  • 30. Sun Studio One:  It is used to for java for visual editing.  It is developed by sun, the creators of Java.
  • 31. 5th Generation Language:  In principle, a 5GL would use artificial intelligence to create software based on description of what the software should do.  This type of system is proving more difficult to invent than the code it was intended to create.  It is basically a conceptual language.
  • 32. Language Translators:  For converting the source code into object code, translators or converters are used.  These translators are of three types:  Assembler  Compiler  Interpreter Assembler is not commonly used, so we’ll only discuss the compiler and interpreter.
  • 33. Compiler:  Translates the whole program at a time.  Common reason to convert all the source code into object code is to creating an executable file.  Each programming language requires its own compiler to translate code written in that language.  For example, the programming language C++ requires a C++ compiler, while the language Pascal requires a Pascal compiler.
  • 34.  The source code is translated into object code successfully with the help of compiler if it is free of errors.  If there is any error in the source code, the compiler identifies the error at the end of the compilation.  The error must be removed for successful compilation.
  • 35. Interpreter:  translates the source code into machine code statement by statement is called interpreter.  Translate one line at a time and executes it.  if an error comes, translation process will be terminated.  Makes it easier to detect and remove errors in the source program.
  • 36.  It is a time consuming process of translating and executing statement one by one.  Each time the program is run, the source code is translated again, and for this purpose you must have a translator program (interpreter) permanently in your computer.
  • 37. Basic difference between Compiler and Interpreter: Compiler Takes the entire program as an input Interpreter takes single instruction as input
  • 38. Basic difference between Compiler and Interpreter: Program execution is very fast. Program execution is very slow.
  • 39. Basic differences between Compiler and Interpreter: It is difficult to trace a problem in compiler. It is easy to trace a problem in interpreter due to line by line interpreting.
  • 40. Basic differences between Compiler and Interpreter: Errors are displayed after the entire program is checked Errors are displayed for every instruction
  • 41. Planning a Computer Program and problem solving:  Planning means creating an image about what will you do in future.  In computer programming, it means creating an image about how you will create a specific program.  Planning and problem solving of a computer program can be divided into three types:  Algorithms  Flow Charts  Pseudo Codes
  • 42. Algorithms:  It is a set of well defined instructions in a sequence to solve a problem.  An Algorithm should have:  A clear starting point.  Precisely defined input/output parameters.  Clear processing steps.  A clear stopping point  It should not have computer code, instead, it should be written in simple and efficient format, which can be used in writing a code.  It is written in a format that is closer to high-level language.
  • 43.  For example: Algorithm of Addition of two numbers Step 1: Start Step 2: Declare variables number1,number2 and sum Step 3: Read values Step 4: Add number1 and number2 and store in sum Step 5: Display sum Step 6: Stop
  • 44. Flow Charts:  It is a visual representation of an Algorithm.  You can also say that is the diagrammatic representation of an algorithm.  Importance of Flow chart:  Using flow chart technique, the sequence of program can be easily determined.  It is used to convert algorithm in simple program flow form.  Different symbols are used to show the flow of program  E.g.: Start or Stop Conditions Flow
  • 45.  Flow chart of Addition of two numbers: Start Declare number1, number2 and sum Read values Sum=number1+nu mber2 Display Sum Stop
  • 46. Pseudo Codes:  It is a simple way of writing a program code in a syntax closer to high-level language.  It does not use program language syntax.  It is a simple phrase to plan our program before we actually develop a program.  A Pseudo code:  helps to understand the program easy way.  Is easy to understand.  Is generally short and precise.  can be easily detectable to the mistakes and errors.
  • 47.  Pseudo code for addition of two numbers: A number1 B number2 S sum Start Display: enter two numbers Read: Read numbers Add: S=A+B Display: sum, S Stop
  • 48. That was all about software programming and development…. Thank you for you support 