JOSH: Hi, I'm Josh.
I'm 16, and I'm from the island of Guam.
So my question is, is that when you guys were first
learning programming like a long time ago, what kept you motivated?
And when did programming really click with you?
SPEAKER 1: Oh, that's a really good question.
So I think we can probably each answer this one.
For me, I think it was when I finally started finding personal projects that
were not academic in nature.
They weren't homework, but they were actual problems that I wanted to solve.
That's where I really got into programming and the excitement
clicked and my thirst for wanting to learn more and figure out
how to do things differently and better really clicked.
And in fact, the first thing I can think of,
I can paste this into the chat window.
This is from like literally 20 years ago in Harvard's newspaper
that I just Googled.
I wrote this program at the time that was called Shuttle Boy,
and it was this command line program that you could run in a Unix
or in a Linux environment before there was web mail and gmail.
Students at Harvard used to check their email in a terminal window,
just like you might be compiling and running your C code or Python code.
And at the time, there was no GPS.
But we did have buses and automobiles.
And so Harvard had a lot of shuttle buses
that would drive around campus to take students from one location to another.
But the way you could figure out when the next schedule was
was, you picked up this old school technology, printed paper,
and you could look up the time that the next shuttle could pick you up
from location A and take you to B.
So for me, this seemed like an opportunity
to use some of the knowledge that I'd literally just picked up from CS50
and a follow-on class called 651.
And I wanted to implement a program that would make this process much easier,
so students could check the schedule on their computer,
then go outside when they know there's going to be a bus there.
And it was just so gratifying.
I was lucky that this happened to solve problems not just for me, but for lots
of other people on campus.
And I think several hundred, maybe a couple thousand students
at Harvard ended up using this program.
And what was so cool about that, was that it was never done, the program.
I kept wanting to add more and more features to it, fix bugs, and so forth.
So it really became a passion project.
And that, I think, for me is when it really clicked that I'm not just
studying, a topic in a class, I'm not just
learning something very mechanical.
Like I'm learning something very empowering,
programming, that can genuinely solve problems that excite me and genuinely
help others.
Brian, any thoughts come to you?
BRIAN: Yeah I think my general theory is fairly similar.
That when I was first learning, the thing
that really inspired me was the different types of problems
that I was able to solve.
And when things really started to click, was
when I found a way that I could apply computer science in my life outside
of computer science to be able to do interesting things and solve problems.
The one that comes to mind is that in college I
was a graphic designer for my college's newspaper.
And I would often have to late at night be designing
all of these charts and various different graphics
in a particular style to put up on our website or to put into print.
And very often we're designing a very similar type of graphic again and again
and again.
And I remember one day just deciding to write a Python for program that
would just create these graphics for me, so I could just
type in a few lines of code and generate the graphics automatically.
And that alone just saved me hours that semester.
I spent maybe half an hour writing a program,
and immediately, it was making things easier
for me and for the people that I was working with.
So that, I think, really helped it to click for me,
being able to write a little bit of code that helped us solve a bigger problem.
SPEAKER 1: How about Colton?
What inspired you?
JOSH: So I went into it with a goal so from the very beginning,
which was I wanted to make games.
And that was since I was probably 10 or 11 years old,
but I started around the time I was in high school, so 14, 15.
And the first time I actually tried coding it was from an old book
on the Torque game engine which was popular in the early to mid 2000s.
And it used a custom language called Torque script,
which looked kind of like Perl or PHP, but a little bit weird.
Had its own syntax for some stuff.
And probably because of all the syntax and just the fact
that it wasn't formatted very well and it was black and white,
I just kind of got immediately almost repulsed by it, to be honest.
And didn't, I had never seen code before,
so I wasn't really familiar with it or appreciate it or know how it even
worked or knew how to, like, what games were even made of.
I sort of thought they were all like Visual Editor-based projects.
But the desire to make games didn't go away.
I still wanted to make games.
So I tried again, but this time I decided
I was going to learn something beyond Torque script.
I was going to go learn something like C or C++.
Those are the first two languages that I learned.
And learning from a more structured, beginner-focused way, you know,
doing simple exercises, learning the very basics, you know,
what's an if statement, what's a variable, what's the loop,
all of this stuff sort of I think lit a fire within me.
The fact that I could actually make a computer do things that I wanted
to using what sort of felt almost Englishy, but you know,
it's like giving instructions in a way, using C or C++, very imperative style.
And that sort of allured me in a way to where it
wasn't just about making games anymore.
It became about coding because it was a craft
and because I thought it was interesting, and because the landscape
honestly, is just infinitely vast.
You can your whole life and not know, you know,
and this is the same with most sciences, but you
won't be able to know everything there is to know
about everything in computer science.
So you'll always be learning something new
and it'll always be fascinating and interesting.
And that's what keeps me enjoying it to this day.
I can learn, I can get a lot of enjoyment
out of even small little new things that optimize my workflow
or let me think about programming in a different way.
So I don't know, it's been a fun journey.