Upload
lee-kelly
View
217
Download
2
Tags:
Embed Size (px)
Citation preview
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 out a task or solve a problem
10 print “hello world”
20 goto 10
Software
What is a computer program?
Instructions are written in a computer programming languageExamples?
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
Software
What is(are) computer data?
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?
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
Software
What is software?
Software
What is software?
Programs and their associated data
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?
Software Types
System softwareOperating system, device drivers, utilities, programming compilers and interpreters
Application softwareWord processing, spreadsheets, business, education, presentation, entertainment
Software Copyright
What is a copyright?
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 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)
Software Copyright
What are the conditions of the software copyright?
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
Software Copyright
What are the conditions of the software copyright?
However…
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
Software Licenses
What is a software license?
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
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
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…
System Software
Operating SystemsOS utilitiesOS device driversProgramming tools
Operating System
Controls use of hardware resourcesControls interaction between application software and hardwareHandles interaction between user and applicationExecutes applicationsHandles multi-user and multi-tasking
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
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)
Operating SystemInternal Services
Not directly user-controlled. Manages:
I/OSystem resourcesStorage space for programs and dataHandles multi-user and multi-taskingDetects equipment failure
Operating System
Example OS’s?
Operating System
Example OS’s?Microsoft Windows
3.1, for workgroups, NT, 95, 98, ME, 2000, XP
Mac OS: OS XDOSOS/2UNIX, LinuxBeOS
Operating System:Utilities
Disk formattingCompressionFile encryptionAnti-virusNetworking
Operating System:Device Drivers
Tells computer how to use a deviceGraphics card, sound card, printer, scanner,…
Interface between OS and hardware devices
Operating System
OS can do so much, but what should not be included as a part of the OS? Why?
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?
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?
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
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?
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
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…
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)
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, …
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.
Application Software
Name some types?
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
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
Application Software
Give some particular examples:
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
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, …
Multimedia
What is multimedia?
Multimedia
What is multimedia?Integrated use of multiple media types
What are some common media types?
Multimedia
What is hypertext and hypermedia?
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