SlideShare a Scribd company logo
1 of 31
Download to read offline
1 of 31Module 7 : Algorithms and Program Development
Introduction to       
Computational Thinking
Module 7 :
Program Development Issues
(supplementary material)
Asst Prof Chi‐Wing FU, Philip
Office: N4‐02c‐104
email: cwfu[at]ntu.edu.sg
2 of 31Module 7 : Algorithms and Program Development
Topics
• Basic Rules in writing programs
• Program Readability
• More on Problem Solving
• Planning for testing, verification, and
documentation
3 of 31Module 7 : Algorithms and Program Development
A Good Program
What makes a good program?
• A program is a reflection of the writer and
their thoughts
• First, you must have some thoughts
(computational thinking)!
• The difficulty for most people is to figure out
what has to be done, the problem solving,
before writing a program
4 of 31Module 7 : Algorithms and Program Development
Three Rules
Rule 1: Think before you program
* Understand & Analyze the problem
Rule 2: A program is a human-readable essay
on problem solving that also happens to be
executable on a computer
* A program -- Not just for computer to run,
but also for human to read
Rule 3: Practice! Practice! Practice!
The best way to improve your programming
and problem solving skills is to practice
5 of 31Module 7 : Algorithms and Program Development
Topics
• Basic Rules in writing programs
• Program Readability
• More on Problem Solving
• Planning for testing, verification, and
documentation
6 of 31Module 7 : Algorithms and Program Development
Program Readability
• We will emphasize, over and over, that a
program is not just for computers to read, but
also intended to be read by other people,
even if “other people” is you in the future!
• Write a program so that you can read it,
because sometime in the future you may
have to read it again…
• So… Any guideline?
7 of 31Module 7 : Algorithms and Program Development
Readability(1): Naming
• The easiest thing to do that affects
readability is good naming
• Use meaningful names for the items
you create that reflect their purpose
• To help keep straight the types used,
include that as part of the name.
Python does not care about the type
stored, but you do!
8 of 31Module 7 : Algorithms and Program Development
What does this do?
• What is a? What is b?
9 of 31Module 7 : Algorithms and Program Development
How about this?
• More specific names on variable
• Hungarian notation: append types
10 of 31Module 7 : Algorithms and Program Development
Readability(2): Space
More space in the program helps reading also
(my personal habit: align assignment op.)
11 of 31Module 7 : Algorithms and Program Development
Readability(3): Comments
• info at the top, the goal of the code
• purpose of variables (if not obvious by
the name)
• purpose of other functions being used
• anything “tricky”? If a piece of code took
you some time to write, it is probably hard
to read and demands for a comment
12 of 31Module 7 : Algorithms and Program Development
Readability(3): Comments
Visual example in module 6.2
Helps understanding when program
is not short or not straightforward
13 of 31Module 7 : Algorithms and Program Development
Readability(4): Indentation
• A visual cue to say what code is
“part of” other code
• This is not always required in many
programming languages (more freedom),
but Python forces you to indent properly
• This aids readability greatly
14 of 31Module 7 : Algorithms and Program Development
Topics
• Basic Rules in writing programs
• Program Readability
• More on Problem Solving
• Planning for testing, verification, and
documentation
15 of 31Module 7 : Algorithms and Program Development
Strategies: Problem Solving
• Engage/Commit
• Visualize/See
• Try it/Experiment
• Simplify
• Analyze/Think
• Relax
16 of 31Module 7 : Algorithms and Program Development
Engage
• You need to commit yourself to
addressing the problem.
• Don’t give up easily
• Try different approaches
• Set the “mood”
• Just putting in time does not mean you
put in a real effort!!!
17 of 31Module 7 : Algorithms and Program Development
Visualize/See the Problem
• Find a way that works for you,
some way to make the problem tangible.
• Draw pictures
• Layout tables
• Literally “see” the problem somehow
• Everyone has a different way, find yours!
18 of 31Module 7 : Algorithms and Program Development
Try It/Experiment
• For some reason, people are afraid to just
“try” some solutions. Perhaps they fear
failure, but experiments, done just for you,
are the best way to figure out problems.
• Be willing to try, and fail, to solve a
problem. Get started, don’t wait for
enlightenment!
19 of 31Module 7 : Algorithms and Program Development
Simplify
• Simplifying the problem so you can get a
handle on it is one of the most powerful
problem solving tools.
• Given a hard problem, make is simplier
(smaller, clearer, easier), figure that out,
then ramp up to the harder problem.
20 of 31Module 7 : Algorithms and Program Development
Think it Over/Analyze
• If your solution isn’t working:
• Stop
• Evaluate how you are doing
• Analyze and keep going, or start over.
• People can be amazingly “stiff”, banging
their heads against the same wall over
and over again. Loosen up, find another
way!
21 of 31Module 7 : Algorithms and Program Development
One More Thing: Relax
• Take your time. Not getting an answer
right away is not the end of the world. Put
it away and come back to it.
• You’d be surprised how easy it is to solve
if you let it go for awhile. That’s why
starting early is a luxury you should afford
yourself.
22 of 31Module 7 : Algorithms and Program Development
Example: Cryparithmetic Problem
E L F
+ E L F
F O O L
E= ?
F = ?
L = ?
O = ?
Remember:
• Engage
• Visualize
• Try it
• Simplify
• Analyze
• Relax
23 of 31Module 7 : Algorithms and Program Development
Topics
• Basic Rules in writing programs
• Program Readability
• More on Problem Solving
• Planning for testing, verification, and
documentation
24 of 31Module 7 : Algorithms and Program Development
Program Development
1. Problem Specification
e.g., identify requirements & goals
2. Problem Analysis (how to solve it)
e.g., identify input & output, formulae
3. Program Design
- write solution steps
e.g., pseudo code and flowcharts
4. Implementation
- translate your solution into program
- build first program skeleton/outline
e.g., comments on major steps
5. Program Testing
- use test samples to try your program
ProblemSpecification
Problem Analysis
Program Design
Implementation
Program Testing
It can be an
iterative process!!!
25 of 31Module 7 : Algorithms and Program Development
Program Testing
• A program is correct if it returns the correct result for
every possible combination of input values.
Exhaustive testing: use all possible combinations of
input values and check the output is correct. This will
take a whole year, or forever, to show the program is
correct.
-> Impractical!!!
• What we can do: 1) use test data that causes every
program path (e.g., in branching and looping) to be
executed at least once; and 2) think and be creative!!!
26 of 31Module 7 : Algorithms and Program Development
Programming Errors
• Syntax Errors
• “grammatical” errors
• detected by compiler and found automatically
• need to be fixed before the compiler can understand the
code
• E.g., missing colon before a block in while or for loops
• Runtime Errors
• execution error (e.g., divide by zero, program crash, etc.)
• detected during the execution of code
• error messages may be useful to help identify the
reasons and locations
• sometimes not easy to fix
27 of 31Module 7 : Algorithms and Program Development
Programming Errors
• Logical Errors
• due to error in designing the algorithm or
implementation
• no compilation errors; no run-time error message
• most difficult to detect
• e.g., in a role-playing game, you killed a monster
but experience point is not given to you (but not
supposed to!!!)… note: you can still play the
game… no crash! But no level up!
28 of 31Module 7 : Algorithms and Program Development
Debugging
• The process of finding and correcting
errors, especially logic errors (BUG!!!)
• Strategies:
• Hand Tracing or Simulation
• Program Tracing
• Use print() function at appropriate program
locations to check:
• Program control flow
• Values of the variables
• Try different user input
• Be Patient! Don’t give up!!!
29 of 31Module 7 : Algorithms and Program Development
Documentation
• Documentation is needed for further modification
and maintenance
• Proper documentation includes:
• problem definition and specification;
• program inputs, outputs, constraints and mathematical
equations;
• algorithms and logic, e.g., flowchart, pseudo code, etc.
• source code with appropriate comments;
• sample test run of the program; and
• user manual for end users (how to use it)
• It should be done alongside with the program
development but not the very end!!!
30 of 31Module 7 : Algorithms and Program Development
Take Home Messages
Basic Rules:
- Think before you program
- A program is a human-readable essay on problem solving
- Practice! Practice!! Practice!!!
Program Readability: Naming; Space; Comments; Indentation
Problem Solving Strategies:
- Engage/Commit; Visualize/See; Try it/Experiment; Simplify;
Analyze/Think; Relax
Program Testing
- need to design test data to try every program path
- unit test: test your code piece by piece on their correctness!
Programming Errors
- Syntax Errors; Runtime Errors; Logical Errors
Other issues: Debugging and Documentation
31 of 31Module 7 : Algorithms and Program Development
Reading Assignment
• Textbook
Chapter 3: Algorithms and Program Development
3.1 to 3.5
Note: Though some material in textbook is not
directly related to the lecture material, you can
learn more from them.

More Related Content

What's hot

Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 

What's hot (20)

Software Testing 1/5
Software Testing 1/5Software Testing 1/5
Software Testing 1/5
 
Software prototyping
Software prototypingSoftware prototyping
Software prototyping
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developers
 
Prototyping
PrototypingPrototyping
Prototyping
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
 
Make it or Break It: Evolutionary or Throwaway Prototyping
Make it or Break It: Evolutionary or Throwaway PrototypingMake it or Break It: Evolutionary or Throwaway Prototyping
Make it or Break It: Evolutionary or Throwaway Prototyping
 
Preocupações Desenvolvedor Ágil
Preocupações Desenvolvedor ÁgilPreocupações Desenvolvedor Ágil
Preocupações Desenvolvedor Ágil
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
Software Engineering Best Practices @ Nylas
Software Engineering Best Practices @ NylasSoftware Engineering Best Practices @ Nylas
Software Engineering Best Practices @ Nylas
 
ITFT - Software prototyping
ITFT -  Software prototypingITFT -  Software prototyping
ITFT - Software prototyping
 
What do we really know about the differences between static and dynamic types?
What do we really know about the differences between static and dynamic types?What do we really know about the differences between static and dynamic types?
What do we really know about the differences between static and dynamic types?
 
Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)Software engineering principles (marcello thiry)
Software engineering principles (marcello thiry)
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
 
Pragmatic programmer 2
Pragmatic programmer 2Pragmatic programmer 2
Pragmatic programmer 2
 
Agile Development of High Performance Applications
Agile Development of High Performance ApplicationsAgile Development of High Performance Applications
Agile Development of High Performance Applications
 
Basic software engineering principles with code examples - Session 2
Basic software engineering principles with code examples - Session 2Basic software engineering principles with code examples - Session 2
Basic software engineering principles with code examples - Session 2
 
Acm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slidesAcm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slides
 

Viewers also liked

Lecture 11 file management
Lecture 11  file managementLecture 11  file management
Lecture 11 file management
alvin567
 
Lecture 6.2 flow control repetition
Lecture 6.2  flow control repetitionLecture 6.2  flow control repetition
Lecture 6.2 flow control repetition
alvin567
 
Lecture 10 user defined functions and modules
Lecture 10  user defined functions and modulesLecture 10  user defined functions and modules
Lecture 10 user defined functions and modules
alvin567
 
Play with python lecture 2
Play with python lecture 2Play with python lecture 2
Play with python lecture 2
iloveallahsomuch
 
Lecture 8 strings and characters
Lecture 8  strings and charactersLecture 8  strings and characters
Lecture 8 strings and characters
alvin567
 
Lecture 4 variables data types and operators
Lecture 4  variables data types and operatorsLecture 4  variables data types and operators
Lecture 4 variables data types and operators
alvin567
 
Lecture 0 beginning
Lecture 0  beginningLecture 0  beginning
Lecture 0 beginning
alvin567
 
Lecture 5 numbers and built in functions
Lecture 5  numbers and built in functionsLecture 5  numbers and built in functions
Lecture 5 numbers and built in functions
alvin567
 
Lecture 6.1 flow control selection
Lecture 6.1  flow control selectionLecture 6.1  flow control selection
Lecture 6.1 flow control selection
alvin567
 
Lecture 2 introduction to python
Lecture 2  introduction to pythonLecture 2  introduction to python
Lecture 2 introduction to python
alvin567
 
Lecture 1 computing and algorithms
Lecture 1  computing and algorithmsLecture 1  computing and algorithms
Lecture 1 computing and algorithms
alvin567
 
Lecture 12 exceptions
Lecture 12  exceptionsLecture 12  exceptions
Lecture 12 exceptions
alvin567
 

Viewers also liked (20)

Lecture 11 file management
Lecture 11  file managementLecture 11  file management
Lecture 11 file management
 
Lecture 6.2 flow control repetition
Lecture 6.2  flow control repetitionLecture 6.2  flow control repetition
Lecture 6.2 flow control repetition
 
Lecture 10 user defined functions and modules
Lecture 10  user defined functions and modulesLecture 10  user defined functions and modules
Lecture 10 user defined functions and modules
 
Play with python lecture 2
Play with python lecture 2Play with python lecture 2
Play with python lecture 2
 
Mba
MbaMba
Mba
 
Lecture 8 strings and characters
Lecture 8  strings and charactersLecture 8  strings and characters
Lecture 8 strings and characters
 
Lecture 4 variables data types and operators
Lecture 4  variables data types and operatorsLecture 4  variables data types and operators
Lecture 4 variables data types and operators
 
Lecture 0 beginning
Lecture 0  beginningLecture 0  beginning
Lecture 0 beginning
 
Python Tutorial
Python TutorialPython Tutorial
Python Tutorial
 
Lecture 5 numbers and built in functions
Lecture 5  numbers and built in functionsLecture 5  numbers and built in functions
Lecture 5 numbers and built in functions
 
Lecture 6.1 flow control selection
Lecture 6.1  flow control selectionLecture 6.1  flow control selection
Lecture 6.1 flow control selection
 
Lecture 2 introduction to python
Lecture 2  introduction to pythonLecture 2  introduction to python
Lecture 2 introduction to python
 
Python 3 Days
Python  3 DaysPython  3 Days
Python 3 Days
 
Introduction to WEB HTML, CSS
Introduction to WEB HTML, CSSIntroduction to WEB HTML, CSS
Introduction to WEB HTML, CSS
 
Python - Lecture 1
Python - Lecture 1Python - Lecture 1
Python - Lecture 1
 
Training Google Drive and Hangouts.pptx
Training Google Drive and Hangouts.pptxTraining Google Drive and Hangouts.pptx
Training Google Drive and Hangouts.pptx
 
Lecture 1 computing and algorithms
Lecture 1  computing and algorithmsLecture 1  computing and algorithms
Lecture 1 computing and algorithms
 
Programming for Everybody in Python
Programming for Everybody in PythonProgramming for Everybody in Python
Programming for Everybody in Python
 
Python GUI Course Summary - 7 Modules
Python GUI Course Summary - 7 ModulesPython GUI Course Summary - 7 Modules
Python GUI Course Summary - 7 Modules
 
Lecture 12 exceptions
Lecture 12  exceptionsLecture 12  exceptions
Lecture 12 exceptions
 

Similar to Lecture 7 program development issues (supplementary)

COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai
 

Similar to Lecture 7 program development issues (supplementary) (20)

Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptx
 
COM1407: Structured Program Development
COM1407: Structured Program Development COM1407: Structured Program Development
COM1407: Structured Program Development
 
Algorithm to programs.pptx
Algorithm to programs.pptxAlgorithm to programs.pptx
Algorithm to programs.pptx
 
Learn to Code with MIT App Inventor ( PDFDrive ).pdf
Learn to Code with MIT App Inventor ( PDFDrive ).pdfLearn to Code with MIT App Inventor ( PDFDrive ).pdf
Learn to Code with MIT App Inventor ( PDFDrive ).pdf
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
 
Grade 10 program development cycle
Grade 10   program development cycleGrade 10   program development cycle
Grade 10 program development cycle
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)
 
Program design and problem solving techniques
Program design and problem solving techniquesProgram design and problem solving techniques
Program design and problem solving techniques
 
Unit 1 program development cycle
Unit 1 program development cycleUnit 1 program development cycle
Unit 1 program development cycle
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
U3 l4 using simple commands
U3 l4 using simple commandsU3 l4 using simple commands
U3 l4 using simple commands
 
3.pptx
3.pptx3.pptx
3.pptx
 
programming and languages (chapter 14)
programming and languages (chapter 14)programming and languages (chapter 14)
programming and languages (chapter 14)
 
pdlc
pdlc pdlc
pdlc
 
M256 Unit 1 - Software Development with Java
M256 Unit 1 - Software Development with JavaM256 Unit 1 - Software Development with Java
M256 Unit 1 - Software Development with Java
 
What is xp
What is xpWhat is xp
What is xp
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Lecture 7 program development issues (supplementary)