James Tam
Introduction to software
Concepts covered
•What is software
•Categories of software and the differences between each
•The relation between software and hardware
James Tam
What is software?
The instructions that tell the hardware what to do.
1) Balance my check book.2) Do taxes3) Print out my resume4) : :
James Tam
Categories of software
• Application programs (applications)
• Operating systems
• Compilers
James Tam
Common types application programs
1) Word processors
2) Spreadsheets
3) Databases
4) Presentation software
5) Web browsers
James Tam
1) Word processors (e.g., MS-Word)
Lots of features (to be covered in lab)
•For text editing
•Images
•Customizable
•Built in Help
•And much, much more!
James Tam
2) Electronic spreadsheets (e.g., MS-Excel)
•Deals with rows and columns of numeric data
•Performs many calculations
•Many predefined mathematical functions (e.g., sum, average, min, max etc)
•Makes graphical representations of the data (e.g., graphs)
•Allows you perform a “what if” analysis
James Tam
3) Databases (e.g., MS-Access)
Allows data to be stored, organized, maintained and retrieved.
James Tam
4) Presentation software1 (e.g., PowerPoint)
Often used in presentations
The computer equivalent of transparencies
Allow for dynamic presentations (pictures, animations, sound) – can be overdone
1 It is listed in Beekman under the name “Presentation graphics”
James Tam
5) Web browsers
Internet Explorer
Netscape
James Tam
Operating systems: What do they do?
1) Act an an intermediary between the user and the hardware (mediator)
2) Manage the resources of the computer (parent)
3) Some may act to secure some parts of the computer (security)
James Tam
The operating system: The Intermediary between the user and the hardware
(operating system)
James Tam
Intermediary between the user and the hardware (e.g., hard drive)
James Tam
Manage system resources (parent)
James Tam
Manage system resources e.g., processor time
A = B + C
(Multi-tasking operating system)
James Tam
(Single tasking operating system)
A = B + C
James Tam
Manage system resources e.g., memory management
A = B + C
RAM
James Tam
Manage system resources (virtual memory)
A = B + C
RAM
Hard drive
James Tam
3) Securing information on the computer (security)
James Tam
Single user computer: security not a big issue
Mary
A2
James Tam
Multiple user system: there is a need to secure the information Separates and protects the work of different people who are working on a computer.
A2
Bill MaryGeorge
A2
A2
Bill’s A2
Mary’s A2
George’s A2
James Tam
Securing the information on the computer
This is not always done!
Single user operating systems don’t do this.
• MS-DOS, Windows 95, 98
Multi user operating systems do.
• Windows NT, Windows 2000, Windows XP, Unix
203 lab computers
James Tam
User Interfaces
Acts as the intermediary between the user and the software
Software (e.g., operating system)
User Interface
James Tam
Types of user interfaces
• GUI based
• Command line based
James Tam
GUI (Graphical user interface) based operating systems
Examples
•Windows (‘ 95, ’98, ME, NT, ‘2000, ‘XP)
•Apple (OS10)
Characteristics
•Many!
•Graphical (e.g., uses icons that are selectable with a mouse)
James Tam
Command line based software
Example
•Unix (Linux)
•MS-DOS
Characteristics
•Type in commands at a “command line”
James Tam
A WIMP(Window, Icon, Menu, Pointer)-based operating system: Windows
James Tam
An alternative to the desktop: Pad++
Pad++: A Zoomable Graphical Sketchpad for Exploring Alternate Interface Physics Bederson et al Journal of Visual Languages and Computing 7, 1996
James Tam
An alternative to WIMP: The task gallery
James Tam
Compilers (translators)
圣诞快乐和新年好 !
Huh?Merry
Christmas and Happy New
Year!
Same to you buddy!
Real life translation
James Tam
Compilers: translate between languages (high level view)
Do my taxes.
10001, 0001000, 100001…
The compiler
James Tam
Compilers: Actual view
1) A programmer writes a computer program 2) The compiler
translates the program into a form that the computer can understand
3) An executable program is created
Anybody who has this executable on their computer can then run (use) it.
James Tam
Relating software back to hardware: high level view of a computer (again)
James Tam
How does your computer look when it’s off?
James Tam
What happens when you turn on your computer (start-up): Step one execute instructions in BIOS.
To
From
James Tam
What happens when you turn on your computer (start-up): Step two load the operating system.
To
From
James Tam
At the desktop (OS running after start up)
James Tam
At the desktop (run an application with mouse): Step 1 Operating system interprets mouse information
???
???
What happened?
James Tam
At the desktop (run an application with mouse): Step 2 Operating system loads application
From
To
Application selected with mouse
James Tam
Summary (important points)
What is software
What are different categories of software
What are example types of application programs
What do operating systems do
How do compilers work
The relationship between hardware and software