11/25/2021
SWE 1301: Introduction to Lectures
Problem Solving and Software • 3 Credit Hour Course
Development
• Thursday – 2hrs
• Friday – 1 hr.
Lecture 01: Introduction
At:
Venue : CIT Theatre
Presented by: M .I. Mukhtar
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 2
Course Objectives Course Description
• This course introduces students to a broad
• To enhance students critical thinking. range of approaches for solving problems.
• Emphasis is on problem solving techniques that
• To teach students standard problem solving aid programmers in developing quality software
techniques that aid in software development. systems.
• To aid learning of the course, concepts will be
illustrated using Python Programming
Language.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 3 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 4
1
11/25/2021
Course Outline Course Reference Text
• Introduction to Problem solving. 1. Problem solving and programming concept by
• Problem solving concepts for computers. Maureen Sprankle and Jim Hubbard
• Solution Planning.
• Problem Solving with Sequential, Decision and 2. Problem solving and program design in c by
Loop Structure. Jeri R. Hanly and elliot B. Koffman
• Introduction to Software Development.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 5 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 6
Course Assessment Class Code
• CA – 30%
• Exams – 70%
7 questions to answer 5 Instructions for students
• Visit www.edmodo.com from your phone or
computer or download the Edmodo App.
• Click on the "Join a group" button and enter the
code, .
• Follow the instructions to create an account and
get started on Edmodo!
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 7 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 8
2
11/25/2021
Lecture Outline What is a Problem?
• Problem solving & Its Importance • A problem is any unpleasant situation which
prevent people from achieving what they want to
• Problem solving in computers
achieve.
• Some problems are more detailed, complex and
critical than others.
• regardless of their size problems need to be
solved in a satisfactory way.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 9 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 10
Problem Solving Problem Solving..
• People make decisions every day to solve problems • Problem solving refers to our ability to solve
that affect their lives, homes or work place. problem in an effective and timely manner.
• Bad decisions to solve a problem usually leads to • an activity to eliminate problem.
wastage of time as well as resources.
• Involves been able to identify and generate
• The better the decisions an individual can make, solution to problems.
the more valuable that person will be.
• Problem solving is important because if you
learn problem solving you can approach many
academic disciplines as well as work anywhere.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 11 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 12
3
11/25/2021
Problem Solving in Computing.. General problem Solving Steps
• There are generally six steps that are followed to
• Problem solving is one of the central activities ensure best decision when solving a problem:
performed by professional and learners in
computer related disciplines.
• Step 1: Identify the problem.
• Step 2: Understand the problem.
• Solving problems is the core of Computer
science and its related disciplines . • Step 3: Identify alternative ways to solve the
problem.
• Step 4: Select the best way to solve the
problem from the list of alternative solutions.
• Step 5: List instructions that enable you to
solve the problem using the selected solution.
• Step 6: Evaluate the solution.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 13 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 14
Step 1 : Identify the problem Step 2 : Understand the problem
• The first step toward solving a problem is to • Understanding a problem is the most
identify the problem. important and most challenging part of solving
a problem.
• you need to make sure you identify the
problem before you start solving it. • You need to gather complete and accurate
information.
• If you do not know what the problem is, you
cannot solve it. • If this step is not carried out properly, you will
solve the wrong problem.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 15 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 16
4
11/25/2021
Step 3 : Identify alternative ways Step 4 : Select the best way
• The list of alternative ways to solve the problem • In this step, you need to identify and evaluate
should be as complete as possible. the advantage and disadvantage of each
possible solution before selecting the best one.
• Sometimes a problem solver may talk to other
people to find other solutions than those he/she • In order to do this, you need to select criteria for
have identified. the evaluation.
• Alternative solutions must be acceptable ones. • These criteria will serve as the guidelines for
evaluating each solution.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 17 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 18
Step 5 : List the Instruction. Step 6 : Evaluate the solution.
• This stage involve writing the step-by-step • This step involves testing a solution to check if it
instructions to solve the problem. is correct as well as to see if it satisfies the
needs of the person(s) with the problem.
• No instruction can be used unless the individual
or the machine can understand it. • If the result is either incorrect or unsatisfactory,
then the problem solver must:
• This can be very limiting, especially when • review the list of instructions to see that they
working with computers. are correct or
• start the process all over again.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 19 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 20
5
11/25/2021
Types of Problem Simple Problems
• Simple problems have straightforward solutions.
• They require the problem solving steps to be
followed consecutively.
Problems
• Their solutions are called algorithmic
solutions.
• Algorithmic solutions are reached in a series of
steps.
Simple Difficult
• Example such as area a rectangle, product of
two (2) numbers.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 21 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 22
Difficult Problems Steps in Solving Difficult Problems
• Difficult problems do not always have
straightforward solutions
• They are hence solved by going through the
steps in a cyclic manner rather than
consecutively
• These solutions are called heuristic
solutions.
• Example how to expand company profits.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 23 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 24
6
11/25/2021
Problem Solving Using Computers.. Difficulty with Problem Solving using
• Computers are built to deal with algorithmic
Computers
solutions, which are often difficult or very time • The problem-solving process is not easy. It takes
consuming for humans. practice and time to perfect, but in the long run
• Example: Sorting a list of 10,000 names in the process proves to be of great benefit.
alphabetical order is an easy task for the computer
• One of the most difficult tasks for the problem
• People are better than computers at developing solver when solving problems using computer is
heuristic solutions. writing the instructions.
• Example: how to recognize a face or a voice. • For example, most people cannot explain how they
arrive at certain answers such as the largest of three
• This course will deal only with algorithmic numbers.
problems and their solutions.
• The computer is a tool that will perform only tasks
that the user can explain.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 25 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 26
Difficulty with Problem Solving using Successful Degree
Computers ...
I want to be successful in Computer Related
• The computer has a specific system of Disciplines
communication that programmers and users must
learn.
Success begins in Introduction to Problem
Solving and Software Development
• This system demands that no step in the
solution to a problem is left unstated and that +
all steps be in the proper order. a bit of confidence, hard work, dedication
and willingness to learn new things.
• You must assume the computer knows nothing
except what you tell it and think of it as an
ignorant but efficient aid to solving problems.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 27 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 28
7
11/25/2021
Lecture Summary
• A problem is any unpleasant situation which
prevent people from achieving what they want to
achieve.
• Problem solving refers to our ability to solve
problem in an effective and timely manner.
Questions??
• Problem solving is one of the central activities
performed by professional and learners in
computer related disciplines.
11/24/2021 SWE1301: Problem Solving and Software Development - MIM 29 11/24/2021 SWE1301: Problem Solving and Software Development - MIM 30