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)