Living in a Digital World
Discovering
Computers 2011
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
Identify the uses of other programming languages and program Describe various ways to develop Web pages
Discovering Computers 2011: Living in a Digital World Chapter 13
See Page 663 2
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 2011: Living in a Digital World Chapter 13
See Page 663 3
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 2011: Living in a Digital World Chapter 13
Pages 664 – 665 4 Figure 13-1
Low-Level Languages
• Machine language is the first generation of programming languages
• Only language the computer directly recognizes
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 665 5 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 2011: Living in a Digital World Chapter 13
Pages 665 – 666 6 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 2011: Living in a Digital World Chapter 13
Pages 666 - 667 7
A compiler translates an entire program before executing it
Procedural Languages
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 667 8
Figures 13-4 – 13-5
Procedural Languages
• The C programming language is used to write many of today’s programs
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 668 9 Figure 13-6
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click C below Chapter 13
Procedural Languages
• COBOL (COmmon Business-Oriented Language) is designed for business applications, but easy to
read because of the English-like statements
Discovering Computers 2011: Living in a Digital World Chapter 13
Pages 668 – 669 10 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 2011: Living in a Digital World Chapter 13
Page 669 11
Objects can be reused
Programmers create applications faster Work well in a
Most program development tools are
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 to convert the bytecode into machine-dependent code
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 670 12 Figure 13-8
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Java Platforms
below Chapter 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 2011: Living in a Digital World Chapter 13
Page 670 13
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 2011: Living in a Digital World Chapter 13
Page 671 14 Figure 13-9
Object-Oriented Programming Languages and Program Development Tools
Visual Studio
Discovering Computers 2011: Living in a Digital World Chapter 13
Pages 671 - 673 15
Object-Oriented Programming Languages and Program Development Tools
Discovering Computers 2011: Living in a Digital World Chapter 13
Pages 671 – 672 16 Figure 13-10
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Visual Studio Tools for Office
below Chapter 13
Object-Oriented Programming Languages and Program Development Tools
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 673 17
Object-Oriented Programming Languages and Program Development Tools
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 673 18 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 2011: Living in a Digital World Chapter 13
Page 674 19 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 2011: Living in a Digital World Chapter 13
Page 674 20 Figure 13-13
Other Programming Languages and Development Tools
• Classic programming languages include:
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 675 21 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 2011: Living in a Digital World Chapter 13
Page 676 22 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 2011: Living in a Digital World Chapter 13
Pages 676 - 677 23
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Macros below Chapter 13
Other Programming Languages and Development Tools
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 677 24 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 2011: Living in a Digital World Chapter 13
Page 678 25 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 2011: Living in a Digital World Chapter 13
Page 679 26
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click XML below Chapter 13
Web Page Development
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 679 27 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 2011: Living in a Digital World Chapter 13
Page 680 28
Scripts Applets Servlets
ActiveX controls
Web Page Development
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 681 29 Figure 13-19
Web Page Development
• Programmers write scripts, applets, servlets, or ActiveX controls using a variety of languages
Discovering Computers 2011: Living in a Digital World Chapter 13
Pages 682 - 683 30
JavaScript Perl
PHP Rexx Tcl
VBScript
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click PHP below Chapter 13
Web Page Development
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 682 31 Figure 13-20
Web Page Development
Dynamic HTML
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 683 32
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Cascading Style
Sheets
below Chapter 13
Web Page Development
• Web 2.0 allows Web sites to provide a means for users to:
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 684 33
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 2011: Living in a Digital World Chapter 13
Page 684 34 Figure 13-21
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click APIs below Chapter 13
Web Page Development
• Web page authoring software can create
sophisticated Web pages that include images, video, audio, animation, and other effects
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 685 35
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 2011: Living in a Digital World Chapter 13
Page 685 36
ToolBook
Director
Multimedia Program Development
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 685 37 Figure 13-22
Program Development
• Program development consists of a series of steps programmers use to build computer programs
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 686 38 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 2011: Living in a Digital World Chapter 13
Page 687 39 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 2011: Living in a Digital World Chapter 13
Pages 687 - 688 40
Step 2 – Design Solution
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 688 41 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 2011: Living in a Digital World Chapter 13
Page 689 42 Figure 13-26
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Object-Oriented Design
below Chapter 13
Step 2 – Design Solution
• The sequence control structure shows one or more actions following each other in order
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 689 43 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 2011: Living in a Digital World Chapter 13
Page 689 44 Figure 13-28
Step 2 – Design Solution
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 690 45 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 2011: Living in a Digital World Chapter 13
Page 690 46
Figures 13-30 – 13-31
Step 2 – Design Solution
• A program flowchart graphically shows the logic in a solution algorithm
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 691 47 Figure 13-33
Step 2 – Design Solution
• Flowcharting software makes it easy to modify and update flowcharts
– SmartDraw – Visio
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 692 48 Figure 13-34
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Flowcharting Software below Chapter 13
Step 2 – Design Solution
• Pseudocode uses a condensed form of English to convey program logic
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 692 49 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 2011: Living in a Digital World Chapter 13
Page 693 50 Figure 13-37
Step 3 – Validate Design
• Check for logic errors using test data
Discovering Computers 2011: Living in a Digital World Chapter 13
Pages 693 - 694 51
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 2011: Living in a Digital World Chapter 13
Pages 694 - 695 52
Step 5 – Test Solution
The goal of program testing is to ensure the program runs correctly and is error free
Discovering Computers 2011: Living in a Digital World Chapter 13
Pages 695 - 696 53
Click to view Web Link,
click Chapter 13, Click Web Link from left navigation, then click Beta Testers
below Chapter 13
Step 6 – Document Solution
• In documenting the solution, the programmer performs two activities:
Discovering Computers 2011: Living in a Digital World Chapter 13
Page 696 54
Review the program code
Review all the documentation
Video: Electronic Arts Going Mobile
Discovering Computers 2011: Living in a Digital World Chapter 13
55
CLICK TO START
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 2011: Living in a Digital World Chapter 13
Page 696 56