Introduction to Programming Concepts & Logic
description
Transcript of Introduction to Programming Concepts & Logic
COP1000 2
Introduction• Course Outline• Open Lab• Asthma & Allergies• Food• Course Website• Tests• Assignments
McManus
COP1000 3McManus
Puzzles, anyone?
Do you Suduku?
COP1000 4
Why Programming?• We encounter problems every day.• Programs are simply solutions to
problems.• Puzzles are simply a
solution to a problem• To create programs• We have to learn to think
a different way…• The way computers think.McManus
COP1000 6
6 Steps in Problem Solving
1. Identify the problem– If you don’t know what the problem is,
you can’t create a solution for it.– Ex. Calculate Payroll for 10 Employees– Ex. Provide directions
McManus
COP1000 7
6 Steps in Problem Solving
2. Understand the problem– Clients rarely completely
understand what they want let alone how to tell you.
– Perform • Research - to form your own
knowledge base• Observations by
– Watching current activity– Reviewing past activities
• Ex. Giving instructions to someone on how to find an address.McManus
COP1000 8
6 Steps in Problem Solving
3. Identify alternative ways to solve the problem.– Rarely does a problem have only one
solution. – Look at
• Efficiency• Speed• Accuracy• Acceptability
McManus
Don’t just find one solution and stop there. Rarely is it the best solution…especially
for novice programmers…
COP1000 9
6 Steps in Problem Solving
4. Select the best way to solve the problem from the list of alternative solutions.– Establish criteria to help when
performing evaluations on each alternative
– Include pros and cons for each solution – Select the best solution based
on the researchMcManus
COP1000 10
6 Steps in Problem Solving
5. List instructions that enable you to solve the problem using the selected solution.
1. Create a numbered, step-by-step set of instructions
2. Instructions must be included in the knowledge base…So, what’s a knowledge base?McManus
COP1000 11
6 Steps in Problem Solving
6. Evaluate the solution.– Test the solution
• Are the results accurate?• Does it satisfy the needs of the client?• Is it acceptable to the client?• Does the solution solve the original
problem?
McManus
COP1000 12
2 Types of Problems• Algorithmic Solutions
– Steps involved in following a set of instructions.• Ex. Calculating your checkbook
balance– The solution will be the same
each time the algorithm is followed.
– Most computers use algorithmic types of problems.
McManus
COP1000 13
2 Types of Problems• Heuristic Solutions
– Solutions that can’t be reached by following a direct set of steps.• Created by using reasoning built upon
knowledge and experience…and by trial and error.
• Ex. Determining which stock is the best value
– The results may not produce the same results each time the algorithm is executed.
– Artificial intelligence deals with heuristic types of problems.
McManus
COP1000 14
Solutions• The instructions that will result in the
best solution. – Again, the result may
• Be more Efficient• Be Faster• Be more Understandable• Be more Maintainable• Be Reusable
McManus
COP1000 15
Results• The outcome of the program
– Or the completed computer-assisted answer…
• May take any form:– Printout– Updated files– Output to monitor,
speakers, etc.
McManus
COP1000 16
The Program• The set of instructions that make up
the solution after they have been coded into a particular computer language.
McManus
Although we won’t be actually writing programs, at least not in
any specific language, this is what we will be working toward
throughout this course!
COP1000 17
Steps in Building a Program
• Understanding the problem (What does it mean?)• Developing an algorithm (what is the solution to
the problem)• Writing the program (by the programmer,
including internal commenting)• Documenting (external) the program (for the
user/system administrator)• Testing and debugging the program
– Testing - by anyone other than the programmer– Debugging - by the programmer
McManus
COP1000 19
Difficulties in Problem Solving?
• Humans must– Change the way we think– Work through the problem
completely– Follow a logical sequence of
steps– Not make hasty decisions– Not make haphazard
evaluations of potential solutions
McManus