51
Software What is a computer program?

Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Embed Size (px)

Citation preview

Page 1: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is a computer program?

Page 2: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is a computer program?

Set of detailed step-by-step instructions that tells a computer how to carry out a task or solve a problem

10 print “hello world”

20 goto 10

Page 3: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is a computer program?

Instructions are written in a computer programming languageExamples?

Page 4: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is a computer program?

Instructions are written in a computer programming languageExamples?

Machine language, microcode, assembly languageBASIC, COBOL, FORTRAN, Pascal, C, C++, Java, AdaJavascript, Visual Basic Script, Perl

Page 5: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is(are) computer data?

Page 6: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is(are) computer data?

Information stored in the computerCollections of symbols (letters, numbers, etc) stored as a series of bitsWhat are some data examples?

Page 7: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is(are) computer data?

Information stored in the computerCollections of symbols (letters, numbers, etc) stored as a series of bitsWhat are some data examples?

Documents, spreadsheets, sounds, images, video

Page 8: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is software?

Page 9: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software

What is software?

Programs and their associated data

Page 10: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Types

System softwareHelps computer to carry out basic operating tasksTasks strictly involves the computer

Application softwareHelps user carry out a taskTask could be done without the computer

Examples types in each?

Page 11: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Types

System softwareOperating system, device drivers, utilities, programming compilers and interpreters

Application softwareWord processing, spreadsheets, business, education, presentation, entertainment

Page 12: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What is a copyright?

Page 13: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What is a copyright?Legal protection granting certain exclusive rights to the owner of the copyright

Protects from copy, distribution, modification

Owning software does not mean that you own its copyright!What is pirated software?

Page 14: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What is a copyright?Legal protection granting certain exclusive rights to the owner of the copyright

Protects from copy, distribution, modification

Owning software does not mean that you own its copyright!What is pirated software?

Software that has been copied, distributed or modified illegally (against copyright laws)

Page 15: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What are the conditions of the software copyright?

Page 16: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What are the conditions of the software copyright?

Only the copyright owner can reproduce, sell, or distribute the softwareSoftware can be copied to the computer hard disk for the purpose of installationIf software is passed to another owner, a copy cannot be kept by the original ownerCannot distribute modified copies

Page 17: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What are the conditions of the software copyright?

However…

Page 18: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Copyright

What are the conditions of the software copyright?

However…it IS legal to make a backup copy for archival purposes!Often creates a very thin line…http://www.gamecopyworld.com

Page 19: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Licenses

What is a software license?

Page 20: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software Licenses

What is a software license?

Legal contract that defines how a computer program may be usedSpecial restrictions or extension of copyright by software author

Page 21: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Software License Types

Single-user, multiple-userConcurrent user

Max number of copies used simultaneously

Site licenseCopy for all users at a particular site

Shareware: “Try before you buy”

Freeware, Public DomainWarez: illegally copied software

Page 22: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

System Software

Software essential to the fundamental operations of the computer

Controls execution of application softwareInterpreting user commandsOperation of peripheralsMemory and disk accessFile managementScreen displayAnd many more…

Page 23: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

System Software

Operating SystemsOS utilitiesOS device driversProgramming tools

Page 24: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

Controls use of hardware resourcesControls interaction between application software and hardwareHandles interaction between user and applicationExecutes applicationsHandles multi-user and multi-tasking

Page 25: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

Controls basic input and outputData flow between I/O devices

Allocates system resourcesMemory, disk, I/O devices, program exec

File managementDetects equipment failuresSecurity

Page 26: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating SystemExternal Services

Help users…start programs, manage stored data, maintain security (logins, file protection)

Provides an interface to these services:

Command-line, menus, graphics user interface (GUI)

Page 27: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating SystemInternal Services

Not directly user-controlled. Manages:

I/OSystem resourcesStorage space for programs and dataHandles multi-user and multi-taskingDetects equipment failure

Page 28: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

Example OS’s?

Page 29: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

Example OS’s?Microsoft Windows

3.1, for workgroups, NT, 95, 98, ME, 2000, XP

Mac OS: OS XDOSOS/2UNIX, LinuxBeOS

Page 30: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System:Utilities

Disk formattingCompressionFile encryptionAnti-virusNetworking

Page 31: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System:Device Drivers

Tells computer how to use a deviceGraphics card, sound card, printer, scanner,…

Interface between OS and hardware devices

Page 32: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

OS can do so much, but what should not be included as a part of the OS? Why?

Page 33: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

OS can do so much, but what should not be included as a part of the OS? Why?

High-level applications; limits flexibilityBut, what about a web browser?

Page 34: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Operating System

Internet Explorer and Windows 98!Big source of debateLong running court caseWindows 98 “monopoly”Microsoft claims that browser is an essential part of their OSMicrosoft was declared a monopoly,what next?

Page 35: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools:compilers and interpreters

Programs are written in a programming language that is translated or interpreted into a machine languageCompilers translate a program written in one language to a lower-level language.

Translation done before executionUsually lower-level language is machine or microcode

Interpreters convert each instruction of a program during execution into a lower-level instruction

Page 36: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools:compilers and interpreters

Low-level:machine language, microcode, assembly language

High-level: BASIC, COBOL, FORTRAN, Pascal, C, C++, Java, Ada, Lisp, ML“Higher-level” scripting languages:Javascript, VBS (Melissa and ILoveYou), Perl

What about HTML, Flash and Shockwave, Excel?

Page 37: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools:compilers and interpreters

HTML, Flash and Shockwave, Excel all give the “programmer” the flexibility to create small applications with a simple user interface, but…

much more constrained by the application that runs themthey are interpreted by a “viewer” program: browser, Exceltheir instructions are not actually transformed directly into a lower level language before execution.these “languages” fall into the category of scripting languages

Instructions tell an application what to tell a machine to doOften the distinction between scripting and programming can be blurred

Page 38: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools:development environments

The software that a programmer uses to develop programs is a development environment.Typical steps in programming:

Write program as a text file in high-level languageCompile text file into lower-level languageRepeat compilation until program is compiled into a machine languageInstruct the OS to execute the machine language

Quick demonstration in C on a UNIX machine…

Page 39: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools:development environments

The development process for interpreted languages is slightly different:

Write program in high-level interpreted language as a text fileRun the interpreter application that will “execute” your program directly from the text fileEach instruction is then converted on-the-fly into a lower-level instructionMost often, the lower-level instruction goes straight to machine execution (perhaps through more interpretation)

Page 40: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools:development environments

These steps can usually be performed in a single programming environment called an IDE: Integrated Development EnvironmentExamples: MS Visual Studio, MS Visual Basic, MS Java IDE, …

Page 41: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Programming Tools

We will be learning how to create web pages directly from HTML (hypertext markup lang)

Write web pages as a text file and load into browser

We will also learn how to augment HTML with the interpreted JavaScript language

DHTML: Dynamic HTML

I will be gathering documents for reading very soon.

Page 42: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Application Software

Name some types?

Page 43: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Application Software

Name some types?Document production:

Word-processing, desktop publishing, web page authoring

GraphicsPhoto editing, Painting & drawing, CAD, animation, video

PresentationNumerical Analysis:

Spreadsheets, graphing, statistical

Databases

Page 44: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Application Software

Name some types?Reference:

Dictionary, encyclopedia, maps

Connectivity or communications:Web browser, email, remote control, home networking

Education and trainingBusiness: accounting and financeGames!Office suites:

Word-processing, spreadsheet, presentation, and database software all carefully integrated

Page 45: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Application Software

Give some particular examples:

Page 46: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Application Software

Give some particular examples?Document production:

MS Word, WordPerfect, Claris Works, FrontPage, …

GraphicsPhotoShop, CorelDraw, AutoCAD, RayDream, Adobe Premiere

PresentationMS PowerPoint

Numerical Analysis:MS Excel, Lotus 1-2-3, SPSS, …

DatabasesMS Access, Lotus Approach, Oracle

Page 47: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Application Software

Give some particular examples?Reference:

MS Encarta, MS Streets, StreetFinder, Webster Online,…

Connectivity or communications:MS Internet Explorer, Netscape Communicator, Opera, AOL, …

Education and trainingBusiness: accounting and financeGames!Office suites:

MS Office, MS Works, Claris Works, StarOffice, …

Page 48: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Multimedia

What is multimedia?

Page 49: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Multimedia

What is multimedia?Integrated use of multiple media types

What are some common media types?

Page 50: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Multimedia

What is hypertext and hypermedia?

Page 51: Software What is a computer program?. Software What is a computer program? Set of detailed step-by-step instructions that tells a computer how to carry

Multimedia

What is hypertext and hypermedia?Hypertext: text that links to another document or other mediaHypermedia: Idea that other documents and multimedia could be linked from text inside a documentOverall, idea that documents could be linked to each other (not just in order)

Ted Nelson, 1965