This document discusses various programming languages and the program development cycle. It describes low-level languages like machine language and assembly language as well as high-level procedural languages like COBOL and C. Object-oriented languages such as Java, C++, C#, and visual programming languages are also covered. The document outlines the six steps in the typical program development cycle: analyzing requirements, designing the solution, validating the design, implementing the design, testing the solution, and documenting the solution. Programming tools used at each step like flowcharts, pseudocode, and debugging are also summarized.
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Discovering Programming Languages and Program Development Tools
1. Discovering Computers 2008
Chapter 11Chapter 11Chapter 11Chapter 11
ProgrammingProgrammingProgrammingProgramming
Languages andLanguages andLanguages andLanguages and
Program DevelopmentProgram DevelopmentProgram DevelopmentProgram Development
2. 2
Chapter 10 ObjectivesChapter 10 ObjectivesChapter 10 ObjectivesChapter 10 Objectives
Describe various ways to develop Web pages
including HTML, scripting languages,
DHTML, XML, WML, and Web page
authoring software
Describe various ways to develop Web pages
including HTML, scripting languages,
DHTML, XML, WML, and Web page
authoring softwareDifferentiate between machine
and assembly languages
Differentiate between machine
and assembly languages
Identify and discuss the purpose of
procedural programming languages
Identify and discuss the purpose of
procedural programming languages
Identify the uses of popular multimedia
authoring programs
Identify the uses of popular multimedia
authoring programs
Identify and discuss the characteristics of
object-oriented programming languages and
program development tools
Identify and discuss the characteristics of
object-oriented programming languages and
program development tools
Identify the uses of other programming
languages and other program development
tools
Identify the uses of other programming
languages and other program development
tools
List the six steps in the program
development cycle
List the six steps in the program
development cycle
Differentiate between structured design and
object-oriented design
Differentiate between structured design and
object-oriented design
Explain the basic control structures and
design tools used in designing solutions to
programming problems
Explain the basic control structures and
design tools used in designing solutions to
programming problems
3. 3
Computer Programs and Programming LanguagesComputer Programs and Programming LanguagesComputer Programs and Programming LanguagesComputer Programs and Programming Languages
What is a computer program?
Series of instructions that directs computer to
perform tasks
Programming language — used to communicate
instructions
4. 4
Computer Programs and Programming LanguagesComputer Programs and Programming LanguagesComputer Programs and Programming LanguagesComputer Programs and Programming Languages
What are low-level languages and high-level languages?
High-level
language
High-level
language
Low-level
language
Low-level
language
Machine-dependentMachine-dependent Often machine-Often machine-Machine-dependent
runs only on one type of
computer
Machine-dependent
runs only on one type of
computer
Often machine-
independent
can run on many different
types of computers and
operating systems
Often machine-
independent
can run on many different
types of computers and
operating systemsMachine and assembly
languages are low-level
Machine and assembly
languages are low-level
5. 5
LowLowLowLow----Level LanguagesLevel LanguagesLevel LanguagesLevel Languages
What is machine language?
Only language computer
directly recognizes
Uses a series of binary
digits (1s and 0s) with a
combination of numberscombination of numbers
and letters that represent
binary digits
6. 6
LowLowLowLow----Level LanguagesLevel LanguagesLevel LanguagesLevel Languages
What is assembly language?
Instructions made up of
symbolic instruction
codes, meaningful
abbreviations and codes
Source program containsSource program contains
code to be converted to
machine language
7. 7
Procedural LanguagesProcedural LanguagesProcedural LanguagesProcedural Languages
What is a procedural language?
Uses series of English-like
words to write instructions
Programmer writes
instructions that tell
computer what to
accomplish and how to do it
Often called thirdthird--
generation languagegeneration language
(3GL)(3GL)
accomplish and how to do it
9. 9
Procedural LanguagesProcedural LanguagesProcedural LanguagesProcedural Languages
What is an interpreter?
Program that
translates and
executes one
program statement
(code) at(code) at
a time
Does not produce
object program
10. 10
Procedural LanguagesProcedural LanguagesProcedural LanguagesProcedural Languages
What is COBOL?
Designed for business applications
English-like statements make code easy to read, write,
and maintain
COmmon Business-Oriented Language
12. 12
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is an object-oriented programming (OOP) language?
Used to
implement
object-oriented
design
Major benefit
is ability to
reuse existing
objects
Event-driven—
checks for
and responds
to set of events
Java, C++, C#,
and Visual Basic
are complete
object-oriented
languageslanguages
Object is
item that
contains
data and
procedures
that act on data
Event is action
to which
program
responds
13. 13
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is Java?
Developed by Sun
Microsystems
Similar to C++ but
uses just-in-time
(JIT) compiler to(JIT) compiler to
convert source
code into machine
code
14. 14
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is C++?
Includes all elements of C, plus additional features
for working with object-oriented concepts
Used to develop
database and
Web applicationsWeb applications
15. 15
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is C#?
Object-oriented programming language based on C++
Accepted as a standard for Web applications and
XML-based Web services
Uses a JIT compiler
Resulting code is called Microsoft IntermediateResulting code is called Microsoft Intermediate
Language (MSIL)
16. 16
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is a visual programming language?
Visual programming
environment (VPE)
allows developers to
drag and drop objects
to build programs
ProvidesProvides visual orvisual or
graphical interfacegraphical interface forfor
creating source codecreating source code
Programmer
writes and
implements
program in
segments
to build programs
Often used inOften used in RADRAD
(rapid application(rapid application
development)development)
environmentenvironment
Sometimes calledSometimes called
fifthfifth--generationgeneration
languagelanguage
17. 17
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is VisualStudio?
.NET is set of technologies that allows program to run on Internet
Comprised of Visual Basic, Visual C++, Visual C#, and Visual J#
Step 1. The
developer
designs the
user interface.
Step 2. The developer
assigns properties to each
object on the form.
user interface.
Step 3. The
developer
writes code
to define the
action of each
command button.
Step 4. The developer
tests the program.
19. 19
ObjectObjectObjectObject----Oriented Programming LanguagesOriented Programming LanguagesOriented Programming LanguagesOriented Programming Languages
What is PowerBuilder?
Another powerful visual programming tool
Best suited for Web-based and large-scale
enterprise object-oriented applications
20. 20
Other Programming LanguagesOther Programming LanguagesOther Programming LanguagesOther Programming Languages
What are nonprocedural languages and program
development tools?
Nonprocedural
Language
The programmer writes English-
Nonprocedural
Language
The programmer writes English-
Program Development
Tools
User-friendly programs
Program Development
Tools
User-friendly programsThe programmer writes English-
like instructions or interacts with
a visual environment to retrieve
data from files or a database
The programmer writes English-
like instructions or interacts with
a visual environment to retrieve
data from files or a database
User-friendly programs
designed to assist both
programmers and users in
creating programs
User-friendly programs
designed to assist both
programmers and users in
creating programs
21. 21
Other Programming LanguagesOther Programming LanguagesOther Programming LanguagesOther Programming Languages
What is a fourth-generation language (4GL)?
Nonprocedural language that allows access to data in
database
Popular 4GL is SQL, query language that allows users to
manage data in relational DBMS
22. 22
Other Program Development ToolsOther Program Development ToolsOther Program Development ToolsOther Program Development Tools
What is an application generator?
Program that creates
source code or machine
code from specification
Consists of report writer,
form, and menu
generator
Form provides areas for
entering data
23. 23
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is HTML (Hypertext Markup Language)?
Used to create Web pages
24. 24
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is the common gateway interface (CGI)?
Communications standard
that defines how Web server
communicates with outside
sources
CGI script —program that
manages sending and receivingmanages sending and receiving
across CGI
25. 25
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is dynamic HTML (DHTML)?
Allows developers to
include more graphical
interest and interactivity
in Web page
26. 26
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What are XHTML, XML, and WML?
XHTMLXHTML
(Extensible HTML)
enables Web sites to be displayed
more easily on microbrowsers
XMLXML
Includes features of HTML
and XML
XMLXML
(Extensible Markup Language)
allows developers to
create customized tags
WMLWML
(Wireless Markup Language)
allows developers to design pages
specifically for microbrowsers
Many PDAs and smart
phones use WML as their
markup language
Server sends entire record to
client, enabling client to do
much of processing without
going back to server
RSS 2.0
27. 27
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is Web page authoring software?
Creates sophisticated Web pages without using HTML
Generates HTML
FlashFlashExpressionExpression
WebWeb
DreamweaverDreamweaver
28. 28
Multimedia Program DevelopmentMultimedia Program DevelopmentMultimedia Program DevelopmentMultimedia Program Development
What is multimedia authoring software?
Combines text,
graphics, animation,
audio, and video into
interactive presentation
Used for computer-Used for computer-
based training (CBT)
and Web-based training
(WBT)
Software includes
Toolbook, Authorware,
and Director
29. 29
The Program Development CycleThe Program Development CycleThe Program Development CycleThe Program Development Cycle
What is the program development cycle?
Steps programmers use to build computer programs
Programming
team—Group of
programmers
working on
programprogram
30. 30
Step 1Step 1Step 1Step 1 ———— Analyze RequirementsAnalyze RequirementsAnalyze RequirementsAnalyze Requirements
What is involved in analyzing the requirements?
1. Review requirements
2. Meet with systems analyst and users
3. Identify input, output, processing, and data
components
IPO chart—IPO chart—
Identifies
program’s inputs,
outputs, and
processing steps
31. 31
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is involved in designing the solution?
ObjectObject--orientedoriented
designdesignTwoTwo
approachesapproaches
ProgrammerProgrammer
begins with generalbegins with general
design and moves towarddesign and moves toward
detailed designdetailed design
StructuredStructured
designdesign, sometimes, sometimes
called topcalled top--down designdown design
DeviseDevise
solutionsolution
algorithm,algorithm,
stepstep--byby--stepstep
procedure toprocedure to
solve problemsolve problem
32. 32
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is a hierarchy chart?
Shows program modules graphically
Also called structure chart
33. 33
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is object-oriented (OO) design?
Programmer packages data and
procedure into single unit, an object
Objects are grouped into classes
Class diagram represents hierarchical
relationships of classes graphicallyrelationships of classes graphically
34. 34
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is a sequence control structure?
Control structure that shows actions following each
other in order
Control structure depicts
logical order of program
instructionsinstructions
35. 35
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is a selection control structure?
Tells program which
action to take, based
on a certain
condition
Two typesTwo types
Case control structure
If-then-else control
structure—yields one
of two possibilities:
true or false
36. 36
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is a case control structure?
Yields one of three or more possibilities
37. 37
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is a repetition control structure?
Enables program to perform one or more actions
repeatedly
Do-while control
structure—repeats as
long as condition is
truetrue
Do-until control
structure—repeats
until condition is true
38. 38
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is a program flowchart?
Graphically shows logic
in solution algorithm
39. 39
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is an example of a flowchart?
40. 40
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is flowcharting software?
Used by programmers to develop flowcharts
41. 41
Step 2Step 2Step 2Step 2 ———— Design SolutionDesign SolutionDesign SolutionDesign Solution
What is pseudocode?
Uses condensed form
of English to convey
program logic
42. 42
Step 3Step 3Step 3Step 3 ———— Validate DesignValidate DesignValidate DesignValidate Design
What is involved in validating the design?
Check program
design for accuracy
Logic errorLogic error
Programmer checks
logic for correctness
and attempts to uncover
logic errors
Logic errorLogic error
design flaw
that causes
inaccurate results
Test dataTest data
sample data that
mimics real data that
program will process
Desk checkDesk check
programmers use test
data to step through logic
Inspection
systems analyst reviews
deliverables during the system
development cycle
43. 43
Step 4Step 4Step 4Step 4 ———— Implement DesignImplement DesignImplement DesignImplement Design
What is implementation?
Writing the code that translates the design into a program
Syntax—rules that specify how to write instructions
Comments—program documentation
Extreme programming (XP)—coding and testing as soon as
requirements are defined
44. 44
Step 5Step 5Step 5Step 5 ———— Test SolutionTest SolutionTest SolutionTest Solution
What is involved in testing the solution?
Ensure program runs correctlyEnsure program runs correctly
and is error freeand is error free
DebuggingDebugging ——locating andlocating and
correcting syntax and logiccorrecting syntax and logic
errors, orerrors, or bugsbugserrors, orerrors, or bugsbugs
Test copy of program,Test copy of program,
calledcalled betabeta, sometimes, sometimes
used to find bugsused to find bugs
45. 45
Step 6Step 6Step 6Step 6 ———— Document SolutionDocument SolutionDocument SolutionDocument Solution
What is involved in documenting the solution?
Programmer performs two activities
Reviews program code
— removes dead code,
Reviews program code
— removes dead code,— removes dead code,
program instructions
that program never
executes
— removes dead code,
program instructions
that program never
executes
Reviews
documentation
Reviews
documentation
46. 46
Summary of Programming Languages and Program DevelopmentSummary of Programming Languages and Program DevelopmentSummary of Programming Languages and Program DevelopmentSummary of Programming Languages and Program Development
Various programming languages
used to write and develop
computer programs
Various programming languages
used to write and develop
computer programs
Web development and multimedia
development tools
Web development and multimedia
development tools
The program development
cycle and the tools used to make
this process efficient
The program development
cycle and the tools used to make
this process efficient
development toolsdevelopment tools
Chapter 10 Complete
48. 48
Other Programming LanguagesOther Programming LanguagesOther Programming LanguagesOther Programming Languages
What is RPG (Report Program Generator)?
Nonprocedural language used for generating reports,
performing computations, and updating files
49. 49
Other Programming LanguagesOther Programming LanguagesOther Programming LanguagesOther Programming Languages
What are other available programming languages?
ALGOLALGOLALGOLALGOLADAADAADAADA APLAPLAPLAPL
BASICBASICBASICBASIC HYPERTALKHYPERTALKHYPERTALKHYPERTALKFORTRANFORTRANFORTRANFORTRANFORTHFORTHFORTHFORTHBASICBASICBASICBASIC HYPERTALKHYPERTALKHYPERTALKHYPERTALKFORTRANFORTRANFORTRANFORTRANFORTHFORTHFORTHFORTH
LISPLISPLISPLISP MODULAMODULA--22MODULAMODULA--22LOGOLOGOLOGOLOGO
PASCALPASCALPASCALPASCAL PROLOGPROLOGPROLOGPROLOGPL/1PL/1PL/1PL/1PILOTPILOTPILOTPILOT
SMALLTALKSMALLTALKSMALLTALKSMALLTALK
50. 50
Other Program Development ToolsOther Program Development ToolsOther Program Development ToolsOther Program Development Tools
What is a macro?
Series of statements that instructs an application how
to complete a task
51. 51
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
How are special effects and interactive elements added
to a Web page?
ScriptScript
interpreted
program that
AppletApplet
usually runs
on client, but
ServletServlet
applet that
runs on
ActiveXActiveX
controlcontrol
small program
CounterCounter
tracks
number of
visitors to
Web site
Image mapImage map
graphic
image that
points to
URL
program that
runs on client
on client, but
is compiled
ProcessingProcessing
formform
collects data
from visitors
to Web site
runs on
server
small program
that runs on
client
52. 52
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is a scripting language?
Typically easy to learn and use
JavaScript
Perl (Practical Extraction
and Report Language)
PHP (PHP: Hypertext
Preprocessor)Preprocessor)
Rexx (Restructured
eXtended eXecutor)
TCL (Tool Command
Language)
VBScript (Visual Basic,
Scripting Edition)
53. 53
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is Ajax?
Stands for Asynchronous JavaScript and XML
Method of creating interactive Web applications designed
to provide immediate response
Combines JavaScript, HTML or XHTML, and XML
Google Maps and Flickr use AjaxGoogle Maps and Flickr use Ajax
54. 54
Web Page DevelopmentWeb Page DevelopmentWeb Page DevelopmentWeb Page Development
What is Ruby on Rails (RoR)?
Also called Rails
Open source framework that provides technologies for
developing object-oriented, database-driven Web sites
Ruby is derived from a variety of languages, including Ada,
LISP, Perl, and SmalltalkLISP, Perl, and Smalltalk