<<

What is ?

•Instructions and other data for the computer. Also known as “programs” or “applications”. • Loaded from Secondary Storage into Primary Memory. • Runs (executes) from RAM. COMPSCI 111 / 111G • 1936 Turing’s universal machine. Programs are data. Software is loaded Software CPU executes instructions

Hard Disk RAM Read / Write CPU

COMPSCI 111 / 111G COMPSCI 111 / 111G 2

File Formats Standards

•All data is stored as (binary) numbers •Data is organised in files (named collections of related data) •Open Standard •Method of encoding depends on the software, called the file format • Published openly •File Formats • Free to use •Defines the way that the numbers are interpreted • Maintained by a "non-profit" organisation •E.g. for a graphics file: • E.g. HTML, PDF “first the width, then the height, then all the pixel colour values line by line” •File Extensions •Proprietary Standard •A dot followed by letters at the end of a file name • Intellectual property of an entity (individual / company) •Most operating systems use the file extension to determine the file format • Use of the standard is usually through a • E.g. Adobe Flash, RealPlayer,

Graphics .jpg , .png , .gif Video .mpg , .avi , . some digital rights management (DRM) technologies • Risk for users: vendor lock-in Sound .mp3 , .wma , . Programs .exe , .com , .bat

Text .txt , .doc Program Code .c , . , .cs , .py

COMPSCI 111 / 111G COMPSCI 111 / 111G 3 4

1 .pdf files and Patents

•PDF stands for ``portable document format”. Proprietary •Software subject to normal legal copyright standard of Adobe Corp. until 2008. Now open standard. • Copyright = “right to copy” •Open a .pdf file using a text viewer, it starts like this: • Creator retains the rights to their creations (not the ideas behind them) • Usually lasts for the life of the author plus 50 or 70 years •%PDF‐1.4 • Best applicable to: , visual art, literature, programs •%–‘≈ÿ •5 0 obj << •Software Patents •/Length 1012 • Retain control over ideas / inventions •/Filter /FlateDecode •>> • Usually enables to exclusively commercialise an idea for 20 years (can be important to amortise research cost) •stream •x⁄≠WKo7æÎW÷P—æŸKÅ∫i͆nSXAI[â∂—jÌ • US recognises software patents, Europe does not (arguable) •é˛}áèU$ÎQ8õÉ¿Á|‰Ã˜Õ,≈»a‰ıËóÈËÍ7·à•L;C¶˜ƒ* ¬*êÈúº/Æˇ∫}{w}3ûpc • Hotly debated issue

COMPSCI 111 / 111G COMPSCI 111 / 111G 6

Proprietary Software

• Software is distributed free of charge • Software that has restrictions on • No agreement about distribution, no access to using and copying • Types of Freeware – All rights are retained by the • Loss Leader (given away with loss as sales promotion) owner. • - make money via ads – Owner enforces these • Partially working cut-down versions - see “” restrictions • • Can be: • Software which is no longer supported, and yet still available – Commercial • Some people believe there is nothing morally wrong with using “abandoned” software – Freeware • Not legally recognised – • E.g. MS , Apple iTunes, Adobe Reader, – Semi-free (for non-profit)

COMPSCI 111 / 111G COMPSCI 111 / 111G 7 8

2 Shareware /

•Idea: try before you buy •Open-Source Software • Source code is text that shows how software was programmed • open-source: anybody can read the source code, E.g. OS •Trial period offered • WordPress (used for Blogs) http://wordpress.org/about/ • Purchase the license and upgrade to commercial version •Free Software (“free speech”, not as in “free beer”) • Freedom to use and study the work (it is open-source) •Nagware "I would love to change the world, • Freedom to distribute derivative works but they won't give me the source • Reminder messages to license software code" •Copyright prevents these acts •Crippleware • Explicit permission is required • Software that lacks important features until licensed • Free software license gives permission • E.g. Word processor that cannot save or print •Richard Stallman • (FSF) • GNU General Public License (GPL) https://stallman.org/ COMPSCI 111 / 111G COMPSCI 111 / 111G 9 10

Kinds of Software Operating System

•Low-level software that allows you to use • Helps the user to complete a task the system • E.g. word processor, spreadsheet, database, web browser, games • Default interface when no application is running • Manages the system: CPU, memory, HD, … •System Software • Does all the direct interaction with the hardware (using drivers) • Needed to run the computer system • Operating System (OS): •Examples: manages all the hardware resources for application programs – : “Windows - so intuitive (CPU, RAM, Hard Drive, …) • most used, but many complaints you only need a 678-page manual.” • Device drivers: – Macintosh OS: programs that help an OS to control a piece of hardware • more expensive, software & hardware, more focus on usability – , Linux: “Unix is user-friendly. • Diagnostic and maintenance tools: • more technical. Linux runs on many supercomputers It's just very selective about analysis, trouble shooting and optimisation – iOS and Android: who its friends are.” (e.g. checkdisk, defrag) • mobile device operating systems http://en.wikipedia.org/wiki/Operating_system

COMPSCI 111 / 111G COMPSCI 111 / 111G 11 12

3 Command Line Interface (CLI) Sample of CLI dialog

•Text‐based

• Powerful way to combine different commands

• Hard to use: textual commands look weird if you don’t know them

• Good for experts that use it often

http://en.wikipedia.org/wiki/Command_line_interface COMPSCI 111 / 111G COMPSCI 111 / 111G 13

Graphical User Interface (GUI) Web Browsers

•Picture based

• Windows, Icons, Menu, Pointer

• Easy to use

• Good for beginners

http://en.wikipedia.org/wiki/GUI

COMPSCI 111 / 111G COMPSCI 111 / 111G 15 16

4 Email Clients MS Office Suite

A client is a software that accesses a server.

Power Point

Word Excel

http://en.wikipedia.org/wiki/Office_suite

COMPSCI 111 / 111G COMPSCI 111 / 111G 17 18

Graphics Software Sound/Music Software

Finale Notepad

iTunes

Audacity

COMPSCI 111 / 111G COMPSCI 111 / 111G 19 20

5 Scientific Software Security Software

COMPSCI 111 / 111G COMPSCI 111 / 111G 21 22

Software Development Tools What if software fails?

•Usually software is not perfect. • Too complex to be completely free of errors • User interfaces are often not logical • Many programmers have good technical know-how but lack a sense of usability •If a problem occurs… • It may not be your fault • You are most likely not the only one with that problem • Ask others for help !!! • Google is your friend: search the Internet and you will often find solutions •Is it easy to fix a defect in a program? Visual Studio • Unfortunately, usually not • The internals of are usually not accessible • Open-source programs can be large and hard to understand • But often problems can be circumvented by using the program in a different way Netbeans IDE

COMPSCI 111 / 111G COMPSCI 111 / 111G 23 24

6 , , Viruses Exercises

•Spyware 1. List at least two different file extensions that are used in the Windows • Collects data from your PC and sends it to someone else OS and state the name of the application associated with each file • May otherwise look like (or even be) a useful program extension. • The data may be sensitive (e.g. passwords, personal documents) •.pdf – acrobat reader, .doc –word, .pptx – powerpoint, .xlxs – excel .py ‐ python or just statistical •Malware 2. Why do we need computing standards? •Otherwise if you send a file from one machine to another it will not work. –OSX • Generic term for malicious software vs Windows vs Linux • Usually malicious program is disguised as useful program • Causes harm, such as deleting or modifying data 3. What is the difference between a copyright and a patent? •Viruses •A copyright is good for 50/70 years after death and does not need to be • Small programs that attach themselves to other programs commercialized. • May cause harm •A patent is good for 20 years but needs to be commercialized.

COMPSCI 111 / 111G COMPSCI 111 / 111G 25

More Exercises Even More Exercises

4. Can you legally copy freeware? Why? 8. Give an example of system software. •No the author usually restricts the uses rights to copy, distribute or modify. •OS or device driver

5. Can you legally modify freeware? Why? •No because you do not have the source code. 9. Give an example of application software. •Word, powerpoint, excel, . Can you legally copy open‐source software? Why? •Open‐source means only that you can read the source code. You need extra permissions to be able to copy the source‐code. Such as free software license, GPL or “copy‐left” 10. State one of the major benefits of graphical user interfaces. •Good for beginners, easy to use 7. Can you legally modify open‐source software? Why? •Only if allowed by the copyright, “free software liscense”, GPL, “”. 11. State one of the major benefits of command‐line interfaces. •Very powerful, hard to use

COMPSCI 111 / 111G COMPSCI 111 / 111G

7 Summary

• Software (programs) consists of instructions that control the computer and data • Programs are loaded from secondary storage into primary memory, then executed by the CPU • Data is organized in files, which have different file formats • Software (and other data) is protected by copyright laws • Software can be proprietary or open-source or a mixture of both • Different kinds of software: • System software • Applications • Spyware, Malware, Viruses

COMPSCI 111 / 111G 32

8