52
Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Embed Size (px)

Citation preview

Page 1: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Discovering Computers 2009

CSC 1100 Computer Literacy

Dr. Carlos E. Otero

Introduction to Computer

Programming

Page 2: 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

Page 3: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 4: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 5: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 6: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 7: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 8: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 9: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Procedural Languages

What is a compiler?

p. 667 Fig. 13-4 Next

Program that converts entire source program into machine language before executing it

Page 10: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 11: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 12: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 13: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 14: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 15: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 16: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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!

Page 17: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 18: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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.

Page 19: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 20: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 21: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 22: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 23: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 24: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Web Page Development

What is HTML (Hypertext Markup Language)?

p. 678 Fig. 13-18 Next

Used to create Web pages

Page 25: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Web Page Development

How web pages travel the Internet using acable modem connection?

p. 73 Fig. 2-3 Next

Page 26: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 27: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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)

Page 28: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 29: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 30: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 31: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 32: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 33: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 34: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Step 1 — Analyze Requirements

Requirements can be modeled using the Unified Modeling Language (UML) Use Case Diagrams

Page 35: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 36: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Step 2 — Design Solution

What is a hierarchy chart?

p. 687 Fig. 13-25 Next

Shows program modules graphically Also called structure chart

Page 37: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 38: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 39: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 40: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Step 2 — Design Solution

What is a case control structure?

p. 689 Fig. 13-29 Next

Yields one of three or more possibilities

Page 41: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 42: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Step 2 — Design Solution

What is a program flowchart?

p. 690 Fig. 13-32 Next

Graphically shows logic in solution algorithm

Page 43: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Step 2 — Design Solution

What is an example of a flowchart?

p. 691 Fig. 13-33 Next

Page 44: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 45: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 46: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Step 2 — Design Solution

What is pseudocode?

p. 690 and 692 Fig. 13-35 Next

Uses condensed form of English to convey program logic

Page 47: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 48: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 49: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 50: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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

Page 51: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

Companies on the Cutting Edge

Video: Electronic Arts Going Mobile

Next

CLICK TO START

Page 52: Discovering Computers 2009 CSC 1100 Computer Literacy Dr. Carlos E. Otero Introduction to Computer Programming

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