2. Programing language is an artificial language that can be used to control
the behavior of a computer.
defined by:
Syntactic - describes the possible combinations of symbols that form
a syntactically correct program.
Semantic - is a combination of symbols.
computers do exactly what they are told to do.
Programming languages can be divided in to two major categories:
low-level languages
high-level languages
3. Machine language
machine is short for computing machine (i.e., computer)
computers native language, sequence of zeroes and ones (binary)
different computers understand different sequences
hard for humans to understand: 01010001
Assembly language
memonics for machine language
low level: each instruction is minimal
still hard for humans to understand:
High-level languages
FORTRAN, Pascal, BASIC, C, C++, Java, COBOL, etc.
high level: each instruction composed of many low-level instructions.
4. Interpreting Vs Compiling Program
Each type of computer only understands its own machine language
(zeroes and ones)
Thus we must translate from High-level language to machine language
a team of experts programs a translator, called a compiler which
translates entirety of a High-level language program to an executable file
in computers native machine language.
Running :
compilation: Your program executable
execution: run executable
machine executes your program by running each machine language
instruction in the executable file.
5. Interpreting Vs Compiling Program
An alternative to compiling your program is to interpret your program
each line of your program is translated into machine language and
immediately executed.
Like translating between natural languages
Compiler: human translator translates book in its entirety and then
translated book is printed and read.
Interpreter: human interpreter translates each spoken statement in
sequence as speaker is speaking.
6. Programming paradigm
A programming paradigm is a fundamental style of programming
Unstructured Programming
Procedural programming .
Structured Programming
Object Oriented Programming
7. 1. Unstructured Programming
consisting only of one large (usually main) program
main program' stands for a sequence of commands or statements
data is global throughout the whole program
disadvantages
Complex
if the same statement sequence is needed at different locations within the
program, the sequence must be copied
8. 2. Procedural programming
based upon the concept of procedure call
A procedure call is used to invoke the procedure
Procedures (routines, subroutines, methods, functions) simply contain
a series of computational steps to be carried out to solve a problem
9. 2. Procedural programming
We have a single program, which is divided into small pieces called
procedures
Advantage
to re-use the same code at different places in the program without
copying it
easier way to keep track of program flow
Example
FORTRAN, ADA
10. 3. Structured Programming
is a subset of procedural programming (also known as modular programming)
procedures of a common functionality are grouped together into separate modules
Each module can have its own data
allows each module to manage an internal state which is modified by calls to procedures of this module
top-down design model
map out the overall program structure into separate subsections
Example
PASCAL, C
12. 4. Object Oriented Programming
Is a method of implementation in which programs are organized as cooperative
collections of objects
Data and operations are grouped together
Each object is capable of receiving messages, processing data, and sending messages to
other objects
Modeling of the domain as objects so that the implementation naturally reflects the
problem at hand.
13. Problem solving Techniques
Computer solves varieties of problems that can be expressed in a finite
number of steps
In computer programming two facts :
Defining the problem and logical procedures to follow in solving it.
Introducing the means by which programmers communicate those
procedures to the computer system so that it can be executed.
14. Problem solving Techniques
There are system analysis and design tools, particularly flowchart and structure chart,
that can be used to define the problem in terms of the steps to its solution.
The programmer uses programming language to communicate the logic of the
solution to the computer.
An algorithm is defined as a step-by-step sequence of instructions that must terminate
and describe how the data is to be processed to produce the desired outputs.
Simply, algorithm is a sequence of instructions
15. System Development Life
Cycle(SDLC)
is a conceptual model used in project management that describes the
stages involved in a computer system development project from an initial
feasibility study through maintenance of the completed application.
16. System Development Life
Cycle(SDLC)
The phases of SDLC are :
Feasibility study
Requirements analysis
Designing solution
Testing designed solution
Testing
Implementation
17. System Development Life
Cycle
Feasibility study : The first step is to identify a need for the new system.
a. Organizational Feasibility
How well the proposed system supports the strategic objectives of the organization.
b. Economic Feasibility
Cost savings
Increased revenue
Decreased investment
Increased profits
18. System Development Life
Cycle
c. Technical Feasibility
Hardware, software, and network capability, reliability, and availability
d. Operational Feasibility
End user acceptance
Management support
Customer, supplier, and government requirements
19. System Development Life
Cycle
Requirements analysis : is the process of analyzing the information needs of
the end users, the organizational environment, and any system presently being
used, developing the functional requirements of a system that can meet the
needs of the users.
20. System Development Life
Cycle
Designing solution:
After the requirements have been determined, the necessary specifications for the
hardware, software, people, and data resources, and the information products that
will satisfy the functional requirements of the proposed system can be determined.
The design will serve as a blueprint for the system and helps detect problems
before these errors or problems are built into the final system.
21. System Development Life
Cycle
Implementation
The real code is written here. Systems implementation is the construction
of the new system and its delivery into production or day-to-day
operation.
22. System Development Life
Cycle
Testing
Unit Testing
Integrating Testing
System Testing
Maintenance
What happens during the rest of the software's life: changes, correction,
additions, and moves to a different computing platform and more.
This, the least exciting and perhaps most important step of all, goes on
seemingly forever.