1Computer Programs and Programming Languages
What is a computer program? Set of instructions that directs computer to perform
tasks Programming language—used to write instructions
2Computer Programs and Programming Languages
What are low-level languages and high-level languages?
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-independent
can run on many different types of computers
Often machine-independentcan run on many different
types of computersMachine and assembly languages
are low-level
Machine and assembly languages are low-level
3Low-Level Languages
What is machine language? Only language computer
directly recognizes
4Low-Level Languages
What is assembly language? Instructions made up of
symbolic instruction codes, meaningful abbreviations and codes
Source program contains code to be converted to machine language
5Procedural Languages
What is a procedural language?
Most widely used are BASIC, COBOL, and C
Uses series of English-like words to write instructions
Often called third-generation third-generation language (3GL)language (3GL)
Programmer writes instructions that tell
computer what to accomplish and how to do it
6Procedural Languages
What is a compiler? Program that
converts entire source program into machine language before executing it
7Procedural Languages
What is an interpreter? Program that
translates and executes one program code statement at a time
Does not produce object program
8Procedural Languages
What is BASIC? Designed for use as simple, interactive problem-solving
language Beginner’s All-purpose Symbolic Instruction Code
9Procedural Languages
What is COBOL? Designed for business applications English-like statements make code easy to read, write,
and maintain COmmon
Business-Oriented Language
10Procedural Languages
What is C? Powerful language originally designed to write system
software Requires professional programming skills
11Object-Oriented 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
C++ and Java are complete
object-oriented languages
Object is item that contains data and
procedures that act on
data
Event is action to
which program responds
12Object-Oriented 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 applications
13Object-Oriented Programming Languages
What is Java? Developed by Sun
Microsystems Similar to C++ but
uses just-in-time (JIT) compiler to convert source code into machine code
14Object-Oriented Programming Languages
What is a visual programming language?
Programmer writes and implements
program in segments
Visual programming environment (VPE) allows developers to
drag and drop objects to build programs
Often used in Often used in RAD RAD (rapid application (rapid application
development) development) environmentenvironment
Sometimes calledSometimes calledfifth-generation fifth-generation
languagelanguage
Provides visual or Provides visual or graphical interface for graphical interface for creating source codecreating source code
15Object-Oriented Programming Languages
What is Visual Studio 2005? Suite of visual programming languages and RAD tools .NET is set of technologies that allows program to run on Internet Visual Basic 2005 is used to build complex object-based programs
Step 1. The programmer designs the user interface.
Step 2. The programmer assigns properties to each object on the form.
Step 4. The programmer tests the application.
Step 3. The programmer writes code to define the action of each command button.
16Object-Oriented Programming Languages
What is Delphi? Powerful visual programming tool Ideal for large-scale enterprise and Web applications
17Object-Oriented Programming Languages
What is PowerBuilder? Another powerful visual programming tool Best suited for Web-based and large-scale
object-oriented applications
18Nonprocedural Languages and Program Development Tools
What are nonprocedural languages and program development tools?
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
19Nonprocedural Languages and Program Development Tools
What is RPG (Report Program Generator)? Nonprocedural language used for generating reports,
performing computations, and updating files
20Nonprocedural Languages and Program Development Tools
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
21Nonprocedural Languages and 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
22Nonprocedural Languages and Program Development Tools
What is Visual Basic for Applications (VBA)? Macro programming language
Macro—series of statements used to automate tasks
23Web Page Development
What is HTML (Hypertext Markup Language)? Used to create Web pages
24Web Page Development
How are special effects and interactive elements added to a Web page?
CounterCountertracks
number of visitors to Web site
Image mapImage mapgraphic
image that points to
URL
ScriptScriptinterpreted
program that runs on client
AppletAppletusually runs
on client, but is compiled
Processing Processing formform
collects data from visitors to Web site
ServletServletapplet that
runs on server
ActiveX ActiveX controlcontrol
small program that runs on
client
25Web Page Development
What is the common gateway interface (CGI)? Communications standard that defines how Web server
communicates with outside sources
Step 3. When the user submits a request, it is sent to the CGI program. The CGI program contacts the database and requests information for the user. In this case, it looks for a movie titled The Wizard of Oz.
Step 1. The programmer stores the CGI program in a special folder on the Web server such as /cgi-bin.
Database
CGI script—program that manages sending and receiving across CGI
Step 2. The Webmaster creates a link between the CGI program and Web page. When a user displays the Web page, the CGI program automatically starts.
Step 4. The CGI program receives information from the database, assembles it in an HTML format, and sends it to the user’s Web browser.
26Web Page Development
What is a scripting language? Typically easy to learn and use
JavaScript—adds dynamic content and interactive elements to Web page
VBScript (Visual Basic, Scripting Edition)—adds intelligence and interactivity to Web page
Perl (Practical Extraction and Report Language)—has powerful text processing capabilities
27Web Page Development
What is dynamic HTML (DHTML)? Allows developers to
include more graphical interest and interactivity in Web page
28Web Page Development
What are XHTML, XML, and WML?
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
Uses wireless application protocol (WAP),
standard that specifies how wireless devices
communicate with Web
Server sends entire record to client, enabling client to do much of processing without
going back to server
29
FrontPageFrontPage20032003
FlashFlashMXMX
Web Page Development
What is Web page authoring software? Creates sophisticated Web pages without using HTML Generates HTML
DreamweaverDreamweaverMXMX
30Multimedia Program DevelopmentWhat is multimedia authoring software? Combines text,
graphics, animation, audio, and video into interactive presentation
Used for computer-based training (CBT) and Web-based training (WBT)
Software includes Toolbook, Authorware, and Director
31Other Programming Languages
What are other available programming languages?
ALGOLALGOLALGOLALGOLADAADAADAADA APLAPLAPLAPL
FORTHFORTHFORTHFORTH LISPLISPLISPLISPHYPERTALKHYPERTALKHYPERTALKHYPERTALKFORTRANFORTRANFORTRANFORTRAN
LOGOLOGOLOGOLOGO PASCALPASCALPASCALPASCALMODULA-2MODULA-2MODULA-2MODULA-2
PILOTPILOTPILOTPILOT SMALLTALKSMALLTALKSMALLTALKSMALLTALKPROLOGPROLOGPROLOGPROLOGPL/IPL/IPL/IPL/I
32The Program Development Cycle
What is the program development cycle? Steps programmers use to build computer programs
Programming team—Group of programmers working on program
33Step 1 — Analyze Requirements
What is involved in analyzing the requirements?1. Review requirements2. Meet with systems analyst and users3. Identify input, output, processing, and data
components IPO chart—
Identifies program’s inputs, outputs, and processing steps
34
Programmer Programmer begins with general begins with general
design and moves toward design and moves toward detailed designdetailed design
Step 2 — Design Solution
What is involved in designing the solution?
Object-oriented Object-oriented designdesign
Structured Structured designdesign, sometimes , sometimes
called called top-down designtop-down design
Two Two approachesapproaches
Devise Devise solution solution algorithmalgorithm, , step-by-step step-by-step procedure to procedure to solve problemsolve problem
35Step 2 — Design Solution
What is a hierarchy chart? Shows program modules graphically Also called structure chart
36Step 2 — Design 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 graphically
37Step 2 — Design Solution
What is a sequence control structure? Control structure that shows actions following each
other in order Control structure depicts logical order of program
instructions
38Step 2 — Design Solution
What is a selection control structure? 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
39Step 2 — Design Solution
What is a case control structure? Yields one of three or more possibilities
40Step 2 — Design 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 true
Do-until control structure—repeats until condition is true
Do-While Control Structure Do-Until Control Structure
41Step 2 — Design Solution
What is a program flowchart? Graphically shows logic
in solution algorithm
42Step 2 — Design Solution
What is an example of a flowchart?
43Step 2 — Design Solution
What is flowcharting software? Used by programmers to develop flowcharts
44Step 2 — Design Solution
What is pseudocode? Uses condensed form
of English to convey program logic
45Step 3 — Validate Design
What is involved in validating the design?
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
Structured walkthroughprogrammer explains
logic of algorithm while programming team steps through program logic
46Step 4 — Implement 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
47Step 5 — Test Solution
What is involved in testing the solution?
Ensure program runs correctly Ensure program runs correctly and is error freeand is error free
DebuggingDebugging—locating and —locating and correcting syntax and logic correcting syntax and logic
errors, orerrors, or bugsbugs
Test copy of program, Test copy of program, called called betabeta, sometimes , sometimes
used to find bugsused to find bugs
48Step 6 — Document Solution
What is involved in documenting the solution? 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