Programming Fundamentals:
What is a Computer?
Software & Hardware?
Operating System
Programming Languages Concepts
Why do we need programming languages?
Why C Still Useful?
2. What is a Computer?
• An electronic device which is capable of
receiving information (data) in a particular
form and of performing a sequence of
operations to produce a result in the form
of information.
3. What is a Computer?
• Is it a machine with a fantastic brain and
incredible intelligence?
• Of course NOT.
• A computer has no reasoning power. It does
exactly what we tell it to do -no more and no
less. If we tell it to do something stupid, it
does it. If we tell it to do sensible/clever
things it does it as well.
• The important thing is that computers do what
we ask them to do very -very quickly and
without making mistakes.
4. Software & Hardware?
• Computer Instructions or data, anything that can be stored
electronically is Software.
• Hardware is one that is tangible. The storage devices (Hard
disk, CD’s etc.,), mouse, keyboard CPU and display
devices (Monitor) are Hardware.
• Computer hardware would be useless without software, the
lists of instructions which tell the hardware what to do.
• Computers require various types of software to make them
useful. These can be classified as follows:
6. Three of the main types of software are:
1. Application Software
2. Operating Systems (Systems Software)
3. Utility Software
Types of Software
7. Application Software
Application software is computer software
designed to help the user to perform specific
tasks.
Applications do useful tasks, creating and editing
files of data, e.g.
8. Application Software
Applications do useful tasks, creating and editing
files of data, e.g.
Spreadsheet
Word
Processor
Database
Management System
Presentation
Software
Graphics
Software
Animation
Software
Accounts
Program
A collection of applications is called a suite of
applications or an application package, e.g. Microsoft
Office, Adobe Creative Suite.
Web Design
Software
9. Operating System
System software is computer software designed
to operate the computer hardware and to provide
a platform for running application software.
The operating system runs the computer. It
works between the hardware and the application
software…
10. Operating System
The operating system runs the computer. It works
between the hardware and the application software…
Operating System
Application Software
11. Operating System
Hardware: Mouse, Keyboard, CPU, Hard Drive,
Motherboard, CD Drive, Printer, etc.
Operating System
Application Software
The operating system runs the computer. It works
between the hardware and the application software…
Without an operating system, a computer would
just be a box of circuit boards and wires that
wouldn’t do anything.
12. Operating System
The most popular operating system is Windows.
In most operating systems, the desktop is the
main GUI (Graphical User Interface) which gives
the user access to all parts of the computer.
It is the operating system which…
Allows you to see the contents of any drive
attached to your system.
Allows you to copy and paste between different
applications.
Copies data to and from an external drive.
14. Utility Software
A utility program looks after the safe and proper
running of the computer, such as…
Device DriverDefragmenter Anti-spyware
File RecoveryAnti-virus Crash Protection
Firewall Copying to CD
Utility software helps to keep the computer running
safely, protects it from viruses and attacks, and can
carry out software repairs if necessary.
Examples of popular brands are Norton and AVG.
15. 1. What is a programming language?
• A "programming language" is a means of communication between a
human being (programmer) and a computer. A programmer uses this
means of communication in order to give the computer instructions.
These instructions are called "programs".
• A programming language is a set of rules that provides a way of telling a
computer what operations to perform.
• A programming language can be used to write programs that control the
hardware e.g.: Embedded processor in Refrigerator, Air conditioner,
Microwave oven etc.
Programming Languages
Concepts
16. 2. Why do we need programming languages?
A computer cannot understand our language that we use in our day
to day conversations, and likewise, we cannot understand the
binary language that the computer uses to do it’s tasks.
Programming languages have been developed for the purpose of
communicating with computers.
1. Facilitate users in performing tasks which are:
1. Faster,
2. Correct, and
3. Economically cheaper
Programming Languages
Concepts
17. 1. What is a programming language?
• A "programming language" is a means of communication between a
human being (programmer) and a computer. A programmer uses this
means of communication in order to give the computer instructions.
These instructions are called "programs".
• A programming language is a set of rules that provides a way of telling a
computer what operations to perform.
• A programming language can be used to write programs that control the
hardware e.g.: Embedded processor in Refrigerator, Air conditioner,
Microwave oven etc.
Programming Languages Concepts
18. 2. Why do we need programming languages?
A computer cannot understand our language that we use in our day
to day conversations, and likewise, we cannot understand the
binary language that the computer uses to do it’s tasks.
Programming languages have been developed for the purpose of
communicating with computers.
1. Facilitate users in performing tasks which are:
1. Faster,
2. Correct, and
3. Economically cheaper
Programming Languages Concepts
19. 3. What are the types of programming language?
• Programming languages may be divided into three (03) general types:
1. Machine languages
2. Assembly languages
3. High-level languages
Programming Languages Concepts
20. • Machine languages
• Machine language is the only language that a computer understands
• Strings of 0’s and 1’s telling computers to perform basic operations one
at a time; e.g.:
01001110
00111001
01101010
• Machine language is a low-level programming language. It is easily
understood by computers but difficult to read by people.
• Machine dependent i.e., a code written for one machine may not run on
the other.
• Programming in machine languages is too slow, tedious, and error-
prone.
Programming Languages Concepts
21. • Assembly languages
• Assembly language is a representation of machine language
• Symbolic operation codes replaced binary operation codes; e.g.:
LOAD R1, sessional
LOAD R2, final
ADD R1, R2
STORE total_marks
• The advantage of assembly language is that its instructions are readable. For
example, assembly language statements like LOAD and ADD are more
recognizable than sequences of 0s and 1s.
• Assembly language programs needed to be “assembled” for execution by
the computer. Each assembly language instruction is translated into one
machine language instruction.
• Very efficient code and easier to write.
• Though assembly language statements are readable, the statements are still
low-level.
• Another disadvantage of assembly language is that it is not portable. In other
words, assembly language programs are specific to a particular hardware.
Programming Languages Concepts
22. • High-level languages
• Closer to English but included simple mathematical notation; e.g.:
total_marks = sessional + final
• Programs written in source code which must be translated into machine
language programs called object code.
• The translation of source code to object code is accomplished by a
machine language system program called a compiler.
Programming Languages Concepts
23. Why use C?
• The C is a general-purpose, procedural computer programming language developed
in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the
UNIX operating system.
• Mainly because it produces code that runs nearly as fast as code written in assembly
language. Some examples of the use of C might be:
• Operating Systems
• Language Compilers
• Assemblers
• Text Editors
• Network Drivers
• Modern Programs
• Data Bases
• Language Interpreters
• Utilities
Mainly because of the portability that writing standard C programs can
offer
24. History
• 1960 : -
• ALGOL was found by International group of computer users.
• COBOL was found for commercial application usage.
• FORTRAN was found for scientific applications.
• In 1967: -
• Basic Combined Programming Language (BCPL)
• developed by Martin Richards at Cambridge University.
• a single language which can program all possible applications,
• In 1970: -
• a language called B was developed by Ken Thompson at AT & T’s Bell Labs.
25. History
• In 1972: -
• Dennis Ritchie at Bell Labs developed a language with some additional
features of BPCL and B called C.
• In 1978: -
• Publication of The C Programming Language by Kernighan & Ritchie
caused a revolution in the computing world.
Editor's Notes
an electronic device which is capable of receiving information (data) in a particular form and of performing a sequence of operations in accordance with a predetermined but variable set of procedural instructions (program) to produce a result in the form of information or signals.
an electronic device which is capable of receiving information (data) in a particular form and of performing a sequence of operations in accordance with a predetermined but variable set of procedural instructions (program) to produce a result in the form of information or signals.
Adobe Creative Suite (CS) is a software suite of graphic design, video editing, and web development applications developed by Adobe Systems. Each edition consists several Adobe applications, e.g., Photoshop, Acrobat, InDesign, Premiere Pro or After Effects.
Adobe Creative Suite (CS) is a software suite of graphic design, video editing, and web development applications developed by Adobe Systems. Each edition consists several Adobe applications, e.g., Photoshop, Acrobat, InDesign, Premiere Pro or After Effects.
Disk Defragmenter is a utility in Microsoft Windows designed to increase access speed by rearranging files stored on a disk to occupy contiguous storage locations, a technique called defragmentation. Defragmenting a disk minimizes head travel, which reduces the time it takes to read files from and write files to the disk
C is called a structured programming language because to solve a large problem, C programming language divides the problem into smaller modules called functions or procedures each of which handles a perticular responsibility.