COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for...

29
1 COMPSCI 111 / 111G Software COMPSCI 111 / 111G

Transcript of COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for...

Page 1: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

1

COMPSCI 111 / 111GSoftware

COMPSCI 111 / 111G

Page 2: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

2

What is software?

•Instructions and other data for the computer. Also known as “programs” or “applications”.

• Loaded from Secondary Storage into Primary Memory.

• Runs (executes) from RAM.• 1936 Turing’s universal machine. Programs are

data.

COMPSCI 111 / 111G 2

Software is loadedCPU executes instructions

Hard Disk RAM Read / Write CPU

Page 3: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

3

File Formats•All data is stored as (binary) numbers•Data is organised in files (named collections of related data)•Method of encoding depends on the software, called the file format

•File Formats•Defines the way that the numbers are interpreted•E.g. for a graphics file: “first the width, then the height, then all the pixel colour values line by line”

•File Extensions•A dot followed by letters at the end of a file name•Most operating systems use the file extension to determine the file format

COMPSCI 111 / 111G 3

Graphics .jpg , .png , .gif Video .mpg , .avi , .divx

Sound .mp3 , .wma , .ogg Programs .exe , .com , .bat

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

Page 4: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

4

Standards

•Open Standard• Published openly• Free to use• Maintained by a "non-profit" organisation• E.g. HTML, PDF

•Proprietary Standard• Intellectual property of an entity (individual / company)• Use of the standard is usually through a license• E.g. Adobe Flash, RealPlayer,

some digital rights management (DRM) technologies• Risk for users: vendor lock-in

COMPSCI 111 / 111G 4

Page 5: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

5

.pdf files•PDF  stands for ``portable document format”. Proprietary standard of Adobe Corp. until 2008. Now open standard. •Open a .pdf file using a text viewer, it starts like this:

•%PDF‐1.4•%–‘≈ÿ•5 0 obj <<•/Length 1012      •/Filter /FlateDecode•>>•stream•x⁄≠WKo7æÎW÷P—æŸKÅ∫i͆nSXAI[â∂—jÌ•é˛}áèU$ÎQ8õÉ¿Á|‰Ã˜Õ,≈»a‰ıËóÈËÍ7·à•L;C¶˜ƒ* ¬*êÈúº/Æˇ∫}{w}3ûpc

COMPSCI 111 / 111G

Page 6: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

6

Copyright and Patents

•Software subject to normal legal copyright• Copyright = “right to copy”• 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• Best applicable to: music, visual art, literature, programs

•Software Patents • Retain control over ideas / inventions• Usually enables to exclusively commercialise an idea for 20 years

(can be important to amortise research cost)• US recognises software patents, Europe does not (arguable)• Hotly debated issue

COMPSCI 111 / 111G 6

Page 7: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

7

Proprietary Software

• Software that has restrictions on using and copying– All rights are retained by the

owner.– Owner enforces these

restrictions• Can be:

– Commercial– Freeware– Shareware– Semi-free (for non-profit)

COMPSCI 111 / 111G 7

Page 8: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

8

Freeware• Software is distributed free of charge

• No agreement about distribution, no access to source code

• Types of Freeware• Loss Leader (given away with loss as sales promotion)• Adware - make money via ads• Partially working cut-down versions - see “Crippleware”

• Abandonware• Software which is no longer supported, and yet still available• Some people believe there is nothing morally wrong with using “abandoned”

software• Not legally recognised

• E.g. MS Internet Explorer, Apple iTunes, Adobe Reader, Skype

COMPSCI 111 / 111G 8

Page 9: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

9

Shareware•Idea: try before you buy

•Trial period offered• Purchase the license and upgrade to commercial version

•Nagware• Reminder messages to license software

•Crippleware• Software that lacks important features until licensed• E.g. Word processor that cannot save or print

COMPSCI 111 / 111G 9

Page 10: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

10

Open Source / Free Software•Open-Source Software

• Source code is text that shows how software was programmed• open-source: anybody can read the source code, E.g. Linux OS• WordPress (used for Blogs) http://wordpress.org/about/

•Free Software (“free speech”, not as in “free beer”)• Freedom to use and study the work (it is open-source)• Freedom to distribute derivative works

•Copyright prevents these acts• Explicit permission is required• Free software license gives permission

•Richard Stallman• Free Software Foundation (FSF)• GNU General Public License (GPL)

COMPSCI 111 / 111G 10

"I would love to change the world,but they won't give me the source

code"

https://stallman.org/

Page 11: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

11

Kinds of Software

•Application Software• Helps the user to complete a task• E.g. word processor, spreadsheet, database, web browser, games

•System Software• Needed to run the computer system• Operating System (OS):

manages all the hardware resources for application programs(CPU, RAM, Hard Drive, …)

• Device drivers:programs that help an OS to control a piece of hardware

• Diagnostic and maintenance tools:analysis, trouble shooting and optimisation(e.g. checkdisk, defrag)

COMPSCI 111 / 111G 11

Page 12: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

12

Operating System

•Low-level software that allows you to use the system

• Default interface when no application is running• Manages the system: CPU, memory, HD, …• Does all the direct interaction with the hardware (using drivers)

•Examples:– Microsoft Windows:

• most used, but many complaints

– Macintosh OS:• more expensive, less software & hardware, more focus on usability

– Unix, Linux:• more technical. Linux runs on many supercomputers

– iOS and Android:• mobile device operating systems

COMPSCI 111 / 111G 12

“Windows - so intuitive you only need a 678-page manual.”

“Unix is user-friendly.It's just very selective about

who its friends are.”

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

Page 13: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

13

Command Line Interface (CLI)

•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

COMPSCI 111 / 111G 13

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

Page 14: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

14

Sample of CLI dialog

COMPSCI 111 / 111G

Page 15: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

15

Graphical User Interface (GUI)

•Picture based

• Windows, Icons, Menu, Pointer

• Easy to use

• Good for beginners

COMPSCI 111 / 111G 15

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

Page 16: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

16

Web Browsers

COMPSCI 111 / 111G 16

Page 17: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

17

Email Clients

COMPSCI 111 / 111G 17

A client is a software that accesses a server.

Page 18: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

18

MS Office Suite

COMPSCI 111 / 111G 18

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

Word Excel

Power Point

Page 19: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

19

Graphics Software

COMPSCI 111 / 111G 19

Page 20: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

20

Sound/Music Software

COMPSCI 111 / 111G 20

Audacity

iTunes

Finale Notepad

Page 21: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

21

Scientific Software

COMPSCI 111 / 111G 21

Page 22: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

22

Security Software

COMPSCI 111 / 111G 22

Page 23: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

23

Software Development Tools

COMPSCI 111 / 111G 23

Eclipse

Netbeans IDE

Visual Studio

Page 24: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

24

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-howbut 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?• Unfortunately, usually not• The internals of proprietary software 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

COMPSCI 111 / 111G 24

Page 25: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

25

Spyware, Malware, Viruses•Spyware

• Collects data from your PC and sends it to someone else• May otherwise look like (or even be) a useful program• The data may be sensitive (e.g. passwords, personal documents)

or just statistical

•Malware• Generic term for malicious software• Usually malicious program is disguised as useful program• Causes harm, such as deleting or modifying data

•Viruses• Small programs that attach themselves to other programs• May cause harm

COMPSCI 111 / 111G 25

Page 26: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

26

Exercises1. List at least two different file extensions that are used in the Windows OS and state the name of the application associated with each file extension.•.pdf – acrobat reader, .doc – word, .pptx – powerpoint, .xlxs – excel .py ‐ python 

2. Why do we need computing standards?•Otherwise if you send a file from one machine to another it will not work. – OSX vs Windows vs Linux 

3. What is the difference between a copyright and a patent?•A copyright is good for 50/70 years after death and does not need to be commercialized.•A patent is good for 20 years but needs to be commercialized.

COMPSCI 111 / 111G

Page 27: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

27

More Exercises4. Can you legally copy freeware? Why?•No the author usually restricts the uses rights to copy, distribute or  modify.

5. Can you legally modify freeware? Why?•No because you do not have the source code.

6. 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”

7. Can you legally modify open‐source software? Why?•Only if allowed by the copyright, “free software liscense”, GPL, “copyleft”.

COMPSCI 111 / 111G

Page 28: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

28

Even More Exercises8. Give an example of system software.•OS or device driver

9. Give an example of application software.•Word, powerpoint, excel, internet explorer

10. State one of the major benefits of graphical user interfaces.•Good for beginners, easy to use

11. State one of the major benefits of command‐line interfaces.•Very powerful, hard to use

COMPSCI 111 / 111G

Page 29: COMPSCI 111 111G Software - Auckland · 12 “Windows - so intuitive ... • Generic term for malicious software • Usually malicious program is disguised as useful program • Causes

29

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