What is ?

Instructions and other data for the computer • Also known as “programs” • Loaded from Secondary Storage into Primary Memory COMPSCI 111 / 111G • Runs (executes) from RAM Mastering Cyberspace: An introduction to practical computing Software is loaded CPU executes instruction

Hard Disk RAM Read / Write CPU

Software

http://en.wikipedia.org/wiki/Software 5/03/2008 COMPSCI 111/111G - Lecture 03 1 5/03/2008 COMPSCI 111/111G - Lecture 03 2

File Formats Standards

All data is stored as (binary) numbers Open Standard • Data is organised in files (chunks of related data) • Published publicly • MthdfMethod of encodi ng d epend s on the so ftware, call llded file f ormat • Free to use • Maintained by a "non-profit" organisation File Formats • E.g. XML, HTML, UML • Defines the way that the numbers are interpreted • “Open” does not necessarily mean “good” • E.g. for a graphics file: “first the width, then the height, then all the pixel color values line by line” PitStddProprietary Standard File Extensions • Intellectual property of an entity (individual / company) • A dot followed by letters at the end of a file name • Use of the standard is usually through license • Windows OS uses the file extension to determine the file format • E.g. Adobe Flash, RealPlayer, • Also used to decide which application to use to open the file some digital rights management (DRM) technologies • Risk for users: vendor lock-in Graphics .jpg , .png , .gif Video .mpg , .avi , .divx

Sound .mp3 , .wma , .ogg Programs .exe , .com , .bat "The nice thing about standards is that there are so many to choose from." Text .txt , .doc Program Code .c , .java , .cs , .py

5/03/2008 COMPSCI 111/111G - Lecture 03 3 5/03/2008 COMPSCI 111/111G - Lecture 03 4 Copyright and Patents

Software subject to normal legal copyright Software that has restrictions on using and copying • Copyright = “right to copy” • All rights are retained by the owner. • Creator retains the rights to their creations (not the ideas behind them) • Owner enforces these restrictions • Usually lasts for the life of the author plus 50 or 70 years • Best applicable to: music, visual art, literature, programs Can be: • Patents • • RtiRetain con trol over ideas /i/ inven tions • • Usually enables to exclusively commercialise an idea for 20 years • Semi-free (for non-profit) (can be important to amortise research cost) • US recognises software patents, Europe does not • Hotly debated issue

5/03/2008 COMPSCI 111/111G - Lecture 03 5 5/03/2008 COMPSCI 111/111G - Lecture 03 6

Freeware Shareware

Software is distributed free of charge Idea: try before you buy • No agreement about distribution, access to source code Trial period offered Types of Freeware • Purchase the license and to commercial version • Loss Leader (given away with loss as sales promotion) • Nagware • • Reminder messages to license software • PtPostcard ware • Software lacks the advanced features until licensed • Not legally recognised • E.g. Word processor that cannot Save or Print

E. g. MS Internet Explorer , Apple iTunes, Adobe Reader E.g. WinZip, TextPad

5/03/2008 COMPSCI 111/111G - Lecture 03 7 5/03/2008 COMPSCI 111/111G - Lecture 03 8 Open Source / , , Viruses

Free Software Spyware • Freedom to use and study the work • Collects data from your PC and sends it to someone else • Freedom to copy and share the work with others • May otherwise look like (or even be) a useful program • Freedom to change the work • The data may be sensitive (e.g. passwords, personal documents) • Freedom to distribute changed and therefore derivative works or just statistical Malware Copyright prevents these acts "I would love to change the world, but they won ' t give me the source code"code • Generic term for malicious software • EliitExplicit perm iiission is requ idired • Usually malicious program is disguised as useful program • Free gives permission • Causes harm, such as deleting or modifying data

Richard Stallman Viruses • (FSF) • Small programs that attach themselves to other programs • GNU General Public License (GPL) • May cause harm • Copyleft Golden rule: never run programs (or open files) that you cannot trust !!!

http://en.wikipedia.org/wiki/Copyleft 5/03/2008 COMPSCI 111/111G - Lecture 03 9 5/03/2008 COMPSCI 111/111G - Lecture 03 10

Kinds of Software Operating System

Application Software Low-level software that allows you to use the system • Helps the user complete a task • Default interface when no application is running • E.g. word processor, spreadsheet, database, web browser, games • Manages the system: CPU, memory, HD, … • Does all the direct interaction with the hardware (using drivers) System Software • Needed to run the computer system Examples: • Operating System (OS): • Microsoft Windows: “Windows - so intuitive manages all the hardware resources for application programs most used , but many complaints you only need a 678-page manual. ” (CPU, RAM, HD, …) • Macintosh OS: • Device drivers: more expensive, less software & hardware, more focus on usability programs that help an OS to control a piece of hardware • UiUnix, Linux: • Diagnostic and maintenance tools: more technical tools for analysis, trouble shooting and optimisation Mac and PC: (e.g. ch ec kdis k, de frag ) "Unix is user-friendly. http://www.apple .com/getamac/ads/ It's just very selective about who its friends are."

http://en.wikipedia.org/wiki/Operating_system 5/03/2008 COMPSCI 111/111G - Lecture 03 11 5/03/2008 COMPSCI 111/111G - Lecture 03 12 Command Line Interface Graphical User Interface (GUI)

Text-based Picture based • Powerful way to combine different commands • Windows, Icons, Mouse, Pointer • Hard to use: textual commands look weird if you don’t know them • Easy to use • Good for experts that use it often • Good for beginners

http://en.wikipedia.org/wiki/Command_line_interface http://en.wikipedia.org/wiki/GUI 5/03/2008 COMPSCI 111/111G - Lecture 03 13 5/03/2008 COMPSCI 111/111G - Lecture 03 14

Web Browsers Email Clients

5/03/2008 COMPSCI 111/111G - Lecture 03 15 5/03/2008 COMPSCI 111/111G - Lecture 03 16 Office Software Graphics Software

Inkscape

Paint.net

Blender

Terragen 5/03/2008 COMPSCI 111/111G - Lecture 03 17 5/03/2008 COMPSCI 111/111G - Lecture 03 18

Sound/Music Software Scientific Software

5/03/2008 COMPSCI 111/111G - Lecture 03 19 5/03/2008 COMPSCI 111/111G - Lecture 03 20 Security Software Software Development Tools

5/03/2008 COMPSCI 111/111G - Lecture 03 21 5/03/2008 COMPSCI 111/111G - Lecture 03 22

What if software fails? Summary

Usually software is not perfect !!! • Software (programs) consists of instructions that control the • Too complex to be completely free of errors computer and data • MhdthilkMany programmers have good technical know-how • PlddfdtitiPrograms are loaded from secondary storage into primary memory, but lack a sense of usability then executed by the CPU • User interfaces are often not logical "Men are from Mars. • Data is organized in files, which have different file formats WfVWomen are from Venus. If a problem occurs… • Software (and other data) is protected by copyright laws Computers are from hell." • It may not be your fault • Software can be proprietary or open-source or a mixture of both • You are most likely not the only one with that problem • Different kinds of software: • Ask others for help !!! • System software • Search the Internet and you will often find solutions • Applications Is it easy to fix a defect in a program? • SMlViSpyware, Malware, Viruses • Unfortunately, usually not • The internals of ppproprietar y software are usuall y not accessible If all else fails, read the manual. • Open-source programs can be large and hard to understand • But often problems can be circumvented by using the program in a different way

5/03/2008 COMPSCI 111/111G - Lecture 03 23 5/03/2008 COMPSCI 111/111G - Lecture 03 24