SlideShare a Scribd company logo
Your Interactive Guide
to the Digital World
Discovering
Computers 2012
Objectives Overview
Differentiate between
machine and assembly
languages
Identify and discuss the
purpose of procedural
programming languages,
and describe the features of
C and COBOL
Identify and discuss the
characteristics of these
object-oriented
programming languages
and program development
tools
Identify the uses of other
programming languages
and program development
tools
Describe various ways to
develop Web pages
Discovering Computers 2012: Chapter 13 2See Page 663
for Detailed Objectives
Objectives Overview
Identify the uses of
popular multimedia
authoring programs
List the six steps in the
program development
life cycle
Differentiate between
structured design and
object-oriented design
Explain the basic
control structures and
design tools used in
designing solutions to
programming problems
Discovering Computers 2012: Chapter 13 3See Page 663
for Detailed Objectives
Computer Programs
and Programming Languages
• A computer program is a series of instructions
that directs a computer to perform tasks
– Created by a programmer using a programming
language
Discovering Computers 2012: Chapter 13 4Pages 664 – 665
Figure 13-1
Low-Level Languages
• Machine language is
the first generation of
programming languages
• Only language the
computer directly
recognizes
Discovering Computers 2012: Chapter 13 5Page 665
Figure 13-2
Low-Level Languages
• Assembly language is the
second generation of
programming languages
• Programmer writes
instructions using
symbolic instruction
codes
• A source program
contains the code to be
converted to machine
language
Discovering Computers 2012: Chapter 13 6Pages 665 – 666
Figure 13-3
Procedural Languages
• In a procedural language, the programmer writes
instructions that tell the computer what to
accomplish and how to do it
– Third-generation language (3GL)
Discovering Computers 2012: Chapter 13 7Pages 666 - 667
A compiler
translates an entire
program before
executing it
An interpreter converts
and executes one code
statement at a time
Procedural Languages
Discovering Computers 2012: Chapter 13 8Page 667
Figures 13-4 – 13-5
Procedural Languages
• The C programming language is used to write
many of today’s programs
Discovering Computers 2012: Chapter 13 9Page 668
Figure 13-6
Procedural Languages
• COBOL (Common Business-Oriented Language) is
designed for business applications, but easy to
read because of the English-like statements
Discovering Computers 2012: Chapter 13 10Pages 668 – 669
Figure 13-7
Object-Oriented Programming Languages
and Program Development Tools
• An object-oriented programming (OOP) language allows
programmers the ability to reuse and modify existing
objects
• Other advantages include:
Discovering Computers 2012: Chapter 13 11Page 669
Objects can be
reused
Programmers
create applications
faster
Work well in a
RAD environment
Most program
development tools
are IDEs
Object-Oriented Programming Languages
and Program Development Tools
• Java is an object-oriented programming language
developed by Sun Microsystems
• The Just-in-time (JIT) compiler converts the bytecode into
machine-dependent code
Discovering Computers 2012: Chapter 13 12Page 670
Figure 13-8
Object-Oriented Programming Languages
and Program Development Tools
• The Microsoft .NET Framework allows almost any
type of program to run on the Internet or an
internal business network, as well as computers
and mobile devices
• Features include:
Discovering Computers 2012: Chapter 13 13Page 670
CLR (Common
Language
Runtime)
Classes
Object-Oriented Programming Languages
and Program Development Tools
• C++ is an extension of
the C programming
language
• C# is based on C++ and
was developed by
Microsoft
• F# combines the
benefits of an object-
oriented language with
those of a functional
language
Discovering Computers 2012: Chapter 13 14Page 671
Figure 13-9
Object-Oriented Programming Languages
and Program Development Tools
Visual Studio is Microsoft’s suite of
program development tools
Visual Basic is
based on the BASIC
programming
language
Visual C++ is based
on C++
Visual C# combines
the programming
elements of C++
with an easier,
rapid-development
environment
Discovering Computers 2012: Chapter 13 15Pages 671 - 673
Object-Oriented Programming Languages
and Program Development Tools
Discovering Computers 2012: Chapter 13 16Page 672
Figure 13-10
Object-Oriented Programming Languages
and Program Development Tools
A visual programming language is a language that
uses a visual or graphical interface for creating all
source code
Borland’s Delphi is a powerful program
development tool that is ideal for building large-
scale enterprise and Web applications in a RAD
environment
Discovering Computers 2012: Chapter 13 17Page 673
Object-Oriented Programming Languages
and Program Development Tools
Discovering Computers 2012: Chapter 13 18Page 673
Figure 13-11
Object-Oriented Programming Languages
and Program Development Tools
• PowerBuilder is a
powerful program
development RAD tool
• Best suited for Web-
based, .NET, and large-
scale enterprise object-
oriented applications
Discovering Computers 2012: Chapter 13 19Page 674
Figure 13-12
Other Programming Languages
and Development Tools
• A 4GL (fourth-generation language) is a
nonprocedural language that enables users and
programmers to access data in a database
– One popular 4GL is SQL
Discovering Computers 2012: Chapter 13 20Page 674
Figure 13-13
Other Programming Languages
and Development Tools
• Classic programming languages include:
Discovering Computers 2012: Chapter 13 21Page 675
Figure 13-14
Ada ALGOL APL BASIC
Forth FORTRAN HyperTalk LISP
Logo Modula-2 Pascal PILOT
PL/1 Prolog RPG Smalltalk
Other Programming Languages
and Development Tools
• An application generator is a program that creates
source code or machine code from a specification of the
required functionality
– Often bundled as part of a DBMS
Discovering Computers 2012: Chapter 13 22Page 676
Figure 13-15
Other Programming Languages
and Development Tools
• A macro is a series of statements that instructs an
application how to complete a task
• You usually create the macro in one of two ways:
– Record the macro with a macro recorder
– Write the macro
Discovering Computers 2012: Chapter 13 23Page 676
Other Programming Languages
and Development Tools
Discovering Computers 2012: Chapter 13 24Page 677
Figure 13-16
Web Page Development
• HTML is a special
formatting language
that programmers use
to format documents
for display on the Web
• XHTML is a markup
language that allows
Web sites to be
displayed more easily
on mobile devices
Discovering Computers 2012: Chapter 13 25Page 678
Figure 13-17
Web Page Development
• XML allows Web developers to create customized
tags and use predefined tags to display content
appropriately on various devices
– WML is a subset of XML and is used to design pages
for microbrowsers
• Two applications of XML are RSS 2.0 and ATOM
Discovering Computers 2012: Chapter 13 26Page 679
Web Page Development
Discovering Computers 2012: Chapter 13 27Page 679
Figure 13-18
Web Page Development
• Web browsers can execute short programs to add
interactive elements to Web pages
• To send and receive information between your computer
and a Web server, these programs use the CGI (common
gateway interface)
Discovering Computers 2012: Chapter 13 28Page 680
Scripts Applets
Servlets
ActiveX
controls
Web Page Development
Discovering Computers 2012: Chapter 13 29Page 681
Figure 13-19
Web Page Development
• Programmers write scripts, applets, servlets, or
ActiveX controls using a variety of languages
Discovering Computers 2012: Chapter 13 30Pages 682 - 683
JavaScript Perl PHP
Rexx Tcl VBScript
Web Page Development
Discovering Computers 2012: Chapter 13 31Page 682
Figure 13-20
Web Page Development
Dynamic HTML (DHTML) allows Web
developers to include more graphical
interest and interactivity
• Cascading style sheets (CSS) contain the formats for how a particular
object should be displayed
Ruby on Rails (RoR) provides technologies
for developing object-oriented, database-
driven Web sites
Discovering Computers 2012: Chapter 13 32Page 683
Web Page Development
• Web 2.0 allows Web sites to provide a means for
users to:
Discovering Computers 2012: Chapter 13 33Page 684
Share personal
information
Allow users to
modify Web site
content
Have application
software built
into the site
Web Page Development
• Most Web 2.0 sites use APIs
– An API enables programmers to interact with an
environment such as a Web site or operating system
Discovering Computers 2012: Chapter 13 34Page 684
Figure 13-21
Web Page Development
• Web page authoring software can create
sophisticated Web pages that include images,
video, audio, animation, and other effects
Discovering Computers 2012: Chapter 13 35Page 685
Dreamweaver
Expression
Web
Flash
SharePoint
Designer
Multimedia Program Development
• Multimedia authoring software allows
programmers to combine text, graphics,
animation, audio, and video in an interactive
presentation
Discovering Computers 2012: Chapter 13 36Page 685
ToolBook Director
Multimedia Program Development
Discovering Computers 2012: Chapter 13 37Page 685
Figure 13-22
Program Development
• Program development consists of a series of steps
programmers use to build computer programs
Discovering Computers 2012: Chapter 13 38Page 686
Figure 13-23
Step 1 – Analyze Requirements
• To initiate program development, programmer:
– Reviews the requirements
– Meets with the systems analyst and users
– Identifies input, processing, and output
• IPO chart
Discovering Computers 2012: Chapter 13 39Page 687
Figure 13-24
Step 2 – Design Solution
• Design a solution algorithm
• In structured design, the programmer typically
begins with a general design and moves toward a
more detailed design
• Programmers use a hierarchy chart to show
program modules graphically
Discovering Computers 2012: Chapter 13 40Pages 687 - 688
Step 2 – Design Solution
Discovering Computers 2012: Chapter 13 41Page 688
Figure 13-25
Step 2 – Design Solution
• With object-oriented
(OO) design, the
programmer packages
the data and the
program into a single
object
– Encapsulation
Discovering Computers 2012: Chapter 13 42Page 689
Figure 13-26
Step 2 – Design Solution
• The sequence control
structure shows one or
more actions following
each other in order
Discovering Computers 2012: Chapter 13 43Page 689
Figure 13-27
Step 2 – Design Solution
• The selection control
structure tells the
program which action
to take, based on a
certain condition
– If-then-else
– Case
Discovering Computers 2012: Chapter 13 44Page 689
Figure 13-28
Step 2 – Design Solution
Discovering Computers 2012: Chapter 13 45Page 690
Figure 13-29
Step 2 – Design Solution
• The repetition control structure enables a program to
perform one or more actions repeatedly as long as a
certain condition is met
Discovering Computers 2012: Chapter 13 46Page 690
Figures 13-30 – 13-31
Step 2 – Design Solution
• A program flowchart graphically shows the logic
in a solution algorithm
Discovering Computers 2012: Chapter 13 47Page 691
Figure 13-33
Step 2 – Design Solution
• Flowcharting software makes it easy to modify
and update flowcharts
– SmartDraw
– Visio
Discovering Computers 2012: Chapter 13 48Page 692
Figure 13-34
Step 2 – Design Solution
• Pseudocode uses a
condensed form of
English to convey
program logic
Discovering Computers 2012: Chapter 13 49Page 692
Figure 13-35
Step 2 – Design Solution
• UML (Unified Modeling Language) has been
adopted as a standard notation for object
modeling and development
Discovering Computers 2012: Chapter 13 50Page 693
Figure 13-37
Step 3 – Validate Design
• Check for logic errors using test data
Discovering Computers 2012: Chapter 13 51Pages 693 - 694
Develop
various
sets of test
data
Determine
the
expected
result
Step
through
the
algorithm
Compare
the results
Repeat
steps for
each set of
test data
Step 4 – Implement Design
• Implementation of the design includes using a
program development tool that assists the
programmer by:
– Generating or providing some or all code
– Writing the code that translates the design into a
computer program
– Creating the user interface
• Extreme programming is a strategy where
programmers immediately begin coding and testing
solutions as soon as requirements are defined
Discovering Computers 2012: Chapter 13 52Pages 694 - 695
Step 5 – Test Solution
The goal of program testing is to ensure the
program runs correctly and is error free
• Errors include syntax errors and logic errors
• Debugging the program involves removing the bugs
• A beta is a program that has most or all of its
features and functionality implemented
Discovering Computers 2012: Chapter 13 53Pages 695 - 696
Step 6 – Document Solution
• In documenting the solution, the programmer
performs two activities:
Discovering Computers 2012: Chapter 13 54Page 696
Review the
program code
Review all the
documentation
Summary
Various programming
languages used to
create computer
programs
A variety of Web
development and
multimedia
development tools
Steps in the program
development life cycle
and tools used to make
this process efficient
Discovering Computers 2012: Chapter 13 55Page 697
Your Interactive Guide
to the Digital World
Discovering
Computers 2012
Chapter 13 Complete
Ad

Recommended

Computer Languages.
Computer Languages.
Aditya Sheoran
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONS
sonalikharade3
 
Presentation of programming languages for beginners
Presentation of programming languages for beginners
Clement Levallois
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languages
Varun Garg
 
Software programming and development
Software programming and development
Ali Raza
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
REHAN IJAZ
 
Programming in c#
Programming in c#
Shehrevar Davierwala
 
Introduction to Programming Languages
Introduction to Programming Languages
educationfront
 
Generations of Programming Languages
Generations of Programming Languages
Tarun Sharma
 
Software development process models
Software development process models
Muhammed Afsal Villan
 
Introduction To Computer Programming
Introduction To Computer Programming
Hussain Buksh
 
What is Application Software?
What is Application Software?
DaisyJeffenYRios
 
dot net technology
dot net technology
Imran Khan
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Software Engineering - Ch1
Software Engineering - Ch1
Siddharth Ayer
 
Generations of programming language
Generations of programming language
JAIDEVPAUL
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMING
Yanne Evangelista
 
Visual Studio IDE
Visual Studio IDE
Sayantan Sur
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Professor Lili Saghafi
 
Algorithm and flowchart
Algorithm and flowchart
Elizabeth de Leon Aler
 
Programming languages
Programming languages
Archana Maharjan
 
Lecture 1- History of C Programming
Lecture 1- History of C Programming
Md. Imran Hossain Showrov
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project Management
NANDINI SHARMA
 
Introduction to programming languages
Introduction to programming languages
Sayed Mahmoud AbdEl Rahman
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Access lesson 04 Creating and Modifying Forms
Access lesson 04 Creating and Modifying Forms
Aram SE
 
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
Batra Centre
 
CH13-Computer Programs and Programming Languages
CH13-Computer Programs and Programming Languages
Sukanya Ben
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
Yhal Htet Aung
 

More Related Content

What's hot (20)

Generations of Programming Languages
Generations of Programming Languages
Tarun Sharma
 
Software development process models
Software development process models
Muhammed Afsal Villan
 
Introduction To Computer Programming
Introduction To Computer Programming
Hussain Buksh
 
What is Application Software?
What is Application Software?
DaisyJeffenYRios
 
dot net technology
dot net technology
Imran Khan
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Software Engineering - Ch1
Software Engineering - Ch1
Siddharth Ayer
 
Generations of programming language
Generations of programming language
JAIDEVPAUL
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMING
Yanne Evangelista
 
Visual Studio IDE
Visual Studio IDE
Sayantan Sur
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Professor Lili Saghafi
 
Algorithm and flowchart
Algorithm and flowchart
Elizabeth de Leon Aler
 
Programming languages
Programming languages
Archana Maharjan
 
Lecture 1- History of C Programming
Lecture 1- History of C Programming
Md. Imran Hossain Showrov
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project Management
NANDINI SHARMA
 
Introduction to programming languages
Introduction to programming languages
Sayed Mahmoud AbdEl Rahman
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Access lesson 04 Creating and Modifying Forms
Access lesson 04 Creating and Modifying Forms
Aram SE
 
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
Batra Centre
 
Generations of Programming Languages
Generations of Programming Languages
Tarun Sharma
 
Introduction To Computer Programming
Introduction To Computer Programming
Hussain Buksh
 
What is Application Software?
What is Application Software?
DaisyJeffenYRios
 
dot net technology
dot net technology
Imran Khan
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Software Engineering - Ch1
Software Engineering - Ch1
Siddharth Ayer
 
Generations of programming language
Generations of programming language
JAIDEVPAUL
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Professor Lili Saghafi
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project Management
NANDINI SHARMA
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Access lesson 04 Creating and Modifying Forms
Access lesson 04 Creating and Modifying Forms
Aram SE
 
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
Batra Centre
 

Viewers also liked (20)

CH13-Computer Programs and Programming Languages
CH13-Computer Programs and Programming Languages
Sukanya Ben
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
Yhal Htet Aung
 
CH14-Enterprise Computing
CH14-Enterprise Computing
Sukanya Ben
 
Chapter 03
Chapter 03
Sukanya Ben
 
Storage
Storage
Samudin Kassan
 
CH02-Fundamental of WWW and Internet
CH02-Fundamental of WWW and Internet
Sukanya Ben
 
CH12-Exploring Information System Development
CH12-Exploring Information System Development
Sukanya Ben
 
Chapter 10 database management
Chapter 10 database management
haider ali
 
Output
Output
Samudin Kassan
 
Chapter 4 the components of the system unit
Chapter 4 the components of the system unit
haider ali
 
Chapter 5 input
Chapter 5 input
haider ali
 
Chapter 8 operating systems and utility programs
Chapter 8 operating systems and utility programs
haider ali
 
Functional Programming for OO Programmers (part 1)
Functional Programming for OO Programmers (part 1)
Calvin Cheng
 
Generations Of Programming Languages
Generations Of Programming Languages
py7rjs
 
Applicaton Software
Applicaton Software
Samudin Kassan
 
Database Management
Database Management
Samudin Kassan
 
Chapter 9 communications and networks
Chapter 9 communications and networks
haider ali
 
Chapter 6 output
Chapter 6 output
haider ali
 
Chapter 2 the internet and world wide web
Chapter 2 the internet and world wide web
haider ali
 
Chapter 3 application software
Chapter 3 application software
haider ali
 
CH13-Computer Programs and Programming Languages
CH13-Computer Programs and Programming Languages
Sukanya Ben
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
Yhal Htet Aung
 
CH14-Enterprise Computing
CH14-Enterprise Computing
Sukanya Ben
 
CH02-Fundamental of WWW and Internet
CH02-Fundamental of WWW and Internet
Sukanya Ben
 
CH12-Exploring Information System Development
CH12-Exploring Information System Development
Sukanya Ben
 
Chapter 10 database management
Chapter 10 database management
haider ali
 
Chapter 4 the components of the system unit
Chapter 4 the components of the system unit
haider ali
 
Chapter 5 input
Chapter 5 input
haider ali
 
Chapter 8 operating systems and utility programs
Chapter 8 operating systems and utility programs
haider ali
 
Functional Programming for OO Programmers (part 1)
Functional Programming for OO Programmers (part 1)
Calvin Cheng
 
Generations Of Programming Languages
Generations Of Programming Languages
py7rjs
 
Chapter 9 communications and networks
Chapter 9 communications and networks
haider ali
 
Chapter 6 output
Chapter 6 output
haider ali
 
Chapter 2 the internet and world wide web
Chapter 2 the internet and world wide web
haider ali
 
Chapter 3 application software
Chapter 3 application software
haider ali
 
Ad

Similar to Chapter 13 programming languages and program development (20)

Programming Languages
Programming Languages
knowledge1995
 
Discovering Computers: Chapter 13
Discovering Computers: Chapter 13
Anna Stirling
 
programming
programming
Hafiz Ashraf
 
Chapter13
Chapter13
Izaham
 
Programming language
Programming language
Dhani Ahmad
 
Programming languages and programme development of computer by sarmad baloch
Programming languages and programme development of computer by sarmad baloch
Sarmad Baloch
 
Web 2.0
Web 2.0
capjjj
 
Web 2.0
Web 2.0
capjjj
 
Programming language
Programming language
Marisa Paryasto
 
Lecture-4: Introduction to Programming & Databases
Lecture-4: Introduction to Programming & Databases
Mubashir Ali
 
Programming languages
Programming languages
Simon Mui
 
Programming Languages Chapter-13 (1).pptx
Programming Languages Chapter-13 (1).pptx
245279
 
Ndu06 typesof language
Ndu06 typesof language
nicky_walters
 
Lecture 10 software development
Lecture 10 software development
Jehanzaib Yousuf
 
Trend of Visual Programming Language
Trend of Visual Programming Language
Teddy Marcus
 
3. WEB TECHNOLOGIES.pptx B.Pharm sem 2 CAP
3. WEB TECHNOLOGIES.pptx B.Pharm sem 2 CAP
Vedika Narvekar
 
iw3htp4_01-FINAL.ppt
iw3htp4_01-FINAL.ppt
lucky sharma
 
Programming Languages and Program Develompent
Programming Languages and Program Develompent
Samudin Kassan
 
ICT Chapter 3.pptx
ICT Chapter 3.pptx
RajjaRashad1
 
UNIT-2web technologybchelor .pptx
UNIT-2web technologybchelor .pptx
nidhidube10
 
Programming Languages
Programming Languages
knowledge1995
 
Discovering Computers: Chapter 13
Discovering Computers: Chapter 13
Anna Stirling
 
Chapter13
Chapter13
Izaham
 
Programming language
Programming language
Dhani Ahmad
 
Programming languages and programme development of computer by sarmad baloch
Programming languages and programme development of computer by sarmad baloch
Sarmad Baloch
 
Web 2.0
Web 2.0
capjjj
 
Web 2.0
Web 2.0
capjjj
 
Lecture-4: Introduction to Programming & Databases
Lecture-4: Introduction to Programming & Databases
Mubashir Ali
 
Programming languages
Programming languages
Simon Mui
 
Programming Languages Chapter-13 (1).pptx
Programming Languages Chapter-13 (1).pptx
245279
 
Ndu06 typesof language
Ndu06 typesof language
nicky_walters
 
Lecture 10 software development
Lecture 10 software development
Jehanzaib Yousuf
 
Trend of Visual Programming Language
Trend of Visual Programming Language
Teddy Marcus
 
3. WEB TECHNOLOGIES.pptx B.Pharm sem 2 CAP
3. WEB TECHNOLOGIES.pptx B.Pharm sem 2 CAP
Vedika Narvekar
 
iw3htp4_01-FINAL.ppt
iw3htp4_01-FINAL.ppt
lucky sharma
 
Programming Languages and Program Develompent
Programming Languages and Program Develompent
Samudin Kassan
 
ICT Chapter 3.pptx
ICT Chapter 3.pptx
RajjaRashad1
 
UNIT-2web technologybchelor .pptx
UNIT-2web technologybchelor .pptx
nidhidube10
 
Ad

More from haider ali (20)

Upwork freelancer guide
Upwork freelancer guide
haider ali
 
Chapter 12 information system development
Chapter 12 information system development
haider ali
 
Chapter 11 computer security and safety, ethics, and privacy
Chapter 11 computer security and safety, ethics, and privacy
haider ali
 
Modalauxiliaries 1
Modalauxiliaries 1
haider ali
 
Teaching tenses
Teaching tenses
haider ali
 
Tenses
Tenses
haider ali
 
English parts of speech
English parts of speech
haider ali
 
Parts of speech
Parts of speech
haider ali
 
Fundamentals of information technology
Fundamentals of information technology
haider ali
 
How to configure an operating system
How to configure an operating system
haider ali
 
Chapter 1 introduction to computers
Chapter 1 introduction to computers
haider ali
 
Parts of-speech
Parts of-speech
haider ali
 
Communication devices
Communication devices
haider ali
 
Fundamental of Information Technology
Fundamental of Information Technology
haider ali
 
Business in education
Business in education
haider ali
 
NETWORK Topologies
NETWORK Topologies
haider ali
 
Non – verbal communication (1)
Non – verbal communication (1)
haider ali
 
Meeting
Meeting
haider ali
 
Managing heterogeneous audience
Managing heterogeneous audience
haider ali
 
Audience recognition
Audience recognition
haider ali
 
Upwork freelancer guide
Upwork freelancer guide
haider ali
 
Chapter 12 information system development
Chapter 12 information system development
haider ali
 
Chapter 11 computer security and safety, ethics, and privacy
Chapter 11 computer security and safety, ethics, and privacy
haider ali
 
Modalauxiliaries 1
Modalauxiliaries 1
haider ali
 
Teaching tenses
Teaching tenses
haider ali
 
English parts of speech
English parts of speech
haider ali
 
Parts of speech
Parts of speech
haider ali
 
Fundamentals of information technology
Fundamentals of information technology
haider ali
 
How to configure an operating system
How to configure an operating system
haider ali
 
Chapter 1 introduction to computers
Chapter 1 introduction to computers
haider ali
 
Parts of-speech
Parts of-speech
haider ali
 
Communication devices
Communication devices
haider ali
 
Fundamental of Information Technology
Fundamental of Information Technology
haider ali
 
Business in education
Business in education
haider ali
 
NETWORK Topologies
NETWORK Topologies
haider ali
 
Non – verbal communication (1)
Non – verbal communication (1)
haider ali
 
Managing heterogeneous audience
Managing heterogeneous audience
haider ali
 
Audience recognition
Audience recognition
haider ali
 

Recently uploaded (20)

Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
All Things Open
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
All Things Open
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 

Chapter 13 programming languages and program development

  • 1. Your Interactive Guide to the Digital World Discovering Computers 2012
  • 2. Objectives Overview Differentiate between machine and assembly languages Identify and discuss the purpose of procedural programming languages, and describe the features of C and COBOL Identify and discuss the characteristics of these object-oriented programming languages and program development tools Identify the uses of other programming languages and program development tools Describe various ways to develop Web pages Discovering Computers 2012: Chapter 13 2See Page 663 for Detailed Objectives
  • 3. Objectives Overview Identify the uses of popular multimedia authoring programs List the six steps in the program development life cycle Differentiate between structured design and object-oriented design Explain the basic control structures and design tools used in designing solutions to programming problems Discovering Computers 2012: Chapter 13 3See Page 663 for Detailed Objectives
  • 4. Computer Programs and Programming Languages • A computer program is a series of instructions that directs a computer to perform tasks – Created by a programmer using a programming language Discovering Computers 2012: Chapter 13 4Pages 664 – 665 Figure 13-1
  • 5. Low-Level Languages • Machine language is the first generation of programming languages • Only language the computer directly recognizes Discovering Computers 2012: Chapter 13 5Page 665 Figure 13-2
  • 6. Low-Level Languages • Assembly language is the second generation of programming languages • Programmer writes instructions using symbolic instruction codes • A source program contains the code to be converted to machine language Discovering Computers 2012: Chapter 13 6Pages 665 – 666 Figure 13-3
  • 7. Procedural Languages • In a procedural language, the programmer writes instructions that tell the computer what to accomplish and how to do it – Third-generation language (3GL) Discovering Computers 2012: Chapter 13 7Pages 666 - 667 A compiler translates an entire program before executing it An interpreter converts and executes one code statement at a time
  • 8. Procedural Languages Discovering Computers 2012: Chapter 13 8Page 667 Figures 13-4 – 13-5
  • 9. Procedural Languages • The C programming language is used to write many of today’s programs Discovering Computers 2012: Chapter 13 9Page 668 Figure 13-6
  • 10. Procedural Languages • COBOL (Common Business-Oriented Language) is designed for business applications, but easy to read because of the English-like statements Discovering Computers 2012: Chapter 13 10Pages 668 – 669 Figure 13-7
  • 11. Object-Oriented Programming Languages and Program Development Tools • An object-oriented programming (OOP) language allows programmers the ability to reuse and modify existing objects • Other advantages include: Discovering Computers 2012: Chapter 13 11Page 669 Objects can be reused Programmers create applications faster Work well in a RAD environment Most program development tools are IDEs
  • 12. Object-Oriented Programming Languages and Program Development Tools • Java is an object-oriented programming language developed by Sun Microsystems • The Just-in-time (JIT) compiler converts the bytecode into machine-dependent code Discovering Computers 2012: Chapter 13 12Page 670 Figure 13-8
  • 13. Object-Oriented Programming Languages and Program Development Tools • The Microsoft .NET Framework allows almost any type of program to run on the Internet or an internal business network, as well as computers and mobile devices • Features include: Discovering Computers 2012: Chapter 13 13Page 670 CLR (Common Language Runtime) Classes
  • 14. Object-Oriented Programming Languages and Program Development Tools • C++ is an extension of the C programming language • C# is based on C++ and was developed by Microsoft • F# combines the benefits of an object- oriented language with those of a functional language Discovering Computers 2012: Chapter 13 14Page 671 Figure 13-9
  • 15. Object-Oriented Programming Languages and Program Development Tools Visual Studio is Microsoft’s suite of program development tools Visual Basic is based on the BASIC programming language Visual C++ is based on C++ Visual C# combines the programming elements of C++ with an easier, rapid-development environment Discovering Computers 2012: Chapter 13 15Pages 671 - 673
  • 16. Object-Oriented Programming Languages and Program Development Tools Discovering Computers 2012: Chapter 13 16Page 672 Figure 13-10
  • 17. Object-Oriented Programming Languages and Program Development Tools A visual programming language is a language that uses a visual or graphical interface for creating all source code Borland’s Delphi is a powerful program development tool that is ideal for building large- scale enterprise and Web applications in a RAD environment Discovering Computers 2012: Chapter 13 17Page 673
  • 18. Object-Oriented Programming Languages and Program Development Tools Discovering Computers 2012: Chapter 13 18Page 673 Figure 13-11
  • 19. Object-Oriented Programming Languages and Program Development Tools • PowerBuilder is a powerful program development RAD tool • Best suited for Web- based, .NET, and large- scale enterprise object- oriented applications Discovering Computers 2012: Chapter 13 19Page 674 Figure 13-12
  • 20. Other Programming Languages and Development Tools • A 4GL (fourth-generation language) is a nonprocedural language that enables users and programmers to access data in a database – One popular 4GL is SQL Discovering Computers 2012: Chapter 13 20Page 674 Figure 13-13
  • 21. Other Programming Languages and Development Tools • Classic programming languages include: Discovering Computers 2012: Chapter 13 21Page 675 Figure 13-14 Ada ALGOL APL BASIC Forth FORTRAN HyperTalk LISP Logo Modula-2 Pascal PILOT PL/1 Prolog RPG Smalltalk
  • 22. Other Programming Languages and Development Tools • An application generator is a program that creates source code or machine code from a specification of the required functionality – Often bundled as part of a DBMS Discovering Computers 2012: Chapter 13 22Page 676 Figure 13-15
  • 23. Other Programming Languages and Development Tools • A macro is a series of statements that instructs an application how to complete a task • You usually create the macro in one of two ways: – Record the macro with a macro recorder – Write the macro Discovering Computers 2012: Chapter 13 23Page 676
  • 24. Other Programming Languages and Development Tools Discovering Computers 2012: Chapter 13 24Page 677 Figure 13-16
  • 25. Web Page Development • HTML is a special formatting language that programmers use to format documents for display on the Web • XHTML is a markup language that allows Web sites to be displayed more easily on mobile devices Discovering Computers 2012: Chapter 13 25Page 678 Figure 13-17
  • 26. Web Page Development • XML allows Web developers to create customized tags and use predefined tags to display content appropriately on various devices – WML is a subset of XML and is used to design pages for microbrowsers • Two applications of XML are RSS 2.0 and ATOM Discovering Computers 2012: Chapter 13 26Page 679
  • 27. Web Page Development Discovering Computers 2012: Chapter 13 27Page 679 Figure 13-18
  • 28. Web Page Development • Web browsers can execute short programs to add interactive elements to Web pages • To send and receive information between your computer and a Web server, these programs use the CGI (common gateway interface) Discovering Computers 2012: Chapter 13 28Page 680 Scripts Applets Servlets ActiveX controls
  • 29. Web Page Development Discovering Computers 2012: Chapter 13 29Page 681 Figure 13-19
  • 30. Web Page Development • Programmers write scripts, applets, servlets, or ActiveX controls using a variety of languages Discovering Computers 2012: Chapter 13 30Pages 682 - 683 JavaScript Perl PHP Rexx Tcl VBScript
  • 31. Web Page Development Discovering Computers 2012: Chapter 13 31Page 682 Figure 13-20
  • 32. Web Page Development Dynamic HTML (DHTML) allows Web developers to include more graphical interest and interactivity • Cascading style sheets (CSS) contain the formats for how a particular object should be displayed Ruby on Rails (RoR) provides technologies for developing object-oriented, database- driven Web sites Discovering Computers 2012: Chapter 13 32Page 683
  • 33. Web Page Development • Web 2.0 allows Web sites to provide a means for users to: Discovering Computers 2012: Chapter 13 33Page 684 Share personal information Allow users to modify Web site content Have application software built into the site
  • 34. Web Page Development • Most Web 2.0 sites use APIs – An API enables programmers to interact with an environment such as a Web site or operating system Discovering Computers 2012: Chapter 13 34Page 684 Figure 13-21
  • 35. Web Page Development • Web page authoring software can create sophisticated Web pages that include images, video, audio, animation, and other effects Discovering Computers 2012: Chapter 13 35Page 685 Dreamweaver Expression Web Flash SharePoint Designer
  • 36. Multimedia Program Development • Multimedia authoring software allows programmers to combine text, graphics, animation, audio, and video in an interactive presentation Discovering Computers 2012: Chapter 13 36Page 685 ToolBook Director
  • 37. Multimedia Program Development Discovering Computers 2012: Chapter 13 37Page 685 Figure 13-22
  • 38. Program Development • Program development consists of a series of steps programmers use to build computer programs Discovering Computers 2012: Chapter 13 38Page 686 Figure 13-23
  • 39. Step 1 – Analyze Requirements • To initiate program development, programmer: – Reviews the requirements – Meets with the systems analyst and users – Identifies input, processing, and output • IPO chart Discovering Computers 2012: Chapter 13 39Page 687 Figure 13-24
  • 40. Step 2 – Design Solution • Design a solution algorithm • In structured design, the programmer typically begins with a general design and moves toward a more detailed design • Programmers use a hierarchy chart to show program modules graphically Discovering Computers 2012: Chapter 13 40Pages 687 - 688
  • 41. Step 2 – Design Solution Discovering Computers 2012: Chapter 13 41Page 688 Figure 13-25
  • 42. Step 2 – Design Solution • With object-oriented (OO) design, the programmer packages the data and the program into a single object – Encapsulation Discovering Computers 2012: Chapter 13 42Page 689 Figure 13-26
  • 43. Step 2 – Design Solution • The sequence control structure shows one or more actions following each other in order Discovering Computers 2012: Chapter 13 43Page 689 Figure 13-27
  • 44. Step 2 – Design Solution • The selection control structure tells the program which action to take, based on a certain condition – If-then-else – Case Discovering Computers 2012: Chapter 13 44Page 689 Figure 13-28
  • 45. Step 2 – Design Solution Discovering Computers 2012: Chapter 13 45Page 690 Figure 13-29
  • 46. Step 2 – Design Solution • The repetition control structure enables a program to perform one or more actions repeatedly as long as a certain condition is met Discovering Computers 2012: Chapter 13 46Page 690 Figures 13-30 – 13-31
  • 47. Step 2 – Design Solution • A program flowchart graphically shows the logic in a solution algorithm Discovering Computers 2012: Chapter 13 47Page 691 Figure 13-33
  • 48. Step 2 – Design Solution • Flowcharting software makes it easy to modify and update flowcharts – SmartDraw – Visio Discovering Computers 2012: Chapter 13 48Page 692 Figure 13-34
  • 49. Step 2 – Design Solution • Pseudocode uses a condensed form of English to convey program logic Discovering Computers 2012: Chapter 13 49Page 692 Figure 13-35
  • 50. Step 2 – Design Solution • UML (Unified Modeling Language) has been adopted as a standard notation for object modeling and development Discovering Computers 2012: Chapter 13 50Page 693 Figure 13-37
  • 51. Step 3 – Validate Design • Check for logic errors using test data Discovering Computers 2012: Chapter 13 51Pages 693 - 694 Develop various sets of test data Determine the expected result Step through the algorithm Compare the results Repeat steps for each set of test data
  • 52. Step 4 – Implement Design • Implementation of the design includes using a program development tool that assists the programmer by: – Generating or providing some or all code – Writing the code that translates the design into a computer program – Creating the user interface • Extreme programming is a strategy where programmers immediately begin coding and testing solutions as soon as requirements are defined Discovering Computers 2012: Chapter 13 52Pages 694 - 695
  • 53. Step 5 – Test Solution The goal of program testing is to ensure the program runs correctly and is error free • Errors include syntax errors and logic errors • Debugging the program involves removing the bugs • A beta is a program that has most or all of its features and functionality implemented Discovering Computers 2012: Chapter 13 53Pages 695 - 696
  • 54. Step 6 – Document Solution • In documenting the solution, the programmer performs two activities: Discovering Computers 2012: Chapter 13 54Page 696 Review the program code Review all the documentation
  • 55. Summary Various programming languages used to create computer programs A variety of Web development and multimedia development tools Steps in the program development life cycle and tools used to make this process efficient Discovering Computers 2012: Chapter 13 55Page 697
  • 56. Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Complete