Instructor zgr ZEYDAN
BEU Dept. of Enve. Eng.
[Link]
CIV 112 Computer Programming
Lecture Notes (1)
Computer Programming
A computer is a programmable machine. This means
it can execute a programmed list of instructions and
respond to new instructions that it is given.
Computer Programming is the process of developing
and implementing various sets of instructions to
enable a computer to do a certain task.
Programs are written to solve problems or perform
tasks on a computer.
Instructor zgr ZEYDAN 2
Computer Programming
Programmers translate the
solutions or tasks into a
language the computer
can understand.
As we write programs, we
must keep in mind that
the computer will only do
what we instruct it to do.
Because of this, we must
be very careful and
thorough with our
instructions.
Instructor zgr ZEYDAN 3
First Computer Programmer: Ada Lovelace
Ada Lovelace is the first
person to develop an
algorithm for a machine.
Instructor zgr ZEYDAN 4
Algorithm
An algorithm is a list of
instructions, procedures,
or formulas used to solve a
problem.
The word derives from the
name of the
mathematician,
Mohammed ibn-Musa al-
Khwarizmi (El-Harezm),
(780 850).
Instructor zgr ZEYDAN 5
Pseudocode
Pseudocode is a computer programming language
that resembles plain English that cannot be
compiled or executed, but explains a resolution to
a problem.
Instructor zgr ZEYDAN 6
Source Code
The source code consists of the programming
statements that are created by a programmer with
a text editor or a visual programming tool and
then saved in a file.
For example, a programmer using the C language
types in a desired sequence of C language
statements using a text editor and then saves
them as a named file.
This file is said to contain the source code.
Instructor zgr ZEYDAN 7
Flowchart
A flowchart is a formalized graphic representation
of a logic sequence, work or manufacturing
process, organization chart, or similar formalized
structure.
The purpose of a flow chart is to provide people
with a common language or reference point when
dealing with a project or process.
Flowcharts use simple geometric symbols and
arrows to define relationships.
Instructor zgr ZEYDAN 8
Programming Languages
Computer programming is almost always done by
means of Programming Language.
There exists more than 2500 programming
languages in the world.
Some of them are known by only their developers!
For further information:
[Link]
_languages
Instructor zgr ZEYDAN 9
Programming Languages
Instructor zgr ZEYDAN 10
Instructor zgr ZEYDAN 11
Instructor zgr ZEYDAN 12
Programming Language Generations
1GL or first-generation language was (and still is)
machine language or the level of instructions and
data that the processor is actually given to work
on.
2GL or second-generation language is assembler
(sometimes called "assembly") language.
Instructor zgr ZEYDAN 13
Programming Language Generations
3GL or third-generation language is a "high-level"
programming language, such as PL/I, C, or Java. A
compiler converts the statements of a specific
high-level programming language into machine
language. A 3GL language requires a considerable
amount of programming knowledge.
4GL or fourth-generation language is designed to
be closer to natural language than a 3GL language.
Languages for accessing databases are often
described as 4GLs.
Instructor zgr ZEYDAN 14
Programming Language Generations
5GL or fifth-generation language is programming
that uses a visual or graphical development
interface to create source language that is usually
compiled with a 3GL or 4GL language compiler.
Microsoft, Borland, IBM, and other companies
make 5GL visual programming products for
developing applications in Java, for example.
Visual programming allows you to easily envision
object-oriented programming class hierarchies
and drag icons to assemble program components.
Instructor zgr ZEYDAN 15
Machine Code (machine language)
Machine code, also known as machine language,
is the elemental language of computers,
comprising a long sequence of binary digital zeros
and ones (bits).
Sometimes referred to as machine code or object
code, machine language is a collection of binary
digits or bits that the computer reads and
interprets. Machine language is the only language
a computer is capable of understanding.
Instructor zgr ZEYDAN 16
Machine Code
Instructor zgr ZEYDAN 17
Assembly Language
Sometimes referred to as assembly or ASL,
assembly language is a low-level programming
language used to interface with computer
hardware.
Assembly language uses structured commands as
substitutions for numbers allowing humans to
read the code easier than looking at binary.
Although easier to read than binary, assembly
language is a difficult language and is usually
substituted for a higher language such as C.
Instructor zgr ZEYDAN 18
Low-level Languages
Low-level languages have the advantage that they can
be written to take advantage of any peculiarities in
the architecture of the central processing unit (CPU).
Thus, a program written in a low-level language can
be extremely efficient, making optimum use of both
computer memory and processing time.
However, to write a low-level program takes a
substantial amount of time, as well as a clear
understanding of the inner workings of the processor
itself. Therefore, low-level programming is typically
used only for very small programs, or for segments of
code that are highly critical and must run as
efficiently as possible.
[Link]
Instructor zgr ZEYDAN 19
High-level Languages
High-level languages permit faster development of
large programs. The final program as executed by the
computer is not as efficient, but the savings in
programmer time generally far outweigh the
inefficiencies of the finished product.
This is because the cost of writing a program is nearly
constant for each line of code, regardless of the
language.
Thus, a high-level language where each line of code
translates to 1-0 machine instructions costs only one
tenth as much in program development as a low-level
language where each line of code represents only a
single machine instruction.
[Link]
Instructor zgr ZEYDAN 20
First High Level Language
Instructor zgr ZEYDAN 21
[Link]
Instructor zgr ZEYDAN 22
Comparison of Programming Languages
[Link]
Instructor zgr ZEYDAN 23
Compiler
A compiler is a special program that processes
statements written in a particular programming
language and turns them into machine language
or "code" that a computer's processor uses.
After you write a program, your source language
statements are compiled into machine code that
is stored as an executable file.
Scripting languages like Perl and PHP do not need
to be compiled.
Instructor zgr ZEYDAN 24
Compiler
[Link]
Instructor zgr ZEYDAN 25
Borland C++ Compiler
Compiler is available from following page after free registration:
[Link]
Instructor zgr ZEYDAN 26
Structured Programming (modular programming)
Structured programming (sometimes known as modular
programming) is a subset of procedural programming that
enforces a logical structure on the program being written
to make it more efficient and easier to understand and
modify. Certain languages such as Ada, Pascal, and dBASE
are designed with features that encourage or enforce a
logical program structure.
Structured programming frequently employs a top-down
design model, in which developers map out the overall
program structure into separate subsections.
Program flow follows a simple hierarchical model that
employs looping constructs such as "for, "repeat, and
"while" Use of the "Go To" statement is discouraged.
Structured programming was first suggested by Corrado
Bohm and Guiseppe Jacopini. The two mathematicians
demonstrated that any computer program can be written
with just three structures: decisions, sequences, and loops.
Instructor zgr ZEYDAN 27
Object-Oriented Programming (OOP)
Object-oriented programming (OOP) is a
programming language model organized around
"objects" rather than "actions" and data rather than
logic.
Historically, a program has been viewed as a logical
procedure that takes input data, processes it, and
produces output data.
Instructor zgr ZEYDAN 28
Classification of Programming
Languages
Procedure-oriented programming
COBOL, FORTRAN, Pascal and C
Object oriented programming
Objective C, C++, Java, and PHP
Instructor zgr ZEYDAN 29
Integrated Development
Environment (IDE)
An IDE or Integrated Development Environment is a
software program that is designed to help programmers
and developers build software.
Most IDEs include:
a source code editor
a compiler
build automation tools
a debugger
Instructor zgr ZEYDAN 30
Debugger
A special program used to find errors (bugs) in other
programs. A debugger allows a programmer to stop a
program at any point and examine and change the
values of variables.
[Link]
Instructor zgr ZEYDAN 31
Graphical User Interface (GUI)
A GUI is a graphical
(rather than purely
textual) user interface to
a computer.
Elements of a GUI
include textboxes,
buttons, pulldown
menues, list and combo
boxes
Instructor zgr ZEYDAN 32
DEV C++ IDE
[Link]
Instructor zgr ZEYDAN 33
DEV C++ IDE download page
[Link]
Instructor zgr ZEYDAN 34
Visual C++ Express Edition
[Link]
Instructor zgr ZEYDAN 35
Software Development Languages
C
C++ (C-plus-plus)
C# (C-Sharp)
Pascal
Delphi
Visual Basic
Instructor zgr ZEYDAN 36
Web Languages
HTML (Hyper Text Markup Language)
XML (Extensible Markup Language)
Javascript
VBScript
PHP (Hypertext Preprocessor)
Java
ASP (Active Server Pages)
[Link]
Instructor zgr ZEYDAN 37
Instructor zgr ZEYDAN 38
Instructor zgr ZEYDAN 39
List of other reference web pages:
[Link]
[Link]
[Link]
Instructor zgr ZEYDAN 40