Bits & Bytes: Lesson 1 Problem Solving in Life and Technology How do we get there from here? Problem solving skills are essential to success in every aspect of life. You depend upon these skills for success in your personal life and finances, in your family and civic responsibilities, and in your professional career. Everyone has skills in problem solving yet you may have wondered how it is that some people are so good at it in some parts of their lives, but so miserable at it in other parts. We all know individuals who have no “common sense” yet are “book smart”, an d we know others who have incredible skills for managing their personal finances but fail miserably in their relationships. We find ourselves wondering how they and at times, ourselves! can be so inconsistent in what appears to be simple problem solving skills. "he truth of the matter is that problem solving is not simple. Problem solving skills take practice and purposeful application of rules and processes to fit specific types of problems. #ost people learn these skills through interactions with family and friends, in school, or during career training. $ome of it is so ingrained in our personality that we are unaware of our own thought processes. %or e&le, when you get dressed in the morning, you probably don't have to think through the articles of clothing you will need pants, a shirt, ( socks, etc.!, and you probably don't consciously determine ahead of time what order to put them on in. "here are many different kinds of problems to be solved in life and in the field of computer science, and con se)uently, there are dif ferent strategies to solv e them. People engaged in technology and computer science share this dependency upon e&traordinary problem *
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
systems to our automobiles, from appliances to personal entertainment devices, have
created a demand for individuals skilled in solving this type of problem.
Problems with no defined soltion or defined soltion strategy
7ow things are really getting complicated1 Problems with various acceptable solutions, no
known solution, or perhaps no solution at all, and a myriad of strategies to find an answermost yet undiscovered!, tend to frustrate us the most. "hey lack almost all structure so we
are left to fend for ourselves in order to create the structure through our own values and
priorities. We deal with problems in this category daily, but they often re)uire much more
time and effort to solve. We are confronted with )uestions such as- Where should 0 live8
What career should 0 train for8 What is the cure for cancer8 9ow do we achieve world
peace8 What is my purpose on this earth8
We also face this type of problem with technology in our lives. What computer system will
best fit my needs8 9ow do 0 select a communication service8 9ow should 0, personally, deal
with privacy and security8 What is my role as a cyber3citi:en8 $ometimes we can call in an
e&pert4 sometimes we 6ust have to solve the problems ourselves.
/nd of course, in the world of computer science,computer scientists, programmers, and others,
work to solve this type of problem as the very
core of their profession- 9ow can a network to
manage the pharmacy needs of customers across
the country or around the world be created8 9ow
can the huge amounts of data gathered by
national security e&perts be manipulated and
analy:ed to protect the lives and property of
citi:ens8 What simulation can be programmed to
predict, even divert, hurricanes8 What can be
done to minimi:e the effects of climate change8 0s there other life in the universe8 What
programming strategy will discover the essence of life reflected in our chromosomes8
"he good news is that this type of problem generates fun and creativity in life, and in
computer science1 "he bad news is that this type of problem solving re)uires effort,
knowledge, and a deliberate thought process for most of us. #ore good news is that
problem solving is a skill that can be learned and enhanced.
/naly:e your ability to solve problems by thinking through the following )uestions.
*. $elect one area of your life to reflect upon 3 your hobby, 6ob, family, relationships, or
civic role. Which category of problem solving are you most comfortable with in this
life role8
/. Problems with clear cut answers and solutions.
+. Problems with fairly defined outcomes but many solutions.
<. =pen3ended problems where 0 can e&periment and be creative.
(. 9ow did you learn the skills to solve this particular type of problem in this part of
your life8
/. #y family modeled and reinforced these skills.
+. #y teachers taught these skills.
<. 0 learned them through trial and error.
>. 0 modeled after others who were successful in this role.
;. Which problem solving type offers the most difficulties in this life role8
/. Problems with clear cut answers and solutions.
+. Problems with fairly defined outcomes but many solutions.
<. =pen3ended problems where 0 can e&periment and be creative.
?. %or each of the following problem solving categories, identify a life role for which this
is your best problem solving skill set. "hink about your life roles as a parent, a
friend, a volunteer, a student, a citi:en, or a wage earner.
/. Problems with clear cut answers and solutions.
+. Problems with fairly defined outcomes but many solutions.
<. =pen3ended problems where 0 can e&periment and be creative.
@. /ssess your current problem solving skills in regard to technology. 0n which of thesetechnology areas have you encountered problems for which you have had the
problem solving skills to solve8
/. <onfiguring technology components such as entertainment systems
+. "rouble shooting or repairing hardware
<. 5sing software such as spreadsheets or audio editing software
>. <reating your own presence on the Web with a Web page or blog
“What is the goal of this presentation8”, “What constraints do 0 have in terms of e)uipment,
time, skills8”, and “What is possible 2 PowerPoint, chalk talk, slide show, or ive #eeting8”
You select a format for your presentation based upon your analysis, and after the event,
you criti)ue the outcome and add it to your list of e&periences to draw upon the ne&t time
you make a presentation. "his style of problem solving has likely served you very well.
"he *+%,L approach can be used in selecting computer components and software,configuring a local network, and writing computer programs to solve simple problems.
The /ircle-Bac0 odel
Cecent research into problem solving has found that there is considerably more to
effectively solving comple& problems than 6ust knowing the steps of some particular
techni)ue. #any problems must be approached from different angles through a process of
trial and error, so the opportunity to evaluate the outcome and try again is critical. "he
/ircle-Bac0 strategy is particularly effective in addressing technology3related problems,
especially the comple& problems that programmers work on. <reating software to model
weather patterns, or analy:e economic strategies, or control robots is not nearly as clear cutas the previous problem solving strategies would imply. "he /ircle-Bac0 strategy is used
when “failure is not an option”4 when the problem might be worked on indefinitely and it is
likely that it could take a great many cycles to arrive at a solution.
+ecause of recent research, we now recogni:e that understanding and applying a strategy
to a problem isn't enough to effectively solve the problem. Cesearchers have found that
there are many other factors that build good problem solving skills. 0n addition to selecting
an appropriate strategy to fit the problem, you must have a deep base of knowledge in the
sub6ect area of the problem. /dditionally, individuals need practice with a strategy within
the conte&t of real3world problems. "his new thinking on the importance of having a solid
base of knowledge in a particular sub6ect has changed the way educators and trainers teach
problem solving strategies.
"his must seem like a vicious circle4 how can you become a good problem solver without
knowledge and e&perience, both which re)uire problem solving skills to achieve8 #y advice
is to take it slow and easy, learn as you go, call for help when you need it, and continually
try to piece together what you already know about the topic with what you are e&periencing
in a current problem.
Self-Hel$ Strategies
*. $tart with a realistic assessment of what you know and the e&periences that can be
applied.
(. /naly:e the situation 2 break it into smaller challenges
;. >raw upon your e&periences with similar scenarios
?. %igure out what you need to know and where to find it
@. <ome up with a plan
B. 0mplement it
G. "est it
H. Cepeat as necessary
F. Evaluate the process and add to your e&periences account
Try it ot
0magine that you are having difficulties with the wireless network at home. 0t won't connect
each family member's computer to the printer in the home office. 0n a panicked attempt tosolve the problem, you unplugged everything, find the printer software, reinstalled it on
every computer, hook each computer directly to the printer in hopes of helping the
computers “find it”, and eventually give up and call upon the fifteen year3old living ne&t
door.
0f you had the opportunity to apply strategies learned in this lesson, what might you have
You would likely recogni:e that this is a problem that has only one acceptable outcome but
perhaps there are several actions that can be tried to correct the problem. 0f you could redo
the situation with the problem solving strategies you 6ust learned, you might have called in
the fifteen year old first 6ust kidding1!.
ikely you would have used the /ircle-Bac0 method with more time spent on the first step
of assessing the problem and recalling other e&periences you have had with the homenetwork. You might have begun the debugging process by
breaking it into smaller pieces 2 checking if each computer
had printer drivers, checking the wireless signal strength,
and the printer itself. You would have recalled what you
know about networks in general. Perhaps you would have
checked the computer manual to discover where network
settings are controlled, you might have searched for
pertinent information in the printer manual, and maybe
even checked online help forums. You probably would have telephoned a friend to gather
more insights from her e&periences. /fter learning all you could, and thinking about past
e&periences with your wireless network, you could formulate a plan of possible actions,
e&ecute each action, evaluate the results of each action, and try other strategies until theproblem was solved or until you decided to call in an e&pert.
<ertainly following a problem solving strategy doesn't guarantee successful results every
time. "hat is why the /ircle-Bac0 strategy is effective4 it's not an all3or3nothing scenario,
and it offers opportunities for organi:ed skill development both in the conte&t of the specific
problem at hand, and in problem solving in general.
!et "eal
ook back to the technology problem you described for )uestion B in the first “Aet Ceal”
section of this lesson2 >escribe a frustrating technology related problem which you recently
encountered. $olve it again in your imagination by using the strategies from this lesson to
identify how you might have arrived at a better solution with less frustration.
0n hindsight, what learning occurred in that e&perience that you can apply to a future
situation8
Your answers will likely be different but here is what Dim might have said-
Cecently Dim created a blog to share her ideas and e&periences from her city council work.
$he 6ust can't make it look professional or feel inviting.
9er revised strategy-
*. Dim knows nothing about blogs but can draw upon her e&periences writing council
reports for the mayor.
(. "he task can be broken into smaller problems- understanding how blogs work,
creating an attractive online persona, and developing a 6ournal writing style.
• Print all charges and the total in itemi:ed list
/fter this planning step, the plain language instructions of the algorithm are translated into
a programming language. "here are many languages that programmers use tocommunicate with computers. Perhaps you have heard of Jisual +asic, <K, or Lava. 0n later
lessons we will e&plore algorithms to describe various tasks computers are often e&pected
to accomplish and how languages are used to describe specific tasks to a computer.
earning a computer language is not too unlike learning another speaking language such as
%rench or $panish. You decide what you want to say and then select the words to convey
that meaning. +ut, more about that laterM
!et "eal
Write the directions for making a pastrami sandwich as an algorithm. +e as specific as
possible.
Your answer might be a bit different but this is how 0 make a pastrami sandwich.
0nputs 0ngredients!-
• +read
•
Pastrami• #ustard
/lgorithm Cecipe!-
• ocate the loaf of bread on the counter
• =pen the package of bread at one end
• Cemove ( slices
• %rom the refrigerator, get the package of pastrami and the 6ar of mustard
• =pen the package of pastrami
•
Place ( slices on the face of one piece of bread• =pen the 6ar of mustard
• 5sing a knife, scoop out an amount about the si:e of a marble
• 5se the knife to spread it evenly on the top surface of the pastrami
• Place the second slice of bread on top of the pastrami and mustard taking care to
• 5se the knife to cut the sandwich in half diagonally from the top left corner to the
bottom right
• Place the sandwich on a plate, carry to a comfortable location, and en6oy1
Smmary
ife presents us with problems every day, and thank goodness, problem solving is a learned
skill. "o become more effective, it is helpful to analy:e the type of problem being confronted
and select a strategy that fits the specific problem type. Problems can be categori:ed as-
• problems with clear3cut answers and solutions
• problems with a fairly defined outcome and many possible solutions
• problems with no defined outcome or defined solution strategy
$olution strategies can take the form of-
• Ce)uest3Cesponse3Cesult
• 0>E/
• <ircle3+ack
/ny solution strategy is most effective if it fits the needs of the problem presented. 0n
addition to being able to analy:e the type of problems being confronted and fitting an
appropriate strategy to it, gathering knowledge of the topic is a vital element for success.
"echnology helps us solve trivial, or clear3cut problems, as well as more comple& problems
that, until recently, were totally unsolvable. <omputer scientists use heuristics to develop
algorithms as a critical step in the problem solving process because computers can only
follow very specific directions. / heuristic is a general guideline or “rule3of3thumb” forsolving a problem. /n algorithm is a detailed instruction list for accomplishing a task which
can be translated into a specific computer language.
Loin me in our ne&t lesson when we further e&plore how computers can solve problems by
modeling the real world and we delve into some of the inside details of computer science