Fundamentals of Computer and Programming
Fundamentals of Computer and Programming
Assignment # 1
Computer Fundamentals
and Programming Languages
Submitted by:
Richard Kenneth U. Bandiola
BSCE 2-1
Submitted to:
Sr. Rhommel R. Avinante
Instructor, CPEN 21
Date Submitted:
June 17, 2015, Wednesday
Computer Fundamentals
Computer
-
System Software - is a collection of programs designed to operate, control, and extend the
processing capabilities of the computer itself. System software are generally prepared by
computer manufactures. These software products comprise of programs written in low-level
languages which interact with the hardware at a very basic level. System software serves as the
interface between hardware and the end users. Some examples of system software are Operating
System, Compilers, Interpreter, Assemblers etc.
Application Software - are designed to satisfy a particular need of a particular environment. All
software applications prepared in the computer lab can come under the category of Application
software. Application software may consist of a single program, such as a notepad software for
writing and editing simple text. It may also consist of a collection of programs, often called a
software package, which work together to accomplish a task, such as a spreadsheet package.
Kinds of Computers
PC (Personal Computer)
- It is a single user computer system having moderately powerful microprocessor.
Workstation
- It is also a single user computer system which is similar to personal computer but has a more
powerful microprocessor.
Mini Computer
- It is a multi-user computer system which is capable of supporting hundreds of users
simultaneously.
Main Frame
- It is a multi-user computer system which is capable of supporting hundreds of users
simultaneously. Software technology is different from minicomputer.
Supercomputer
- It is an extremely fast computer which can execute hundreds of millions of instructions per
second.
Data
- can be defined as a representation of facts, concepts or instructions in a formalized manner which
should be suitable for communication, interpretation, or processing by human or electronic
machine.
Information
- is organised or classified data which has some meaningful values for the receiver. It is the
processed data on which decisions and actions are based.
For the decision to be meaningful, the processed data must qualify for the following
characteristics:
1. Timely - Information should be available when required.
2. Accuracy - Information should be accurate.
3. Completeness - Information should be complete.
All types of computers follow a same basic logical structure and perform the basic operations for
converting raw input data into information useful to their users.
Data Processing Cycle
- is the logical structure of processes that a data undergoes inside a computer in order to produce
meaningful information.
Stages of the Data Processing Cycle
Input - The process of entering data and instructions into the computer system. The input
process are performed by input devices such as the keyboard, mouse etc.
Processing the process of performing arithmetic, and logical operations on data in order to
convert them into useful information. The processes in this stage are performed inside the
Central Processing Unit (CPU).
Storage the process of saving data and instructions so that they are available for processing as
and when required. The storage processes are performed by the following storage devices:
primary storage devices, such as ROM, RAM, etc. and secondary storage devices, such as
Hard disks, CDs, DVDs, USBs etc.
Output - The process of producing useful information or results for the user, such as a printed
report or visual display. The output processes are performed by output devices, such as the
printer, monitor etc.
Operating System
- It is a program that acts as an interface between the software and the computer hardware. It is an
integrated set of specialized programs that are used to manage overall resources and operations of
the computer. It is a specialized software that controls and monitors the execution of all other
programs that reside in the computer, including application programs and other system software.
For Personal Computers (PCs), the most popular operating systems are DOS, OS/2, Windows,
Linux, VMS, OS/400, AIX, z/OS, etc.
Objectives of Operating System:
Memory Management - keeps tracks of primary memory i.e. what part of it is in use by whom,
what part is not in use etc. and allocates the memory when a process or program requests it.
Processor Management - allocates the processor (CPU) to a process and de-allocates processor
when it is no longer required.
Device Management - keeps track of all devices. This is also called an input-output controller
that decides which process gets the device, when, and for how much time.
File Management - allocates and de-allocates the resources and decides who gets the resources.
Security - prevents unauthorized access to programs and data by means of passwords and similar
other techniques.
Job accounting - keeps track of time and resources used by various jobs and/or users.
Control over system performance - records delays between request for a service and from the
system.
Interaction with the operators - The interaction may take place via the console of the computer
in the form of instructions. Operating System acknowledges the same, does the corresponding
action and informs the operation by a display screen.
Error-detecting aids - Production of dumps, traces, error messages and other debugging and
error-detecting methods.
Coordination between other software and users - Coordination and assignment of compilers,
interpreters, assemblers and other software to the various users of the computer systems.
Algorithm - a set of steps for carrying out a specific task. Algorithms are used extensively in
computer programming to arrive at a solution for a problem. The process of creating an
algorithm involves documenting all the necessary steps needed to arrive at the solution and how
to perform each step.
Source code - the actual text used to write the instructions for a computer program. This text is
then translated into something meaningful the computer can understand.
Compiler - a software tool that translates source code into data that the computer can
understand. Specifically, a compiler is used to turn source code into object code. The object code
is then passed through a program called a linker which turns it into an executable program.
Data type - the classification of pieces of information in a program. The amount of different data
types varies between languages. Typically, there are data types for integers (whole numbers),
floating-point numbers (numbers with a decimal part), and single characters. To distinguish
between different data types, a computer uses special internal codes.
Variable - a container which represents a value in a program. Variables can store different types
of data including numeric values, single characters, and text strings. The value of a variable can
change all throughout a program.
Constant - the same thing as a variable with one major difference - the value of a constant does
not change, while the value of a variable can change all throughout a program.
Conditional - a set of code that will execute only if a certain condition is true. Conditionals are
used to test expressions and perform certain operations accordingly.
Array - a special type of variable used in many programming and web languages including PHP,
Javascript, and Java that contains a list of related values.
Loop - a segment of code that executes repeatedly based on a certain condition. Loops are used
to perform tasks repeatedly a certain amount of times.
Function - a set of code used to carry out specific tasks. A function can take parameters which
will affect its output as well as return values. Functions prevent unneccesary redundancy because
you can use them as much as needed instead of retyping some code over and over.
Class - a template for a real world object to be used in a program.
animations, create calculators, validate forms, and more. Javascript is often confused with
Java, but they are two different languages.
Visual Basic Scripting Edition (VBScript) - a language developed by Microsoft that
works only in Microsoft's Internet Explorer web browser and web browsers based on the
Internet Explorer engine such as FlashPeak's Slim Browser. VBScript can be used to print
dates, make calculations, interact with the user, and more. VBScript is based on Visual
Basic, but it is much simpler.
Hypertext Preprocessor (PHP) - a powerful language used for many tasks such as data
encryption, database access, and form validation. PHP was originally created in 1994 By
Rasmus Lerdorf.
Java - a powerful and flexible language created by Sun MicroSystems that can be used to
create applets (a program that is executed from within another program) that run inside
webpages as well as software applications. Things you can do with Java include
interacting with the user, creating graphical programs, reading from files, and more. Java
is often confused with Javascript, but they are two different languages.
2. Software languages
- used for creating executable programs. Can create anything from simple console programs that
print some text to the screen to entire operating systems. Vary greatly in terms of power and
complexity.
C - an advanced programming language used for software application development.
Originally developed by Dennis Ritchie at Bell Labs in the 1970's and designed to be a
systems programming language but since then has proven itself to be able to be used for
various software applications such as business programs, engineering programs, and even
games. The UNIX operating system is written in C.
C++ - a descendant of the C language. The difference between the two languages is that
C++ is object-oriented. C++ was developed by Bjarne Stroustrup at Bell Labs and is a
very popular language for graphical applications.
Visual Basic - a language developed by Microsoft based on the BASIC language . Visual
Basic is used for creating Windows applications. The VBScript language (also developed
by Microsoft) is based on Visual Basic.
Java - a powerful and flexible language created by Sun MicroSystems that can be used to
create applets (a program that is executed from within another program) that run inside
webpages as well as software applications. Things you can do with Java include
interacting with the user, creating graphical programs, reading from files, and more. Java
is often confused with Javascript, but they are two different languages.
According to Orientation:
First generation languages (1GL) - represents the very early, primitive computer languages that
consisted entirely of 1's and 0's - the actual language that the computer understands (machine
language).
Second generation languages (2GL) - represents a step up from from the first generation
languages. Allow for the use of symbolic names instead of just numbers. Second generation
languages are known as assembly languages. Code written in an assembly language is converted
into machine language (1GL).
Third generation languages (3GL) - with the languages introduced by the third generation of
computer programming, words and commands (instead of just symbols and numbers) were being
used. These languages therefore, had syntax that was much easier to understand. Third
generation languages are known as "high level languages" and include C, C++, Java, and
Javascript, among others.
Fourth generation languages (4GL) - the syntax used in 4GL is very close to human language,
an improvement from the previous generation of languages. 4GL languages are typically used to
access databases and include SQL and ColdFusion, among others.
Fifth generation languages (5GL) - are currently being used for neural networks. A nueral
network is a form of artifical intelligence that attempts to imitate how the human mind works.