discovering computers 2009 csc 1100 computer literacy dr. carlos e. otero introduction to computer...
TRANSCRIPT
Discovering Computers 2009
CSC 1100 Computer Literacy
Dr. Carlos E. Otero
Introduction to Computer
Programming
Chapter 13 Objectives
Next
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 languagesDifferentiate between machine
and assembly languages
Identify and discuss the purpose of procedural programming languages
Identify and discuss the purpose of procedural programming languages
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
Identify the uses of popular multimedia authoring programs
Identify the uses of popular multimedia authoring programs
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
Computer Programs and Programming Languages
What is a computer program?
p. 664 Fig. 13-1 Next
Series of instructions that directs computer to perform tasks Programming language—used to communicate
instructions
Computer Programs and Programming Languages
The OS Application Programming Interface (API) Conceptually, a computer system is made up of layers.
The hardware is the lowest layer in all systems The Operating System runs at the next higher layer. The OS layer
provides access to the hardware and OS functions via a set of system calls
Processes run at the next higher layer and use the system calls to gain access to both the hardware and OS functionality
Layer 3
Layer 2
Layer 1
Operating System
Hardware
OS API
Program 1Program 2
Computer Programs and Programming Languages
What are low-level languages and high-level languages?
p. 664 - 665 Next
High-level language
High-level language
Low-levellanguage
Low-levellanguage
Machine-dependentruns only on one type of computer
Machine-dependentruns only on one type of computer
Often machine-independentcan run on many different
types of computers and operating systems
Often machine-independentcan run on many different
types of computers and operating systemsMachine and assembly languages
are low-level
Machine and assembly languages are low-level
Low-Level Languages
What is machine language?
p. 665 Fig. 13-2 Next
Only language computer directly recognizes
Uses a series of binary digits (1s and 0s) with a combination of numbers and letters that represent binary digits
Low-Level Languages
What is assembly language?
p. 666 Fig. 13-3 Next
Instructions made up of symbolic instruction codes, meaningful abbreviations and codes
Source program contains code to be converted to machine language
Often called third-generation language (3GL)
Procedural Languages
What is a procedural language?
p. 666 Next
Uses series of English-like words to write instructions
Programmer writes instructions that tell
computer what to accomplish and how to do it
Procedural Languages
What is a compiler?
p. 667 Fig. 13-4 Next
Program that converts entire source program into machine language before executing it
Procedural Languages
What is an interpreter?
p. 667 Fig. 13-5 Next
Program that translates and executes one program code statement at a time
Does not produce object program
Procedural Languages
What is COBOL?
p. 668 Fig. 13-6 Next
Designed for business applications English-like statements make code easy to read, write,
and maintain Common Business-Oriented Language
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click COBOL below Chapter 13
Procedural Languages
What is C?
p. 668 Fig. 13-7 Next
Powerful language originally designed to write system software
Requires professional programming skills Mostly used for systems software and embedded real-
time systems
Object-Oriented Programming Languages
What is an object-oriented programming (OOP) language?
p. 669 Next
Used to implement
object-oriented design
Major benefit is ability to reuse and
modify existing objects
Event-driven—checks for
and responds to set of events
Java, C#, and Visual Basic.NET
are complete object-oriented
languagesObject is item that contains data and
procedures that act on
data
Event is action to
which program responds
Object-Oriented Programming Languages
What is Java?
Next
Developed by Sun Microsystems
Uses just-in-time (JIT) compiler to convert bytecode into machine-dependent code
The bytecode is then interpreted by the java virtual machine
Object-Oriented Programming Languages
What is C++?
p. 670 Fig. 13-9 Next
Includes all elements of C, plus additional features for working with object-oriented concepts
Used to be popular for developing GUI, web, database applications, but nowadays is used mostly in systems software And embedded systems
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click C++ below Chapter 13
Object-Oriented Programming Languages
What is C#?
p. 670 Next
Object-oriented programming language based on C++ and developed by Microsoft
Accepted as a standard for GUI, Web applications and XML-based Web services in the Windows Platform
Uses a JIT compiler Resulting code is called Microsoft Intermediate
Language (MSIL) It is Microsoft's version to compete with Java. C# has
different syntax than java but the overall concept is very similar to Java!
Object-Oriented Programming Languages
What is a visual programming language?
p. 669 and 673 Next
Programmer writes and implements
program in segments
Visual programming environment (VPE) allows developers to
drag and drop objects to build programs
Often used in RAD (rapid application
development) environment
Provides visual or graphical interface for creating source code
Object-Oriented Programming Languages
What is Visual Studio?
Next
.NET is set of technologies that allows program to be created fast and to run on the Internet
Comprised of Visual Basic, Visual C++, and Visual C#
Step 1. The developer designs the user interface.
Step 2. The developer assigns properties to each object on the form.
Step 3. The developerwrites code to define the action of each command button.
Step 4. The developer tests the program.
Object-Oriented Programming Languages
What is Delphi?
p. 672 Fig. 13-11 Next
Powerful program development tool Ideal for large-scale enterprise and Web applications
Object-Oriented Programming Languages
What is PowerBuilder?
p. 673 Fig. 13-12 Next
Another powerful visual programming tool
Best suited for Web-based and large-scale
enterprise object-oriented applications
Other Programming Languages
What are nonprocedural languages and program development tools?
p. 674 and 676 Next
Nonprocedural Language
The programmer writes English-like instructions or interacts with a visual environment to retrieve data from files or a
database
Nonprocedural Language
The programmer writes English-like instructions or interacts with a visual environment to retrieve data from files or a
database
Program Development Tools
User-friendly programs designed to assist both
programmers and users in creating programs
Program Development Tools
User-friendly programs designed to assist both
programmers and users in creating programs
Other Programming Languages
What is a fourth-generation language (4GL)?
p. 674 Fig. 13-14 Next
Nonprocedural language that allows access to data in database
Popular 4GL is SQL, query language that allows users to manage data in relational DBMS
Other Programming Languages
What are other available programming languages?
p. 675 Fig. 13-15 Next
ALGOLALGOLAdaAda APLAPL
BASICBASIC HyperTalkHyperTalkFORTRANFORTRANForthForth
LISPLISP Modula-2Modula-2LogoLogo
PascalPascal PrologPrologPL/1PL/1PILOTPILOT
SmalltalkSmalltalk
Web Page Development
What is HTML (Hypertext Markup Language)?
p. 678 Fig. 13-18 Next
Used to create Web pages
Web Page Development
How web pages travel the Internet using acable modem connection?
p. 73 Fig. 2-3 Next
Web Page Development
How are special effects and interactive elements added to a Web page?
p. 679 Next
Countertracks
number of visitors to Web site
Image mapgraphic
image that points to
URL
Scriptinterpreted
program that runs on client
Appletusually runs
on client, but is compiled
Processing form
collects data from visitors to Web site
Servletapplet that
runs on server
ActiveX control
small program that runs on
client
Web Page Development
What is a scripting language?
Next
Typically easy to learn and use Allows control of one or more software applications In web terms, a simple programming language that can
be executed by a web browser or a web server. JavaScript Perl (Practical Extraction
and Report Language) PHP (PHP: Hypertext
Preprocessor) Rexx (Restructured
eXtended eXecutor) TCL (Tool Command
Language) VBScript (Visual Basic,
Scripting Edition)
Web Page Development
What is dynamic HTML (DHTML)?
p. 682 Fig. 13-21 Next
Allows developers to include more graphical interest and interactivity in Web page
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click DHTMLbelow Chapter 13
Web Page Development
What are XHTML, XML, and WML?
p. 682 - 683 Next
XHTML (Extensible HTML)
enables Web sites to be displayed more easily on microbrowsers
XML (Extensible Markup Language)
allows developers to create customized tags
WML (Wireless Markup Language)
allows developers to design pages specifically for microbrowsers
Includes features of HTML and XML
Many Internet-enabled smart phones and PDAs
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 and
ATOM
Web Page Development
What is Ajax?
p. 683 Next
Stands for Asynchronous JavaScript and XML Method of creating interactive Web applications designed
to provide immediate response Combines JavaScript, HTML or XHTML, XML, and
cascading style sheets Google Maps and Flickr use Ajax
Web Page Development
What is Web page authoring software?
p. 683 Next
Creates sophisticated Web pages without using HTML Generates HTML
Click to view Web Link,click Chapter 13, Click Web Link from left navigation, then click Silverlight below Chapter 13
•Dreamweaver
•Expression Web
•Flash
•Silverlight
The Program Development CycleWhat is the program development cycle?
p. 685 - 686 Fig. 13-23 Next
Steps programmers use to build computer programs Programming
team—Group of programmers working on program
Step 1 — Analyze Requirements
What is involved in analyzing the requirements?
p. 686 - 687 Fig. 13-24 Next
1. Review requirements2. Meet with systems analyst and users3. Feasibility analysis, Prioritize Requirements4. Identify input, output, processing, and data
components IPO chart—Identifies program’s input, processing, and
output components
Step 1 — Analyze Requirements
Requirements can be modeled using the Unified Modeling Language (UML) Use Case Diagrams
Programmer begins with general
design and moves toward detailed design
Step 2 — Design Solution
What is involved in designing the solution?
p. 687 Next
Object-oriented design
Structured design, sometimes
called top-down design
Two approaches
Devise solution algorithm, step-by-step procedure to solve problem
Step 2 — Design Solution
What is a hierarchy chart?
p. 687 Fig. 13-25 Next
Shows program modules graphically Also called structure chart
Step 2 — Design Solution
What is object-oriented (OO) design?
p. 688 Fig. 13-26 Next
Programmer packages data and program into single unit, an object Objects are grouped into classes Class diagram represents hierarchical
relationships of classes graphically
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Object-Oriented Designbelow Chapter 13
Step 2 — Design Solution
What is a sequence control structure?
p. 688 Fig. 13-27 Next
Control structure that shows actions following each other in order Control structure depicts
logical order of program instructions
Step 2 — Design Solution
What is a selection control structure?
p. 689 Fig. 13-28 Next
Tells program which action to take, based on a certain condition
Two types Case control structure If-then-else control
structure—yields one of two possibilities: true or false
Step 2 — Design Solution
What is a case control structure?
p. 689 Fig. 13-29 Next
Yields one of three or more possibilities
Step 2 — Design Solution
What is a repetition control structure?
p. 689 - 690 Figs. 13-30–13-31 Next
Enables program to perform one or more actions repeatedly Do-while control
structure—repeats as long as condition is true
Do-until control structure—repeats until condition is true
Step 2 — Design Solution
What is a program flowchart?
p. 690 Fig. 13-32 Next
Graphically shows logic in solution algorithm
Step 2 — Design Solution
What is an example of a flowchart?
p. 691 Fig. 13-33 Next
Step 2 — Design Solution
What is flowcharting software?
p. 690 - 691 Fig. 13-34 Next
Used by programmers to develop flowcharts
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Flowcharting Softwarebelow Chapter 13
Step 2 — Design Solution
In the Object Oriented world, the design solution
consists of UML’s sequence diagrams and class
diagrams.
Class Diagram
Sequence Diagram
Step 2 — Design Solution
What is pseudocode?
p. 690 and 692 Fig. 13-35 Next
Uses condensed form of English to convey program logic
Step 3 — Validate Design
What is involved in validating the design?
p. 693 Next
Check program design for accuracy
Logic errordesign flaw that causes
inaccurate results
Test datasample data that
mimics real data that program will process
Programmer checks logic for correctness
and attempts to uncover logic errors
Desk checkprogrammers use test
data to step through logic
Inspectionsystems analyst reviews
deliverables during the system development cycle
Step 4 — Implement Design
What is implementation?
p. 693 - 694 Fig. 13-38 Next
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
Step 5 — Test Solution
What is involved in testing the solution?
p. 695 - 696 Next
Ensure program runs correctly and is error free
Debugging—locating and correcting syntax and logic
errors, or bugs
Test copy of program, called beta, sometimes
used to find bugs
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Beta Testersbelow Chapter 13
Step 6 — Document Solution
What is involved in documenting the solution?
p. 696 Next
Programmer performs two activities
Reviews program code—removes dead code, program instructions that program never
executes
Reviews program code—removes dead code, program instructions that program never
executesReviews
documentation
Reviews documentation
Companies on the Cutting Edge
Video: Electronic Arts Going Mobile
Next
CLICK TO START
Summary of Programming Languages and Program Development
Various programming languages used to create
computer programs
Various programming languages used to create
computer programs
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
Web development and multimedia development tools
Web development and multimedia development tools