Discovering
Computers 2012 Chapter 13
Computer Programs and Programming Languages
Objectives Overview
Differentiate between machine and assembly
languages
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 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 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
Identify the uses of other programming languages and program development
tools
Describe various ways to develop Web pages Describe various ways to
develop Web pages
Discovering Computers 2012: Chapter 13 2
See Page 663
for Detailed Objectives
Objectives Overview
Identify the uses of popular multimedia authoring programs
Identify the uses of popular multimedia authoring programs
List the six steps in the program development
life cycle
List the six steps in the program development
life cycle
Differentiate between structured design and Differentiate between structured design and
Explain the basic control structures and
design tools used in Explain the basic control structures and
design tools used in
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 4
Pages 664 – 665 Figure 13-1
Low-Level Languages
• Machine language is the first generation of programming languages
• Only language the computer directly recognizes
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 6
Pages 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)
A compiler
translates an entire program before
A compiler
translates an entire
program before An interpreter converts An interpreter converts
Discovering Computers 2012: Chapter 13 8 Page 667
Figures 13-4 – 13-5
Procedural Languages
Procedural Languages
• The C programming language is used to write many of today’s programs
Discovering Computers 2012: Chapter 13 10
Page 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
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 12
Page 669
Objects can be reused
Objects can be reused
Programmers create applications
faster
Programmers create applications
faster
Work well in a RAD environment
Work well in a RAD environment
Most program development tools
are IDEs 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
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 14
Page 670
CLR (Common Language
Runtime)
CLR (Common Language
Runtime)
Classes 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
Object-Oriented Programming Languages and Program Development Tools
Visual Studio is Microsoft’s suite of program development tools
Visual Studio is Microsoft’s suite of program development tools
Visual Basic is based on the BASIC
programming language Visual Basic is based on the BASIC
programming language
Visual C++ is based on C++
Visual C++ is based on C++
Visual C# combines the programming
elements of C++
with an easier, rapid-development
environment
Visual C# combines the programming
elements of C++
with an easier, rapid-development
environment
Discovering Computers 2012: Chapter 13 16
Pages 671 - 673
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
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
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 18
Page 673
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 20
Page 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
Other Programming Languages and Development Tools
• Classic programming languages include:
Discovering Computers 2012: Chapter 13 22
Page 675 Figure 13-14
AdaAda ALGOLALGOL APLAPL BASICBASIC
Forth
Forth FORTRANFORTRAN HyperTalkHyperTalk LISPLISP
LogoLogo Modula-2Modula-2 PascalPascal PILOTPILOT
PL/1PL/1 PrologProlog RPGRPG SmalltalkSmalltalk
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
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 24
Page 676
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 26
Page 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 28 Page 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)
Scripts
Scripts Applets Applets
Discovering Computers 2012: Chapter 13 30 Page 681
Figure 13-19
Web Page Development
• Programmers write scripts, applets, servlets, or ActiveX controls using a variety of languages
JavaScript
JavaScript Perl Perl PHP PHP
Web Page Development
Discovering Computers 2012: Chapter 13 32
Page 682 Figure 13-20
Web Page Development
Dynamic HTML (DHTML) allows Web developers to include more graphical interest and interactivity
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- Ruby on Rails (RoR) provides technologies for developing object-oriented, database-
Web Page Development
• Web 2.0 allows Web sites to provide a means for users to:
Discovering Computers 2012: Chapter 13 34
Page 684
Share personal information Share personal
information
Allow users to modify Web site
content
Allow users to modify Web site
content
Have application software built
into the site
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
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 36
Page 685
Dreamweaver
Dreamweaver Expression Web
Expression Web
Flash
Flash SharePoint Designer SharePoint
Designer
Multimedia Program Development
• Multimedia authoring software allows programmers to combine text, graphics,
animation, audio, and video in an interactive presentation
ToolBook
ToolBook DirectorDirector
Discovering Computers 2012: Chapter 13 38 Page 685
Figure 13-22
Program Development
• Program development consists of a series of steps programmers use to build computer programs
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 40
Page 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
Step 2 – Design Solution
Discovering Computers 2012: Chapter 13 42
Page 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
Step 2 – Design Solution
• The sequence control structure shows one or more actions following each other in order
Discovering Computers 2012: Chapter 13 44
Page 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
Step 2 – Design Solution
Discovering Computers 2012: Chapter 13 46
Page 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
Step 2 – Design Solution
• A program flowchart graphically shows the logic in a solution algorithm
Discovering Computers 2012: Chapter 13 48
Page 691 Figure 13-33
Step 2 – Design Solution
• Flowcharting software makes it easy to modify and update flowcharts
– SmartDraw – Visio
Step 2 – Design Solution
• Pseudocode uses a condensed form of English to convey program logic
Discovering Computers 2012: Chapter 13 50
Page 692 Figure 13-35
Step 2 – Design Solution
• UML (Unified Modeling Language) has been adopted as a standard notation for object modeling and development
Step 3 – Validate Design
• Check for logic errors using test data
Discovering Computers 2012: Chapter 13 52
Pages 693 - 694
Develop various sets of test
data Develop
various sets of test
data
Determine the expected
result Determine
the expected
result
Step through
the algorithm
Step through
the algorithm
Compare the results Compare the results
Repeat steps for each set of
test data 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
Step 5 – Test Solution
The goal of program testing is to ensure the program runs correctly and is error free
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 54
Pages 695 - 696
Step 6 – Document Solution
• In documenting the solution, the programmer performs two activities:
Review the program code
Review the program code
Review all the documentation Review all the documentation
Video: Electronic Arts Going Mobile
Discovering Computers 2012: Chapter 13 56
CLICK TO START
Summary
Various programming languages used to
create computer programs
Various programming languages used to
create computer programs
A variety of Web development and
multimedia
development tools A variety of Web development and
multimedia
development tools
Steps in the program development life cycle
Steps in the program development life cycle
Your Interactive Guide to the Digital World
Discovering
Computers 2012 Chapter 13
Computer Programs and Programming Languages
Chapter 13 Complete