Computer software

1.

COMPUTER SOFTWARE
Lecture №3

2.

LECTURE’S OUTLINE
The aim of topic: Learn about the operating system and its types,
explore types of programming languages.
Agenda:
Computer Software
System Software
Programming Languages
Little Man Computer

3.

Computer Software
Computer hardware is useless without software.
Software is the set of instructions and associated data that direct the
computer to do a task.
Software can be divided into two categories: system software and
application software.
System software helps the computer to carry out its basic operating
tasks.
Application software helps the user carry out a variety of tasks.

4.

Computer Software

5.

System Software
Manages the fundamental operations of the computer, such as
• Loading programs and data into memory,
• Executing programs,
• Saving data to disks,
• Displaying information on the monitor,
• Transmitting data through a port to a peripheral device.
System software: operating systems, utilities, device drivers.

6.

System Software
Operating Systems
Collection of
computer programs that control the interaction of the user and the
computer hardware.
Responsible for directing all computer operations and managing all computer
resources.
Control
basic input and output, allocates system resources, manages storage
space, maintains security, and defects equipment failure.
A part of
the operating system code is stored in a ROM and the rest of it resides
on a disk.
Loading the operating system into memory is called booting the computer.

7.

System Software
Utilities
Another category of system software.
Augments the OS by taking over some of its responsibility for allocating
hardware resource.
Utility Program – System software consisting of programs for routine,
repetitive tasks (e.g. copying, clearing primary storage, computing a square
root, or storing), which can be shared by many users.
Many utilities come with OS.
Some independent software developers offer utilities for sale separately.

8.

Application Software
Developed
for a specific task, such as word processing (MS Word/
WordPerfect), accounting (Lotus 1-2-3/ Excel), or database management
(Access/ dBASE).
We also use graphics and presentation software.
Most applications are purchased on diskette or CD-ROM.
They are installed by copying the programs from the diskettes/ CD-ROM
to the hard disk.

9.

Programming Languages (PLs)
Computer Languages
Low-level language:
• Machine language
• Assembly language
High-level languages

10.

Programming Languages (PLs)
Machine Language
Machine language was the first generation programming language.
Machine language: directly understood by a computer since it is a collection
of binary numbers (0 and 1).
Disadvantages:
It is not standardized, different CPU needs different
machine languages. Slow and labor-intensive process.

11.

Programming Languages (PLs)
Assembly language
One
step above of machine language: the second generation of programming
languages.
More readable.
Computer operations
are represented by mnemonic codes rather than binary
memory addresses.
Programmers
could substitute languagelike acronyms and words such as add,
sub, and load in programming statements.
A
language translator called a compiler converted the English like statements
into machine language.
Disadvantage: CPU-dependent.

12.

Programming Languages (PLs)

13.

Programming Languages (PLs)
High-level languages
Combines algebraic expressions and English symbols.
The high-level languages are so called because each
statement in these
languages generates multiple statements at the machine-language level.
It
requires much faster, more efficient compilers to translate higher-level
languages into machine codes.
Advantage: CPU-independent.
Disadvantage: computers do not understand.

14.

Programming Languages (PLs)

15.

Why there are many PLs?
People take ideas from different languages and combine them into a new
languages. Some features are improved, some are added, some are removed.
Some are modifications of previous languages, like C++ is next step of C, and
Java is some modification of C++

16.

Important PLs
Java - used in web applications, software systems, where software needs security, and
frequent changes
C++ - used in games, and software where speed is the most important. (Windows is
written in C++)
Python - writing software is much faster. Used by scientists because it is easy.
Javascript - to perform operations in web-browser
PHP - develop fast web-applications
Ruby - easy to understand, and write complex applications

17.

PLs comparison
This table has imaginary numbers.
But this numbers shows some intuition
Programming
Language
Execution time
Development
time
Learning time
Assembler
5ms
14 days
2 years
C
15ms
8 days
1 year
C++
25ms
4 days
1 year
Java
100ms
1 day
6 month
Python
500ms
6 hours
4 month

18.

Little Man Computer
The Little Man Computer (LMC) is an instructional model of a
computer.
The LMC is generally used to teach students, because it models a
simple architecture computer - which has all of the basic features
of a modern computer.
It can be programmed in machine code or assembly code

19.

Try it: Little Man Computer
http://robowriter.info/little-man-computer/
http://peterhigginson.co.uk/LMC/

20.

Thank you for your attention!
English     Русский Правила