SlideShare a Scribd company logo
1 of 38
COMPUTING AND PROGRAMMING
FUNDAMENTAL
Sherin Rappai
Assistant Professor
Department of Computer Science
What is program
• A program, in the context of computer science and software development, refers to
a set of instructions that tell a computer how to perform a specific task or a series
of tasks. Programs are written in programming languages and provide a way for
humans to communicate with computers, directing them to carry out various
operations, calculations, data processing, and interactions.
• Programs can range from simple scripts that automate repetitive tasks to complex
applications that power software systems, games, websites, and more. They are
fundamental to the functioning of computers and enable them to perform a wide
range of functions.
• Here are a few key points about programs:
1.Programming Languages: Programs are written using programming languages
such as Python, Java, C++, JavaScript, Ruby, and many others. Each language has
its own syntax and rules that developers follow to create programs.
2.Source Code: The human-readable version of a program is called the "source
code." It consists of statements, commands, and structures that describe the logic
and behavior of the program.
3.Compilation or Interpretation: Depending on the programming language,
programs are either compiled or interpreted. Compiled languages are translated into
machine code before execution, while interpreted languages are executed line by
line by an interpreter.
4.Functionality: Programs can have a wide range of functionalities. They can process data,
perform calculations, manipulate text and images, interact with databases, create user
interfaces, and more.
5.Applications: Programs can be standalone applications (such as word processors, web
browsers, and games) or components of larger systems (such as backend services for web
applications).
6.Algorithms: Programs incorporate algorithms, which are step-by-step procedures for
solving specific problems or performing tasks.
7.Software Development: Creating programs involves the software development process,
which includes phases like analysis, design, coding, testing, deployment, and maintenance.
8.User Interaction: Many programs have user interfaces that allow users to interact with
the software, providing input and receiving output.
Program Development Life Cycle
• Defining the Problem/Analze – The first step is to define the problem. In major software projects,
this is a job for system analyst, who provides the results of their work to programmers in the form
of a program specification. The program specification defines the data used in program, the
processing that should take place while finding a solution, the format of the output and the user
interface.
• Designing the Program – Program design starts by focusing on the main goal that the program is
trying to achieve and then breaking the program into manageable components, each of which
contributes to this goal. This approach of program design is called top-bottom program
design or modular programming. The first step involve identifying main routine, which is the one
of program’s major activity. From that point, programmers try to divide the various components of
the main routine into smaller parts called modules. For each module, programmer draws a
conceptual plan using an appropriate program design tool to visualize how the module will do its
assign job.
• Program Design Tools: The various program design tools are described below:
• Pseudocode – A pseudocode is another tool to describe the way to arrive at a
solution. They are different from algorithm by the fact that they are expressed in
program language like constructs.
• Structure Charts – A structure chart, also called Hierarchy chart, show top-
down design of program. Each box in the structure chart indicates a task that
program must accomplish. The Top module, called the Main module or Control
module. For example
• Algorithms – An algorithm is a step-by-step description of how to
arrive at a solution in the most easiest way.
• Flowcharts – A flowchart is a diagram that shows the logic of the
program. For example:
• Coding the Program – Coding the program means translating an algorithm into
specific programming language. The technique of programming using only well
defined control structures is known as Structured programming. Programmer must
follow the language rules, violation of any rule causes error. These errors must be
eliminated before going to the next step.
• Testing and Debugging the Program – After removal of syntax errors, the
program will execute. However, the output of the program may not be correct.
This is because of logical error in the program. A logical error is a mistake that the
programmer made while designing the solution to a problem. So the programmer
must find and correct logical errors by carefully examining the program output
using Test data. Syntax error and Logical error are collectively known as Bugs.
The process of identifying errors and eliminating them is known as Debugging.
• Documenting the Program – After testing, the software project is almost
complete. The structure charts, pseudocodes, flowcharts and decision
tables developed during the design phase become documentation for others who
are associated with the software project. This phase ends by writing a manual that
provides an overview of the program’s functionality, tutorials for the beginner, in-
depth explanations of major program features, reference documentation of all
program commands and a thorough description of the error messages generated by
the program.
• Deploying and Maintaining the Program – In the final phase, the program is
deployed (installed) at the user’s site. Here also, the program is kept under watch
till the user gives a green signal to it. Even after the software is completed, it
needs to be maintained and evaluated regularly. In software maintenance, the
programming team fixes program errors and updates the software.
Advantages of PDLC
• Facilitates communication: PDLC helps to facilitate communication between
different stakeholders, such as developers, project managers, and customers.
• Identifies and manages risks: PDLC helps to identify and manage potential risks
during the development of the program, allowing for proactive measures to be
taken to mitigate them.
• Improves quality: PDLC helps to improve the quality of the final product by
providing a systematic approach to testing and quality assurance.
• Increases efficiency: By following a PDLC, the development process becomes
more efficient as it allows for better planning and organization.
Disadvantages of PDLC
• Can be time-consuming: Following a strict PDLC can be time-consuming, and
may delay the development of the program.
• Can be inflexible: The rigid structure of PDLC may not be suitable for all types of
software development projects, and may limit the ability to incorporate changes or
new ideas.
• Can be costly: Implementing a PDLC may require additional resources and
budget, which can be costly for organizations.
• Can be complex: PDLC can be complex, and may require a certain level of
expertise and knowledge to implement effectively.
• May not be suitable for smaller projects: PDLC may not be suitable for smaller
projects as it can be an overkill and would not be cost-effective.
What is algorithm
• An algorithm is a set of instructions for solving a problem or accomplishing a
task. (or)
• An algorithm is an effective method and self-contained step-by-step set of
operations to be perform a task in finite amount of time and space.
• Algorithm refers to a sequence of finite steps to solve a particular problem.
What is the need for algorithms
1.Algorithms are necessary for solving complex problems efficiently and
effectively.
2.They help to automate processes and make them more reliable, faster, and easier
to perform.
3.Algorithms also enable computers to perform tasks that would be difficult or
impossible for humans to do manually.
4.They are used in various fields such as mathematics, computer science,
engineering, finance, and many others to optimize processes, analyze data, make
predictions, and provide solutions to problems.
Characteristics of algorithm
• Clear and Unambiguous: The algorithm should be unambiguous. Each of its steps should be clear
in all aspects and must lead to only one meaning.
• Well-Defined Inputs: If an algorithm says to take inputs, it should be well-defined inputs. It may
or may not take input.
• Well-Defined Outputs: The algorithm must clearly define what output will be yielded and it
should be well-defined as well. It should produce at least 1 output.
• Finite-ness: The algorithm must be finite, i.e. it should terminate after a finite time.
• Feasible: The algorithm must be simple, generic, and practical, such that it can be executed with
the available resources. It must not contain some future technology or anything.
• Language Independent: The Algorithm designed must be language-independent, i.e. it must be
just plain instructions that can be implemented in any language, and yet the output will be the
same, as expected. An algorithm must be developed by using very basic, simple, and feasible
operations so that one can trace it out by using just paper and pencil.
• Advantages of Algorithms:
• It is easy to understand.
• An algorithm is a step-wise representation of a solution to a given problem.
• In an Algorithm the problem is broken down into smaller pieces or steps hence, it
is easier for the programmer to convert it into an actual program.
• Disadvantages of Algorithms:
• Writing an algorithm takes a long time so it is time-consuming.
• Understanding complex logic through algorithms can be very difficult.
• Branching and Looping statements are difficult to show in Algorithms(imp).
1. Get a clear understanding of the problem statement.
2. Proceed in a step by step fashion.
3. Divide the job into parts.
4. Include variables and their usage and define expressions.
5. Outline each loop
6. Include action statements.
7. Work outwards from the Action Statements, figuring out how each parameter will be determined each time the loop goes around
8. Go back to step number if loop or condition fails.
9. Use jump statement to jump from one statement to another.
10. Try to avoid unwanted raw data in algorithm.
11. Use break and stop to terminate the process.
Algorithm Writing
• Let us first take an example of a real-life situation for creating algorithm. Here is
the algorithm for going to the market to purchase a pen.
• Algorithm to find area of a circle
1. Start
2. Input the value of radius R
3. Let PI=3.14
4. Calculate area=PI*R*R
5. Print area
6.End
Algorithm to find if the number is even or odd
Flowchart
• A flowchart is a visual representation of the sequence of steps and decisions
needed to perform a process.
• Flowcharts use special shapes to represent different types of actions or steps in a
process.
Types :
I. Sequential Structure – sequential order
II. Selective Structure – condition expression (T/F)
III. Looping Structure – Iteration – repeatedly check condition until false
Symbols
Symbols cont..
Sequential
Selective
Looping
How to draw flowchart
• Input is Number1, Number2
• Output is stored in Sum
• Concentrate on the symbols used.
Advantages
• Flowcharts are easier to understand compare to Algorithms and Pseudo
code.
• It helps us to understand Logic of given problem.
• It is very easy to draw flowchart in any word processing software like MS
Word.
• Using only very few symbol, complex problem can be represented in
flowchart.
• Software like RAPTOR can be used to check correctness of flowchart
drawn in computers.
• Flowcharts are one of the good way of documenting programs.
• It helps us in debugging process.
Disadvantages
• Manual tracing is needed to check correctness of flowchart drawn on
paper.
• Simple modification in problem logic may leads to complete redraw of
flowchart.
• Showing many branches and looping in flowchart is difficult.
• In case of complex program/algorithm, flowchart becomes very
complex and clumsy.
• Modification of flowchart is sometimes time consuming.
Guidelines for flowchart
• Understand a system before flowcharting it.
• Flowchart can have only one start and one stop symbol
• Identify the entities, such as departments, job functions, or external parties that are to be
flowcharted.
• divide the flowchart into columns, label each column
• Use standard flowcharting symbols
• Clearly label all symbols
• Use arrowheads on all flow lines.
• Try to use only one page per flowchart
• On-page connectors are referenced using numbers
• Off-page connectors are referenced using alphabets
• General flow of processes is top to bottom or left to right
• Arrows should not cross each other
• Place the name of the flowchart, the date it was prepared, and the designer's name on each
page of the flowchart.
Pseudocodes
• A notation resembling a simplified programming language, used in program design.
• An outline of a program, written in a form that can easily be converted into real programming
statements.
• Pseudocode cannot be compiled nor executed, and there are no real formatting or syntax rules. It is
simply one step - an important one - in producing the final code
• Pseudocode is a "text-based" detail (algorithmic) design tool.
• Include control structures such as WHILE, IF-THEN-ELSE, REPEAT-UNTIL, FOR, and CASE,
which are present in many high level languages
Pseudo Guidelines : Rules for Pseudocode
• Write only one statement per line
• Capitalize initial keyword
• Indent to show hierarchy
• End multiline structures
• Keep statements language independent
Guidelines Cont…
• 1. Write only one statement per line:
• READ a,b
• 2. Capitalize initial keyword
• READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE, REPEAT,
UNTIL 3
3. Indent to show hierarchy
SEQUENCE - all starting in the same column.
SELECTION - indent the statements that fall inside the selection structure, but
not the keywords that form the selection
LOOPING- indent the statements that fall inside the loop, but not the keywords
that form the loop
Guidelines Cont..
• 4. End multiline structures
• how the IF/ELSE/ENDIF is constructed above. The ENDIF (or END
whatever) always is in line with the IF (or whatever starts the structure).
• 5. Keep statements language independent
• to write in whatever language you are most comfortable with.
• if you are SURE it will be written in that language, then you can use the
features. If not, then avoid using the special features.
Benefits/Advantages of Pseudocode
• Can be done easily on a word processor Easily modified
• Clarify algorithms in many cases.
• Impose increased discipline on the process of documenting detailed design. Provide additional level at which inspection can be performed.
• Help to trap defects before they become code.
• Increases product reliability.
• May decreases overall costs.
• It can be easily modified as compared to flowchart.
• Its implementation is very useful in structured design elements.
• It can be written easily.
• It can be read and understood easily.
• Converting a pseudocode to programming language is very easy as compared with converting a flowchart to programming language
Disadvanatges
1.Lack of Formal Syntax: Pseudocode lacks a standardized syntax, which can lead to
ambiguity or misinterpretation, especially when different individuals or teams use
different conventions.
2.No Execution Capability: Pseudocode is not executable like actual programming
languages. It cannot be run to validate its correctness, which means errors might only
become apparent during implementation.
3.Subjective Interpretation: Pseudocode can be interpreted differently by different
individuals, leading to inconsistencies in understanding the logic.
4.Limited Portability: Pseudocode doesn't adhere to a specific programming language, so
converting pseudocode into actual code might require additional effort to adapt it to the
chosen language's syntax and features.
5.Level of Detail: Pseudocode might not provide enough detail for complex algorithms or
might become overly detailed for simple ones.

More Related Content

Similar to COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx

BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
programming and languages (chapter 14)
programming and languages (chapter 14)programming and languages (chapter 14)
programming and languages (chapter 14)Fadilah Badari
 
Computer Program- Introduction, characteristics and stages
Computer Program- Introduction, characteristics and stagesComputer Program- Introduction, characteristics and stages
Computer Program- Introduction, characteristics and stagesAnjali Technosoft
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Algorithmic problem sloving
Algorithmic problem slovingAlgorithmic problem sloving
Algorithmic problem slovingMani Kandan
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdfShivareddyGangam
 
Unit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxUnit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxtaxegap762
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ IntroductionThenmozhiK5
 
LESSON__1-15 C-PROGRAMMING.p algorithm df
LESSON__1-15 C-PROGRAMMING.p algorithm dfLESSON__1-15 C-PROGRAMMING.p algorithm df
LESSON__1-15 C-PROGRAMMING.p algorithm dfAparnaPriyadarsiniMe
 

Similar to COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx (20)

Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
programming and languages (chapter 14)
programming and languages (chapter 14)programming and languages (chapter 14)
programming and languages (chapter 14)
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 
Introduction to problem solving in C
Introduction to problem solving in CIntroduction to problem solving in C
Introduction to problem solving in C
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Computer Program- Introduction, characteristics and stages
Computer Program- Introduction, characteristics and stagesComputer Program- Introduction, characteristics and stages
Computer Program- Introduction, characteristics and stages
 
Introduction to Programming.docx
Introduction to Programming.docxIntroduction to Programming.docx
Introduction to Programming.docx
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Algorithmic problem sloving
Algorithmic problem slovingAlgorithmic problem sloving
Algorithmic problem sloving
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdf
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Unit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptxUnit_1(Software and Software Engineering).pptx
Unit_1(Software and Software Engineering).pptx
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
pccf unit 1 _VP.pptx
pccf unit 1 _VP.pptxpccf unit 1 _VP.pptx
pccf unit 1 _VP.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ Introduction
 
LESSON__1-15 C-PROGRAMMING.p algorithm df
LESSON__1-15 C-PROGRAMMING.p algorithm dfLESSON__1-15 C-PROGRAMMING.p algorithm df
LESSON__1-15 C-PROGRAMMING.p algorithm df
 

More from SherinRappai

Extensible markup language ppt as part of Internet Technology
Extensible markup language ppt as part of Internet TechnologyExtensible markup language ppt as part of Internet Technology
Extensible markup language ppt as part of Internet TechnologySherinRappai
 
Java script ppt from students in internet technology
Java script ppt from students in internet technologyJava script ppt from students in internet technology
Java script ppt from students in internet technologySherinRappai
 
Building Competency and Career in the Open Source World
Building Competency and Career in the Open Source WorldBuilding Competency and Career in the Open Source World
Building Competency and Career in the Open Source WorldSherinRappai
 
How to Build a Career in Open Source.pptx
How to Build a Career in Open Source.pptxHow to Build a Career in Open Source.pptx
How to Build a Career in Open Source.pptxSherinRappai
 
Issues in Knowledge representation for students
Issues in Knowledge representation for studentsIssues in Knowledge representation for students
Issues in Knowledge representation for studentsSherinRappai
 
A* algorithm of Artificial Intelligence for BCA students
A* algorithm of Artificial Intelligence for BCA studentsA* algorithm of Artificial Intelligence for BCA students
A* algorithm of Artificial Intelligence for BCA studentsSherinRappai
 
neuralnetwork.pptx
neuralnetwork.pptxneuralnetwork.pptx
neuralnetwork.pptxSherinRappai
 
Rendering Algorithms.pptx
Rendering Algorithms.pptxRendering Algorithms.pptx
Rendering Algorithms.pptxSherinRappai
 
Introduction to Multimedia.pptx
Introduction to Multimedia.pptxIntroduction to Multimedia.pptx
Introduction to Multimedia.pptxSherinRappai
 
Working with data.pptx
Working with data.pptxWorking with data.pptx
Working with data.pptxSherinRappai
 
Introduction to PHP.pptx
Introduction to PHP.pptxIntroduction to PHP.pptx
Introduction to PHP.pptxSherinRappai
 
Aggregate functions in SQL.pptx
Aggregate functions in SQL.pptxAggregate functions in SQL.pptx
Aggregate functions in SQL.pptxSherinRappai
 
Introduction to DBMS.pptx
Introduction to DBMS.pptxIntroduction to DBMS.pptx
Introduction to DBMS.pptxSherinRappai
 
Input_Output_Organization.pptx
Input_Output_Organization.pptxInput_Output_Organization.pptx
Input_Output_Organization.pptxSherinRappai
 

More from SherinRappai (20)

Extensible markup language ppt as part of Internet Technology
Extensible markup language ppt as part of Internet TechnologyExtensible markup language ppt as part of Internet Technology
Extensible markup language ppt as part of Internet Technology
 
Java script ppt from students in internet technology
Java script ppt from students in internet technologyJava script ppt from students in internet technology
Java script ppt from students in internet technology
 
Building Competency and Career in the Open Source World
Building Competency and Career in the Open Source WorldBuilding Competency and Career in the Open Source World
Building Competency and Career in the Open Source World
 
How to Build a Career in Open Source.pptx
How to Build a Career in Open Source.pptxHow to Build a Career in Open Source.pptx
How to Build a Career in Open Source.pptx
 
Issues in Knowledge representation for students
Issues in Knowledge representation for studentsIssues in Knowledge representation for students
Issues in Knowledge representation for students
 
A* algorithm of Artificial Intelligence for BCA students
A* algorithm of Artificial Intelligence for BCA studentsA* algorithm of Artificial Intelligence for BCA students
A* algorithm of Artificial Intelligence for BCA students
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
 
Clustering.pptx
Clustering.pptxClustering.pptx
Clustering.pptx
 
neuralnetwork.pptx
neuralnetwork.pptxneuralnetwork.pptx
neuralnetwork.pptx
 
Rendering Algorithms.pptx
Rendering Algorithms.pptxRendering Algorithms.pptx
Rendering Algorithms.pptx
 
Introduction to Multimedia.pptx
Introduction to Multimedia.pptxIntroduction to Multimedia.pptx
Introduction to Multimedia.pptx
 
Linked List.pptx
Linked List.pptxLinked List.pptx
Linked List.pptx
 
Stack.pptx
Stack.pptxStack.pptx
Stack.pptx
 
system model.pptx
system model.pptxsystem model.pptx
system model.pptx
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Working with data.pptx
Working with data.pptxWorking with data.pptx
Working with data.pptx
 
Introduction to PHP.pptx
Introduction to PHP.pptxIntroduction to PHP.pptx
Introduction to PHP.pptx
 
Aggregate functions in SQL.pptx
Aggregate functions in SQL.pptxAggregate functions in SQL.pptx
Aggregate functions in SQL.pptx
 
Introduction to DBMS.pptx
Introduction to DBMS.pptxIntroduction to DBMS.pptx
Introduction to DBMS.pptx
 
Input_Output_Organization.pptx
Input_Output_Organization.pptxInput_Output_Organization.pptx
Input_Output_Organization.pptx
 

Recently uploaded

Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 

Recently uploaded (20)

TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 

COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx

  • 1. COMPUTING AND PROGRAMMING FUNDAMENTAL Sherin Rappai Assistant Professor Department of Computer Science
  • 2. What is program • A program, in the context of computer science and software development, refers to a set of instructions that tell a computer how to perform a specific task or a series of tasks. Programs are written in programming languages and provide a way for humans to communicate with computers, directing them to carry out various operations, calculations, data processing, and interactions. • Programs can range from simple scripts that automate repetitive tasks to complex applications that power software systems, games, websites, and more. They are fundamental to the functioning of computers and enable them to perform a wide range of functions.
  • 3. • Here are a few key points about programs: 1.Programming Languages: Programs are written using programming languages such as Python, Java, C++, JavaScript, Ruby, and many others. Each language has its own syntax and rules that developers follow to create programs. 2.Source Code: The human-readable version of a program is called the "source code." It consists of statements, commands, and structures that describe the logic and behavior of the program. 3.Compilation or Interpretation: Depending on the programming language, programs are either compiled or interpreted. Compiled languages are translated into machine code before execution, while interpreted languages are executed line by line by an interpreter.
  • 4. 4.Functionality: Programs can have a wide range of functionalities. They can process data, perform calculations, manipulate text and images, interact with databases, create user interfaces, and more. 5.Applications: Programs can be standalone applications (such as word processors, web browsers, and games) or components of larger systems (such as backend services for web applications). 6.Algorithms: Programs incorporate algorithms, which are step-by-step procedures for solving specific problems or performing tasks. 7.Software Development: Creating programs involves the software development process, which includes phases like analysis, design, coding, testing, deployment, and maintenance. 8.User Interaction: Many programs have user interfaces that allow users to interact with the software, providing input and receiving output.
  • 6. • Defining the Problem/Analze – The first step is to define the problem. In major software projects, this is a job for system analyst, who provides the results of their work to programmers in the form of a program specification. The program specification defines the data used in program, the processing that should take place while finding a solution, the format of the output and the user interface. • Designing the Program – Program design starts by focusing on the main goal that the program is trying to achieve and then breaking the program into manageable components, each of which contributes to this goal. This approach of program design is called top-bottom program design or modular programming. The first step involve identifying main routine, which is the one of program’s major activity. From that point, programmers try to divide the various components of the main routine into smaller parts called modules. For each module, programmer draws a conceptual plan using an appropriate program design tool to visualize how the module will do its assign job.
  • 7. • Program Design Tools: The various program design tools are described below: • Pseudocode – A pseudocode is another tool to describe the way to arrive at a solution. They are different from algorithm by the fact that they are expressed in program language like constructs. • Structure Charts – A structure chart, also called Hierarchy chart, show top- down design of program. Each box in the structure chart indicates a task that program must accomplish. The Top module, called the Main module or Control module. For example
  • 8. • Algorithms – An algorithm is a step-by-step description of how to arrive at a solution in the most easiest way. • Flowcharts – A flowchart is a diagram that shows the logic of the program. For example:
  • 9. • Coding the Program – Coding the program means translating an algorithm into specific programming language. The technique of programming using only well defined control structures is known as Structured programming. Programmer must follow the language rules, violation of any rule causes error. These errors must be eliminated before going to the next step. • Testing and Debugging the Program – After removal of syntax errors, the program will execute. However, the output of the program may not be correct. This is because of logical error in the program. A logical error is a mistake that the programmer made while designing the solution to a problem. So the programmer must find and correct logical errors by carefully examining the program output using Test data. Syntax error and Logical error are collectively known as Bugs. The process of identifying errors and eliminating them is known as Debugging.
  • 10. • Documenting the Program – After testing, the software project is almost complete. The structure charts, pseudocodes, flowcharts and decision tables developed during the design phase become documentation for others who are associated with the software project. This phase ends by writing a manual that provides an overview of the program’s functionality, tutorials for the beginner, in- depth explanations of major program features, reference documentation of all program commands and a thorough description of the error messages generated by the program. • Deploying and Maintaining the Program – In the final phase, the program is deployed (installed) at the user’s site. Here also, the program is kept under watch till the user gives a green signal to it. Even after the software is completed, it needs to be maintained and evaluated regularly. In software maintenance, the programming team fixes program errors and updates the software.
  • 11. Advantages of PDLC • Facilitates communication: PDLC helps to facilitate communication between different stakeholders, such as developers, project managers, and customers. • Identifies and manages risks: PDLC helps to identify and manage potential risks during the development of the program, allowing for proactive measures to be taken to mitigate them. • Improves quality: PDLC helps to improve the quality of the final product by providing a systematic approach to testing and quality assurance. • Increases efficiency: By following a PDLC, the development process becomes more efficient as it allows for better planning and organization.
  • 12. Disadvantages of PDLC • Can be time-consuming: Following a strict PDLC can be time-consuming, and may delay the development of the program. • Can be inflexible: The rigid structure of PDLC may not be suitable for all types of software development projects, and may limit the ability to incorporate changes or new ideas. • Can be costly: Implementing a PDLC may require additional resources and budget, which can be costly for organizations. • Can be complex: PDLC can be complex, and may require a certain level of expertise and knowledge to implement effectively. • May not be suitable for smaller projects: PDLC may not be suitable for smaller projects as it can be an overkill and would not be cost-effective.
  • 13. What is algorithm • An algorithm is a set of instructions for solving a problem or accomplishing a task. (or) • An algorithm is an effective method and self-contained step-by-step set of operations to be perform a task in finite amount of time and space. • Algorithm refers to a sequence of finite steps to solve a particular problem.
  • 14. What is the need for algorithms 1.Algorithms are necessary for solving complex problems efficiently and effectively. 2.They help to automate processes and make them more reliable, faster, and easier to perform. 3.Algorithms also enable computers to perform tasks that would be difficult or impossible for humans to do manually. 4.They are used in various fields such as mathematics, computer science, engineering, finance, and many others to optimize processes, analyze data, make predictions, and provide solutions to problems.
  • 16. • Clear and Unambiguous: The algorithm should be unambiguous. Each of its steps should be clear in all aspects and must lead to only one meaning. • Well-Defined Inputs: If an algorithm says to take inputs, it should be well-defined inputs. It may or may not take input. • Well-Defined Outputs: The algorithm must clearly define what output will be yielded and it should be well-defined as well. It should produce at least 1 output. • Finite-ness: The algorithm must be finite, i.e. it should terminate after a finite time. • Feasible: The algorithm must be simple, generic, and practical, such that it can be executed with the available resources. It must not contain some future technology or anything. • Language Independent: The Algorithm designed must be language-independent, i.e. it must be just plain instructions that can be implemented in any language, and yet the output will be the same, as expected. An algorithm must be developed by using very basic, simple, and feasible operations so that one can trace it out by using just paper and pencil.
  • 17. • Advantages of Algorithms: • It is easy to understand. • An algorithm is a step-wise representation of a solution to a given problem. • In an Algorithm the problem is broken down into smaller pieces or steps hence, it is easier for the programmer to convert it into an actual program. • Disadvantages of Algorithms: • Writing an algorithm takes a long time so it is time-consuming. • Understanding complex logic through algorithms can be very difficult. • Branching and Looping statements are difficult to show in Algorithms(imp).
  • 18. 1. Get a clear understanding of the problem statement. 2. Proceed in a step by step fashion. 3. Divide the job into parts. 4. Include variables and their usage and define expressions. 5. Outline each loop 6. Include action statements. 7. Work outwards from the Action Statements, figuring out how each parameter will be determined each time the loop goes around 8. Go back to step number if loop or condition fails. 9. Use jump statement to jump from one statement to another. 10. Try to avoid unwanted raw data in algorithm. 11. Use break and stop to terminate the process. Algorithm Writing
  • 19. • Let us first take an example of a real-life situation for creating algorithm. Here is the algorithm for going to the market to purchase a pen.
  • 20. • Algorithm to find area of a circle 1. Start 2. Input the value of radius R 3. Let PI=3.14 4. Calculate area=PI*R*R 5. Print area 6.End
  • 21. Algorithm to find if the number is even or odd
  • 22. Flowchart • A flowchart is a visual representation of the sequence of steps and decisions needed to perform a process. • Flowcharts use special shapes to represent different types of actions or steps in a process. Types : I. Sequential Structure – sequential order II. Selective Structure – condition expression (T/F) III. Looping Structure – Iteration – repeatedly check condition until false
  • 28.
  • 29. How to draw flowchart • Input is Number1, Number2 • Output is stored in Sum • Concentrate on the symbols used.
  • 30. Advantages • Flowcharts are easier to understand compare to Algorithms and Pseudo code. • It helps us to understand Logic of given problem. • It is very easy to draw flowchart in any word processing software like MS Word. • Using only very few symbol, complex problem can be represented in flowchart. • Software like RAPTOR can be used to check correctness of flowchart drawn in computers. • Flowcharts are one of the good way of documenting programs. • It helps us in debugging process.
  • 31. Disadvantages • Manual tracing is needed to check correctness of flowchart drawn on paper. • Simple modification in problem logic may leads to complete redraw of flowchart. • Showing many branches and looping in flowchart is difficult. • In case of complex program/algorithm, flowchart becomes very complex and clumsy. • Modification of flowchart is sometimes time consuming.
  • 32. Guidelines for flowchart • Understand a system before flowcharting it. • Flowchart can have only one start and one stop symbol • Identify the entities, such as departments, job functions, or external parties that are to be flowcharted. • divide the flowchart into columns, label each column • Use standard flowcharting symbols • Clearly label all symbols • Use arrowheads on all flow lines. • Try to use only one page per flowchart • On-page connectors are referenced using numbers • Off-page connectors are referenced using alphabets • General flow of processes is top to bottom or left to right • Arrows should not cross each other • Place the name of the flowchart, the date it was prepared, and the designer's name on each page of the flowchart.
  • 33. Pseudocodes • A notation resembling a simplified programming language, used in program design. • An outline of a program, written in a form that can easily be converted into real programming statements. • Pseudocode cannot be compiled nor executed, and there are no real formatting or syntax rules. It is simply one step - an important one - in producing the final code • Pseudocode is a "text-based" detail (algorithmic) design tool. • Include control structures such as WHILE, IF-THEN-ELSE, REPEAT-UNTIL, FOR, and CASE, which are present in many high level languages
  • 34. Pseudo Guidelines : Rules for Pseudocode • Write only one statement per line • Capitalize initial keyword • Indent to show hierarchy • End multiline structures • Keep statements language independent
  • 35. Guidelines Cont… • 1. Write only one statement per line: • READ a,b • 2. Capitalize initial keyword • READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE, REPEAT, UNTIL 3 3. Indent to show hierarchy SEQUENCE - all starting in the same column. SELECTION - indent the statements that fall inside the selection structure, but not the keywords that form the selection LOOPING- indent the statements that fall inside the loop, but not the keywords that form the loop
  • 36. Guidelines Cont.. • 4. End multiline structures • how the IF/ELSE/ENDIF is constructed above. The ENDIF (or END whatever) always is in line with the IF (or whatever starts the structure). • 5. Keep statements language independent • to write in whatever language you are most comfortable with. • if you are SURE it will be written in that language, then you can use the features. If not, then avoid using the special features.
  • 37. Benefits/Advantages of Pseudocode • Can be done easily on a word processor Easily modified • Clarify algorithms in many cases. • Impose increased discipline on the process of documenting detailed design. Provide additional level at which inspection can be performed. • Help to trap defects before they become code. • Increases product reliability. • May decreases overall costs. • It can be easily modified as compared to flowchart. • Its implementation is very useful in structured design elements. • It can be written easily. • It can be read and understood easily. • Converting a pseudocode to programming language is very easy as compared with converting a flowchart to programming language
  • 38. Disadvanatges 1.Lack of Formal Syntax: Pseudocode lacks a standardized syntax, which can lead to ambiguity or misinterpretation, especially when different individuals or teams use different conventions. 2.No Execution Capability: Pseudocode is not executable like actual programming languages. It cannot be run to validate its correctness, which means errors might only become apparent during implementation. 3.Subjective Interpretation: Pseudocode can be interpreted differently by different individuals, leading to inconsistencies in understanding the logic. 4.Limited Portability: Pseudocode doesn't adhere to a specific programming language, so converting pseudocode into actual code might require additional effort to adapt it to the chosen language's syntax and features. 5.Level of Detail: Pseudocode might not provide enough detail for complex algorithms or might become overly detailed for simple ones.

Editor's Notes

  1. Pseudocode is a high-level, informal, and human-readable representation of an algorithm or program logic.
  2. No Syntax Errors: Unlike actual programming languages, pseudocode doesn't involve syntax rules, so you can focus solely on the algorithm's design and structure without worrying about getting the syntax perfect. Effective Communication: Pseudocode serves as a bridge between technical and non-technical stakeholders. It helps developers communicate algorithmic concepts to project managers, clients, and other team members.