1/58
Looks like no tags are added yet.
Computer
a programmable electronic device that accepts raw data as input and processes it with a set of instructions (a program) to produce the result as output’
It renders output just after performing mathematical and logical operations and can save the output for future use.
an electronic device capable of performing complex computations in a short time
a fast electronic calculating machine that accepts input information, processes it according to a list of internally stored instructions called a program, and produces the resultant output information
Computer Program
a sequence of instructions written using a Computer Programming Language to perform a specified task by the computer
is also called a computer software, which can range from two lines to millions of lines of instructions.
Computer program instructions
are also called program source code
computer programming
it is also called program coding.
Computer Programming
the act of writing computer programs, which are a sequence of instructions written using a Computer Programming Language to perform a specified task by the computer
It is the craft of implementing one or more interrelated abstract algorithms using a particular programming language to produce a concrete computer program"
Language
a mode of communication that is used to share ideas, opinions with each other
Programming Language
a computer language that is used by programmers (developers) to communicate with computers. It is a set of instructions written in any specific language (C, C++, Java, Python) to perform a specific task
it is mainly used to develop desktop applications, websites, and mobile applications.
Low-level programming language
is machine-dependent (0s and 1s) programming language. The processor runs low-level programs directly without the need of a compiler or interpreter, so the programs written in low-level language can be run very fast.
Machine Language
Assembly Language
Low-level language is further divided into two parts:
Machine language
It is also called as machine code or object code. It is easier to read because it is normally displayed in binary or hexadecimal form (base 16) form.
It does not require a translator to convert the programs because computers directly understand the machine language programs.
Assembly language (ASM)
is also a type of low-level programming language that is designed for specific processors. It represents the set of instructions in a symbolic and human-understandable form. It uses an assembler to convert the assembly language to machine language.
it uses "abbreviations" or mnemonics in place of binary patterns in order to make the task of programming easier.
it is a program that has to be converted to machine language before a computer can execute it.
assembler
is a special program that translates assembly language mnemonics into machine language.
High-level programming language
is designed for developing user-friendly software programs and websites. This programming language requires a compiler or interpreter to translate the program into machine language (execute the program).
uses English-like commands or instructions.
are the easiest to use and contains many complicated or advanced instructions.
it is easy to read, write, and maintain
compiler
it is a special program that translates high-level language instructions into machine language.
ASCII
EBCDIC
UNICODE
Extended ASCII code
Types of Codes
American Standard Code for Information Interchange
requires only seven bits for each character
Extended Binary Coded Decimal Interchange Code
an alternative 8-bit code used by older IBM mainframe computers
UNICODE
uses 8-, 16-, or 32-bits providing codes for 65,000 characters (represent the alphabets of multiple languages) and becoming popular
Extended ASCII code
makes use of a series of 0's and 1's to represent 256 characters (including letters for uppercase and lowercase, numbers, and symbols)
Hardware
components of a computer such as machinery that includes wires, transistors, circuits, hard disk.
Software
The set of programs and data which is designed to perform a well defined function
The Analytical Engine
was the first computer, invented by Charles Babbage in 1837.
It used punch cards as read-only memory.
Charles Babbage
is also known as the father of the computer.
Program
a sequence of instructions written to solve a particular problem"
• System Software
• Application Software
two types of software
System Software
a collection of programs designed to operate, control, and extend the processing capabilities of the computer itself
serves as the interface between the hardware and the end users.
Application software
products that is designed to satisfy a particular need of a particular environment.
it may consist of a single program, such as Microsoft's notepad for writing and editing a 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.
data
modern definitions made it clear that all documents, spreadsheets and even downloaded materials from the net are now classified as ______
Source code
code written by the programmer
Object code
machine language representation of the source code
Linker
creates the executable code and combines program object code, object code from library routines and any other required system code into one addressable machine language file
SDLC
a process used by the software industry to design, develop and test high quality softwares
AKA Software Development Process.
is a framework defining tasks performed at each step in the software development process.
ISO/IEC 12207
is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
Planning
Defining
Designing
Building
Testing
Deployment
The Six Stages of a Typical SDLC
Requirement analysis
It is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry.
Defining Requirements
It is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.
Designing the Product Architecture
SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS - Design Document Specification.
Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.
Testing the Product
This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC.
Deployment in the Market and Maintenance
Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization.
Waterfall Model
Modified Waterfall Mode
Iterative Model
SDLC Models
Waterfall Mode Modified
lsuggests that prior to proceeding to next phase, the current phase should be finished first
Waterfall Model
allows overlap between phases
Iterative Model
allows phases to repeat, if necessary
ALGORITHM
In layman's language, it can be defined as a step-by-step procedure for accomplishing a task. In the world of programming, an algorithm is a well-structured computational procedure that takes some values as input some values as output.
To improve the efficiency of a computer program
Algorithms are used to find the best possible way of solving a problem, improving efficiency (accuracy and speed).
Proper utilization of resources
The right choice of an algorithm will ensure that a program consumes the least amount of memory and processing power.
Algorithms (Cost)
The leaner the resources used, the less the cost.
Searching algorithms
Pathfinding algorithm
Sorting algorithms
Compression algorithms
Tree and graph-based algorithms
Pattern matching algorithm (among many others)
Types of Algorithms
PROGRAM DEVELOPMENT LIFE CYCLE (PDLC)
is a systematic way of developing quality software. It provides an organized plan for breaking down the task of program development into manageable chunks, each of which must be successfully completed before moving on to the next phase
Defining the Problem
Designing the Program
The 6 Phases of PDLC