How anyone can use computer science principles to solve everyday problems | Rameez Virji | TEDxYYC

How anyone can use computer science principles to solve everyday problems | Rameez Virji | TEDxYYC

Translator: lisa thompson
Reviewer: Peter van de Ven Today, I’m going to show you how anyone – and yes, I mean anyone – can use computer science
to solve everyday problems and how I used it
to solve a problem in medicine. My story begins with my late grandfather. Anyone who knew him knew that he was
a very happy and very jolly man, always ready to go out and try something. Despite his excitement about most people
and most things, however, he was terrified of needles. Even though he was very particular
about his health, his enetophobia, or fear of needles, made him refuse
to get regular vaccinations. Now, my grandfather
is hardly alone in this regard. Many people, young and old, (Laughter) are terrified of needles. You guys know what I’m talking about. (Laughter) Clearly, this is a problem
that needed to be solved, and that’s exactly what I was thinking when I was challenged to design something
for Canada’s aging population at a summer program
I attended when I was 17. The world needed something
better than a hypodermic needle to deliver medicine. The problem was that I didn’t know
how to develop medicine. My background and passion
lay in computers. But what if there was a way that I could use computer science
to solve this problem? Now, using computer science
to solve a medical problem might seem far-fetched at first, but computer science
is actually a great way to approach a problem
that may seem difficult to solve. So, what exactly is computer science? Well, computer science is the study of automatic,
algorithmic processes that scale. Now, that might sound like
something out of a science fiction novel, but it’s really quite simple. Computer scientists study
how to manipulate large amounts of data effectively and efficiently
through algorithms, or more simply, through patterns
of instructions on that data. So, how can we use this field to solve problems
outside of the field of computing? Well, one of the best,
biggest advantages of computer science is the problem-solving paradigm
that it teaches. Computer scientists are taught how to look at complicated problems
in a less complicated light. One of the strategies that I used in trying to solve this problem
of vaccinating people who hate needles was to boil the problem down into its base
variables and ignore all irrelevant data. In computer science,
this is called determining scope. If something is out of scope, then it often adds unnecessary confusion
and irrelevant data to the problem, making it harder to understand
how the problem can actually be solved. So, what were the specific factors that were stopping us
from using something other than a needle? I noticed that a lot of the people
that approached this problem tended to get really bogged down in trying to solve every, every question
to do with vaccinations, rather than the specific question of,
“How can we deliver this medicine better?” And that would be
like trying to study for an exam by rereading the entire textbook instead of just your highlighted
and summarized notes. So, by considering factors
that were relevant to the problem, I was able to understand the problem
in a much simpler light. Another strategy which I used
was the concept of “use cases.” In computer science, use cases
are used to consider the problem from the perspective of different people
who will be benefiting from the solution. So, for example, in my case,
I considered the case of my grandfather, who was terrified of needles and needed
an alternate solution for immunization. However, I also considered the case
of people in developing countries, who might not be so much
in need of a comfortable solution as they are a solution
that is convenient and cost-effective and easy to transport and deliver. Alternatively, I considered
the case of people with diabetes, who have to use needles
every day, with every meal, who might be in need
of a more convenient method. So by identifying
the factors that matter the most to the people that face the problem, you can come up with
a more tailored solution and perhaps even understand issues that you may not have
considered initially. One more strategy I used was
to boil the problem down into two parts: the physical perspective
and the logical one. Some parts of a problem might be unlimited
in how you can tackle them, and some may have
some physical limitations. For example, in my case, developing
an oral vaccine delivery technique would have to be something
that a human can swallow, so that’s a physical limitation. But how this system is to deliver
the payload to the bloodstream is something that is more susceptible
to creativity and imagination. So by identifying which parts
of the problem are limiting and which are limitless, I was able to understand which parts of the problem
were more flexible and able to be changed. And in computer science, this is similar to a concept
called functional abstraction, and it’s a great way to understand
which limitations are actual limits and which might be more self-imposed. So, by determining
the scope of the problem, or by understanding the factors that
were actually relevant to the problem, I was able to understand what the problem
I was solving actually was. By considering different use cases, I was able to understand that, not only
would my solution have to be convenient, but it would also
have to be cost-effective and easy to transport and deliver. And by abstracting the problem
into logical and physical factors, I was able to focus my creativity
onto the parts of the problem that were more susceptible
to out-of-the-box thinking. So, by using these
computer science principles on this non-technological problem, I was able to come up with a pill
for vaccines and other medicines which was safer, cheaper,
easier to transport and deliver, and much less scary
than a hypodermic needle. I believe that this model can be used
to solve problems big and small. Like, wouldn’t it be great if,
using computer science, we could solve problems in medicine, in arts, in business,
or even just at home? If we are all courageous enough
to use these computer science principles to tackle our everyday challenges, we can solve problems faster
and reach ahead to a better future. Thank you. (Applause)

6 thoughts on “How anyone can use computer science principles to solve everyday problems | Rameez Virji | TEDxYYC”

  1. Abstracting the problem in a physical and logical way. And analyse the limitations and remove those which are self imposed. Removing the irrelevant data helps us to look at the problem more clearly just like studying the highlighted and summarised notes for exam and not the entire textbook.

Leave a Reply

Your email address will not be published. Required fields are marked *