hello world welcome to the 11th annual
cs50 fair the cs50 fair is an epic
display of all 800 plus cs50 students
final projects here at Harvard
University at the very end of the
semester while we spend much of the
semester working on programming
assignments or problem sets the final
project of the course is truly the
courses capstone where students are
invited to build and design and
implement most anything of interest to
them and then today's cs50 fair is all
about exhibiting their final work so
behind me here are dozens of tables and
dozens of balloons and so much more
students haven't yet arrived but in just
a little while they'll be pouring in as
will be students faculty and staff from
across campus and let's take a look at
some of the locations that students will
have access to today in addition to
demonstrating their final project to all
teh attendees today we also have this
tradition of a cs50 photobooth born out
of our tradition of videography and
photography the photobooth is an
opportunity for students just to create
some fun memories for instance here they
can take a sort of Instagram picture of
themselves and then create a postcard
out of this that will then post online
there's all sorts of fun swag you might
for instance recall this guy that's been
featured in quite a few of cs50 x'
Muppet based films and then of course do
we have some cs50 shades so that is if
your star shines especially bright here
at the cs50 fair you can go ahead and
look all their cooler for it let's
continue our tour
and of course there is food so much food
it's been a tradition here at the cs50
fair for years to put out bags and bags
and boxes and boxes of popcorn and of
course some some snacks we have some
sweets here such as chocolate and then
of course for healthier options we have
some fruit snacks as well let's head
upstairs next and there's even more
space upstairs here in the balcony will
be more students final projects some of
our guests from industry and when
students check in will they receive
their very own I took cs50 t-shirt
indeed we're here in the Smith Campus
Center for the very first time this is a
brand new renovated space on campus
that's open all day long to students and
faculty and staff as well as to all
passers-by so we're looking forward to
the grandest audience yet let's now take
a look how we're gonna capture all of
this behind the scenes with cs50 s
production team and here we have cs50 s
amazing production team here today to
capture all of these memories and behind
me in fact is cs50 zone Colton Ogden and
Veronica Nutting here to moderate and
commentate on today's entire event
tossing to some of our correspondents in
the field this then is cs50 and this is
the cs50 fair welcome hi everyone
welcome to the 11th annual cs50 fair my
name is Veronica netting my name is
Colton Ogden thank you all so much for
tuning in we're live-streaming to
Facebook to twitch to YouTube Wow
and this is a special fair because we're
actually in a brand new venue this year
would be so cool we're at the Smith
Campus Center in the heart of Cambridge
and actually I think we've just gotten
the cue that we've got her first project
we do already yeah our first interview
is gonna be with Amelia Cabrera in the
interview booth the project's name is
Mike Ord and their slogan is it's the
composer's best friends why don't we go
turn over to them good lord we beat at
10:00 this year
hi I'm Amelia Cabrera I'm at EF here at
cs50 and I'm here with chef Ian Ian and
they're gonna tell me a little bit about
their project my cord the composer's
best friend um so can you guys kind of
give me a walkthrough through your
projects sure and you want to start or
start go ahead go alright so my court
starts with this idea you're a composer
or a music theorist or you're just in
class you've got a bunch of notes maybe
a bunch of sets of notes you don't
really know what chords you're dealing
with and you don't want to have to go
through the circle of fifths over and
over right so that's where our website
comes in exactly take away what our
website does is it takes in input of the
number it takes an input notes within
chords so you can choose a number of
notes you want let's say you want to do
three note chords and what it does is I
was gonna input some notes here F a C
and let's do G E and C and what it's
gonna do it's going to it's going to
output a whole bunch of characteristics
of those chords the first Haul first off
is gonna tell you the route so what what
note is the basis of this chord it's
quality of the chord which is what type
of chord so there are major chords I
like major keys or minor chords or
dominant chords happy-sad bold etc I'm
gonna tell you the inversion in the
chords what Keys the course belongs to
and what courts what keys the entire set
of course belongs to as well as the
cadences which are sort of like
progressions between chords it's got to
tell you all of this information based
and it's all based on modular arithmetic
performed in Python right that's
incredible so it seems like both of you
are very knowledgeable about music so
this project are both of you musicians
like she would describe it as I love
music theory since I was really young
but actually this was inspired based on
one of our mutual friend Michael right
that's exactly Michael was like bashing
his head against the wall try to figure
out chords and we were like hey one of
me from what we made an app or some sort
of website that would allow us to do
this simply and
save people a lot of time and a lot of
effort and a lot of stress that's all
relate to
late night peace setting right no I know
and it seems like you guys have
accomplished that so in terms of kind of
the code what is sort of the hardest
part of this project and how do you guys
think you overcame that what was the
hardest part I would say the hardest
part was definitely figuring out the
sequence of steps we needed to perform
to identify a chord like what makes a
chord like what makes a chord a chord in
the sense that you can definitely
permute the notes sometimes but what
does that change what happens if you
have repeated notes in chords how are we
gonna how are we gonna uniquely identify
all those chords I'd say that works
because I feel like with music theory
it's because not all not all subsets of
notes are gonna be chords and so trying
to figure all that logic behind it
trying to figure out hey what cases
don't work what cases do work and
sorting through all those different
scenarios that was probably the hardest
part I think the smartest part of this
code is the way we realized that
basically all of musical notation can be
reduced to modular arithmetic so when we
do that we can look at the distances
between notes we can look at the
ordering of those distances and we can
say okay based on this information we
know whether or not this is a chord so
that's so interesting you guys connected
kind of this mathematical side with this
music wow that's incredible um so just
as a whole like how has your experience
been with cs50 and do you think um
you've progressed from where you started
at the beginning of this semester you
want to take that first strategy for
cs50 I think that I came in with zero
background in computer science at all
and now we have this and I think that
I've learned so much from this class
there are weeks where you're rougher
than others but I think with any as with
any class size resizes we resize was
rough but I'm really glad I took this
course and I'm really excited to be able
to apply the computer science skills
that I've learned from here to futures
with projects I came in with a bit of a
background of computer science I've done
it for a couple of years maybe
three four years actually and just being
in this class made me want to study CS
more because the problems we did were so
so relatable like Oh what if you've lost
you know your pictures on your memory
card or what if you need to make a
survey for people to fill out you know
being able to do all these cool things
from allocating memory to actually
building a website just gave me a good
breadth of tools and I feel like I'm
excited to explore more in the future
well thank you so much guys thank you
this was Ian and Shafi and this was
their a project my cord and this is cs50
so that was my corn that was a really
awesome project I'm actually a musician
or I used to be more of a musician and a
music producer and so I think like sort
of exploring those chord similarities
and compositions I think it's really
cool and applying math to it and making
a web app um are you a musician do you
do music at all I took many many years
of piano and guitar but I wouldn't call
myself a musician but tell us a bit the
music here is really really cool I think
we've got like this great vibe going and
everyone's sort of almost dancing right
now
that's all you write oh to a degree so
we actually have an mp3 that oh I sort
of generated with some non copyrighted
music but it's yeah it's it's been a
modular arithmetic no it's basically a
bunch of cross fated mp3 files so that
was it was a good time but yeah it's I
think typically we like to have a lot of
EDM in the events that we do hackathon
and affair because I'd like to really
feel that wow like that bass is really
getting me pumped up it's good energy
it's um I don't know I feel like it
really especially people that are being
here for several hours I think it's
great to have a lot of you know audio
energy as well everything's very
visually amazing visually stunning but
having this sort of audio acoustic
aspect to it is really
I am the acoustics of my building are so
great I think that you really can hear
everything which is excited I think so I
think having all this more space has
really contributed a lot to having a
more open vibe and just the acoustics
Isaac to your point I think are a lot
more expanded I guess in the basement I
think the walls are a little bit more
deco a very obvious move Campus Center
yeah no this has been this has been
terrific okay have you ever played an
instrument I played a bit of guitar yeah
both but mostly mostly electric at the
same time yeah no not at the same time
one hand yeah yeah one handed each like
some guitar players typically do that it
looks like we have another sure okay
looks like we've got Athena it's gonna
introduce a really cool project using AI
okay oh we're gonna use AI to play
checkers oh that's exciting okay awesome
okay
hi there an Athena I'm here with Phil
we're gonna be talking about his project
checkers so you know first question here
what exactly is your project how did you
go about implementing it yes so I wrote
a pretty much a checkers engine and C++
which allows the human to play against
the AI computer
on the screen here the human inputs his
move and then the computer runs what's
called a minimax algorithm and it goes
through about 6 moves in advance and it
chooses the best move at a time
that's great so I see her project was
actually written in C++ what made you to
see buck-buck of the language so I knew
I wanted to use something where I could
work with like bitwise types of things
so I needed to be able to use the
bitwise operations which that's pretty
much what C is design for and I needed
things like vectors and stuff
vectors are pretty much like lists and
pythons rifampin and like push back
things see does it have so I needed you
C++ so what would you say is maybe the
hardest part of implementing a project
like this produced project is definitely
choosing like how to generate
so at first I was trying to do it like
mathematically and then I decided I
pretty much had to do like a lookup
table which would pretty much store the
squares nearby and so it's probably not
the optimal solution but it's pretty
much like a dictionary boarding
and so that was
that was definitely the hardest part of
the project yeah I know that makes sense
would you say there was any part of cs50
as a class that like really informed how
you designed your project or how you
thought about it definitely the big bad
piece a so the way I represent boards I
used unsigned 32-bit integers so it
depicts with integers and then I
basically if a piece is on a square I
put a one in that way in that digits
place of the binary zero otherwise and
so and he said three pretty much we're
doing the same so that's similar to high
represent so it looks like you have a
board up already do you want to maybe
show us a couple moves yeah sure so I
think I can put in the move and I'll
move it to be four and so the pause
here's the minimax algorithm running and
it checks about 500,000
yeah and this board evaluation here is
the computers score that it assigned to
its move so zero means the game is tied
plus one means you're winning minus 1 or
minus 2
means that the computer things start
swimming so the zero means it's fine and
it decided to jump like this that's why
the difference between this and that
one of my pieces are going it's
expecting my best response is definitely
to capture by going like d2
before
and then you'll just run again
yeah what would happen if you chose the
worst possible if I chose the worst
possible move it would probably show up
as a negative 1 here so the weird
thing is if you make a horrible move
you'd expect the computer to capture
right away it doesn't really do that it
kind of somehow understands that I can
put off so but like if you make them bad
people let you know at the board
evaluation but just the way the
algorithm set up you don't always see
like you don't always pay the price
right
and it's kind of hard to me but terrible
yeah okay
so why don't you pick checkers at the
game to implement as opposed to like
chess or tic-tac-toe so Jesse and we're
too hard in hindsight I should have been
dead for okay a much easier way
to test out these algorithms without the
complexity of checkers
and the poor ghetto double jumps would
just be too much complexity but all the
AI organs run the same regardless of
which
it's like 2,000 lines okay thank you so
much for taking the time to talk to us
my name is Athena and this is cs50 that
was really cool I'm a big fan of
checkers actually are you
I've played it a couple times I think
you would beat me and if it was chance I
think you'd beat me even more so we
actually we already have another project
lined up a TV station actually yeah so
Rodrigo our another teaching staff of
ours
he's got a dungeon crawler that a game
that he's gonna actually have a group
demonstrate in the interview station
yeah dungeon crawler gonna crawl some
dungeon so let's get over to Rodrigo hi
I'm Rodrigo a Teaching Fellow for cs50
and I'm here with Luke and Jackson
they're going to be talking about
dungeon crawler a 2d Python based game
do you guys want to go ahead and give us
a demo and talk about it a little bit
definitely get that start it up
so yeah dungeon crawler is just like you
said a 2d pixel based art style pick
them up escape type game but the whole
goal is to collect the keys that we
randomly place it on the map while
dodging all the monsters and eventually
to escape out of the dungeon so you look
up on here now Jackson just run around
grabbing all the keys running away from
that little demon guy there that's
interesting and it looks like it's just
following him right is that how you
program the AI yep so we have all the
different sprites of monsters as you see
more and more monsters spawn and as you
get to the deeper and deeper levels of
the dungeon and we just have them set up
where they'll just track the players
movement and fall them around from there
how long did it take you to find like a
good speed that was a good balance of
not too easy not too hard honestly we
were just kind of tweaking that we made
it where each class of sprite had their
own little velocity to it so you always
just change the numbers and Jax and I I
think that was a really most fun part
about this project just be able to play
with it mess around throughout the
entire project it definitely looks
really fun what was your motivation
behind doing this type of game so we
really enjoyed actually just being able
to design the like design the process of
the game and designed the level
progression before we even had to like
start with the code like we are sitting
in interesting like sitting in a room
we're just talking about like okay we
want to do a game because we want to
have a physical representation of
something that we can play and reflect
on and actually add step by step so we
came up this like level idea of picking
up keys at a dungeon and like having a
gate and that was pretty much just like
most simple idea of what we were going
to do and then it was just a matter of
like having some features that we were
able to implement over time and some
stuff that we had to scrap for example
we were thinking of coming up with a map
those a maze where you could like
collide with actual walls and that's
something we struggled with where if you
see right now we basically just have a
big grid of tiles and we collided with
the sprites so that's one thing I would
say that we would add if we have it and
I mean when a demo what happens if you
lose them yeah yeah so basically you get
hit once you lose a life if you get hit
again you lose another life and
basically it just resets each level so
if you're on the second level and you
get hit it will reset you on the second
okay but if you hit again it basically
just says a monster caught you and it
gives you the opportunity to restart so
what was the most challenging thing
about this would you say I definitely
say the most challenging part was
learning from the ground up a new Python
library and really incorporating that so
I think it was a very steep learning
curve at first where we were just
sitting around a lot just trying to
learn the modules and really get used to
the PI game library then as we got used
to we were able to implement more and
more features and the game just got more
and more fun as we go along it looks
amazing anything else you would have
wanted to add to it or any closing
thoughts
um I think last night we were kind of at
this point where we were finally having
a you know a really good working game
that we thought was fun and it's kind of
interesting because with the game we got
to the point where we started thinking
like all these things that we do add add
yeah oh we had two more days we'd add
this and stuff like that so I think
that's something unique that I'm really
happy that we did a game just because we
add up like this fiscal representation
of something that you know we could
think of like we think oh we might add a
like little spikes that you would call
ID into or like add some walls and
things like that but I don't know I'm
happy with what we came up with and I
think it's very impressive after just
taking cs50 you've already coded a game
is this your first experience with CS so
for me it's it's pretty much the first
experience I took a little bit of CS in
high school and then so I'm a sophomore
I didn't take any in freshman year and I
kind of felt like it was the first
experience coming back into it so I was
definitely in like the less comfortable
Bunch coming into class same with me I
didn't have any in high school I had in
like one physics class here at Harvard
but definitely new experience it's been
a lot a lot of fun that's that's
fantastic it always blows my mind what
students come up with after just one
semester but yeah so there you have it
very very cool project closing out this
is Rodrigo and this is cs50 alright well
that was awesome at dungeon-crawler so
we don't actually really cover game
program against you know a lot about
that a little bit so I taught a games
course through the extension school
actually and actually that piece that
looks a little bit similar to the one of
the pieces that we teach which is Elvis
style game and so I mean Zelda could
almost be considered one of the early
the progenitor is progeny progenitors I
got this word mix up another time
recently but progenitors of sort of
dungeon crawling are you familiar with
you please hold it for the first time on
twitch about a week ago actually like
five days ago yeah I was harder than I
thought
yeah those Punjab turns out that TV
actually had some input lag on it so I
discovered after the fact sure we
discovered it when Colton started
playing okay it was really hard if you
want to see that awesome footage on
Twitch we actually have a we actually
have that sort of that gameplay from
this week on twitch yeah it was a lot of
fun
Zelda is a I would say it's pretty fun
favorite video game yeah well Zelda's up
there have you seen the new result in
the brother wild this one's really cool
cuz it's actually open-world so you can
actually explore
unlike most other Zelda games which were
kind of linear and you kind of had in
every other places yeah this one was
very open and you could go explore the
entire world at any one time which I
thought was super cool a super novel and
it did very well actually I think I
think it like was responsible for pretty
much all the switches sales at least in
the first you know time period that came
out super cool really going in that
direction what have you both played
reason have you played anything recent
much it so again I really don't play
video games I like Sudoku okay okay do
you do anything about that I deal with
an app yeah I have an app I use when we
I've had any phone way you know play
with but nothing much in the sense of
like Dungeons and Dragons or anything
okay
and next up we have we're gonna now cut
away to another students so we've got
Andrew with a final project called
exhibitor and it's a it's a graphic
editor to create VR exhibits hey I'm
Andrew Zukerman and I'm a TF at cs50
I'm here with Josh and he's gonna tell
us about his project called exhibitor
yeah so why don't you tell us a little
bit about it yeah so essentially I went
into this project with the idea that
information should be available for
people to view online freely
and so one of the ways that we share
information traditionally is with museum
exhibits and so I wanted to create a way
for people to easily create VR museum
exhibits so traditionally when you're
creating VR you need to have some coding
experience or the interface is just
horrible
but with this you actually just need to
know how to click and drag and you'll be
able to create a museum exhibit of your
own so for example I already have a
building here but if I wanted to add
this picture all I have to do is click
click a few times and there it is it
auto-saves I can reload the page with
the viewer and then when we look around
if it reloads but if it did reload we
would be able to see that it's actually
a VR compatible 3d environment so if we
had an if we had an oculus or another
headset here we would actually be able
to put on the goggles and actually
interact with the environment assuming
the Wi-Fi were working and so really
it's just a way to share information and
create museum exhibits in a much easier
way than you would Trish traditionally
have with VR awesome yeah it already
looks so good from right here in the
computer I can imagine with a set on how
much more realistic this would be on
gosh this is so beautiful and so amazing
what made you decide to work on this for
your project
yeah so I've been taking a lot of
classes this semester about Museum
Studies and how we interact with
information and I was really inspired by
some of those classes and how we've been
using digital media to analyze the past
as well as the future and so I wanted to
create a way so that people can easily
do the same so with this now it loaded
so you can see how we can easily create
VR environments with the software so
that you can share information pretty
easily with other
and was it reason you chose the images
you have right here I see there's a
little space theme going on I there the
reason was that NASA images are public
domain okay and I wanted to follow the
rules no I think space is really cool so
I think it's very fitting for for a
symbol of expanding knowledge yeah yeah
that's great and if you had to add
something more to this project if you're
gonna work on it further what do you
think would be next well first of all I
would fix some of the bugs like you can
see the tiles are a little bit different
there which is but beyond the simple bug
fixes I would add 3d objects so that you
can actually place 3d objects and
actually interact with them within the
environment I actually have more of a
fully immersive experience and feel like
you're in a real environment cool and
and another question I had is is this
your first time coding or you have
experience before I have lots of
experience lots of experience so what
else have you done before cs50 here at
Harvard so this is the this is my first
like formal computer science class but
I've been programming for about five
years and so it's been it's been
interesting to really sharpen my skills
in this class okay cool and if you had
to recommend for other students here in
cs50 who are interested in augmented
reality or virtual reality how do you
suggest they get started in that area I
think the same way I did which is to
look up a framework that's pretty easy
like a frame which is the one I used
here I think it's a nice graphics
framework that will allows you it's very
forgiving so you'll be able to learn a
lot from nice alright yeah thank you so
much for sharing your project and this
is cs50 that was so cool actually really
love museums and NASA so I'd have to
agree with Andrew that that was
beautiful and amazing yeah I love love
the the pictures that they had there but
we actually have another project in the
field right now who is you something
Nick this is a music classification app
using AI and machine learning super
excited to check this one out
all right my name is Nick and I'm here
with Josh and Raluca and we're going to
hear a little bit about their music
classification machine learning project
cs50 final project so Yosh what made you
guys decide to do a music classification
project all our cs50 so originally we
were gonna actually design again a
generative adversarial network that
would sort of take like Bach music and
create music with the sound of like baa
okay really cool yeah difficult very
difficult so we sort of moved away from
that because again is kind of compliant
comprised of a generator and classifier
so we use heard of just bugs in the
classifier bit and yeah so we also
wanted to like differentiate between
Bach and different amusing right so my
god Bach and Taylor Swift would be very
different so which would make sense to
me yeah yeah we should make a bit easier
for the computer to sort of actually
understand the difference so we chose
two very different well that sounds very
easy to me I can usually tell if it's
Bach or Taylor Swift so what were some
of the greatest difficulties or
challenges you faced with Luka in
building the sort of cool project so I
think the most difficult part was
actually finding that they to end up on
the work we had to manually go to
youtube converted to mp3 and then for
the wav format that was able to like it
was we were able to upload in the
program Wow okay a lot of work for ya
for this we used Lib Rosa which is a
library that is very easy to use to
process the actual wav format okay and
it's giving a list of numbers based on
the amplitude of the sound
points in time and that's very technical
yeah and we put that into the network oh
that's awesome
all right yeah if you guys wouldn't mind
showing us a little bit on your
presentation and maybe walk me through a
little bit of how this works
awesome so what's on our screen right
now we have a audio data analysis
liberal song 5 this is how five seconds
of music look with your browser okay oh
you can see the amplitude of sound like
that's very pretty
I don't usually think of sound like that
that's awesome okay so let's do we also
sort of use parallelism show programs so
since we're living like about an hour a
little more than an hour of music for
each composer Wow so sort of like three
hours yeah it takes very long so we used
parallelism so we could like load pop
music and we also like I'll see use EDM
music as another sort of oh interesting
so you actually had a three different
things to classify between well we
actually only did two at a time so okay
so is it EDM or is it Taylor Swift is it
Taylor Swift or is it Bach or Bach
radium yeah so then we use parallelism
so we Gillig load all three sort of
simultaneously using alig
multiprocessing and the course itself
right cool yeah and it looks like you
might have been using something what was
your machine learning library underneath
Karis intensive awesome all right so do
you guys have any comments for people in
cs50 or I guess kind of general things
about the course you've created an
awesome project and thank you for
sharing that with us so I guess what
would be kind of your comments to
someone in the future taking cs50 maybe
something along the lines of like
machine learning is accessible you're
gonna it's your first course yeah
definitely actually so this is a brother
first time doing machine learning Wow
and so likes a lot of the libraries and
stuff out there making it pretty
accessible and really really fun and
interesting to do and also cs50 teaches
you a lot of CS tools and makes yeah and
definitely take the course because it
will teach you
how to teach yourself other things in
the future that's awesome well thank you
both Josh and Raluca and my name is Nick
this is cs50 well that was a super cool
app so AI in the context of music and
actually we had a stream Nick
appropriately so was on a stream using
Karason sense of flow for a binary
classifier which is super awesome but I
believe we have another it's gonna take
us to our next project which is what
mine are you take the quiz it's an
something that's gonna we're gonna take
a quiz and
hi my name is Emma Humphrey I'm a
sophomore at EF for cs50 this is Erin
and Paolo and they're gonna show us
their project about what vine are you
take the quiz so can you guys tell us
about what you did yeah so we decided
that we wanted to bring back vine a
little bit and we actually live in the
same room well so about 42 so one day I
was just thinking about what we should
do for our final project and I asked him
let's do a personality quiz like the
ones on BuzzFeed kind of but with vines
and we're gonna put that into motion
extremely bonded by our love of vines
and Internet so we decided to do this
yeah I think it turned out pretty well
and if you want to we can have you take
the very last part of the quiz right now
yeah sweet
Oh so if you do some pickup lines can
you walk me through your recent projects
for figuring out how questions ties to
the kinds of answers that you get all
right well this is a very scientific
process in determining which pickup
lines to use evolving
I'd say hours of research looking up
just pickup lines and people of use on
tinder and videos of people using it and
really determining the for
cream-of-the-crop pickup lines to use in
our project well let's do hey my name is
Microsoft can I crash at your place
tonight all right
Finnick catch these hands for sure all
right
very nice very nice all right we'll be
nice it's all good to him to it anyway
okay and then let's yeah let's see you a
Bunny's chosen so you got roadwork ahead
so do you want to watch the vine yes of
course all right
great so what was the hardest part of
implementing your project I think you
know I think the hardest part was
figuring out like how we want to split
like how to get to which vine from which
answers so we have a few questions in
the in the quiz there's ten questions
total that our filler questions just for
fun and there's some so the way we just
decided to do it was split we have eight
vines total that you can be selected
from for that our more extroverted type
for data more introverted type and
judging on some of the questions replace
you into your like the extrovert or
introvert and then we just go from there
so it really is telling you things about
yourself which vine you are yeah it's
very intensive process yeah like I learn
things about myself taking the quiz that
I didn't even know well it's nice to
know that you can at this point code
something to teach you so much about
yourself and now I thank you guys so
much
this is cs50 that was so cool I can't
wait to take that quiz so : taught me
are you an introvert or an extrovert I
am probably more of an introvert but I
try to exude that I mean I tried okay
like a fake extra a fake extrovert I
think you feel like an authentic
extrovert to me is that is that accurate
I think I've taken a lot of personality
quizzes in my life sort of getting mixed
responses always but I think sorry if
I'm in I think you're not hard actually
you think so spending time kind of
waters hanging out I like spending time
alone I feel like I've seen a lot of
these kinds of quizzes on Facebook
they're so cool and then Twitter vines
you know I haven't seen vines in a long
time but it's very fascinating I don't
think I've ever seen any kind of
classification and it did almost tying
back to like the the classifier that we
just looked at a little bit maybe more
of a simple model but you know
classifying people based on
personalities classifying songs based on
category and based on certain musical I
want a vacation
actually so this is super
yeah I think it like how do you quantify
something it's like deeply qualitative
like personality I think it's so fun I
really want to crunch the numbers of who
you are ya know it's it's really cool
and clearly it's not you know something
that can be all-encompassing I feel like
it's such a difficult thing like the all
the personality tests like the infj and
all those sorts of things right yeah I
feel like those can be kind of tricky
but I think you can get some cool
interesting insights into things you
might not have considered about your own
personality by looking at these kinds of
things okay when you get your results do
you read the other personalities - I do
- you know I always just think I think
if you read all of them I start to think
it's more like an astrology type thing
because all of them kind of seem like
they're generally applicable to everyone
so I like to just sort of stick to my
results and I'm like yes okay I get it I
feel like I've learned I feel like I've
learned a little bit more about what the
gamut of personalities is damn it that's
by doing that by reading a little bit I
am not as much of a fan of the astrology
but it looks like we do have another
interview going out with Amelia another
interview going out we don't have any
information on this project and I'm very
excited to see what it is over hi
everyone
well I'm Amelia here again and now I'm
here with Jacqueline and Justin who are
gonna tell us a little bit about their
project axel so can you guys run us
through maybe a demo of this project
yeah absolutely so we kind of set it up
and the idea behind it was allowing
people to find volunteering
opportunities near them and apply to
sign up to volunteer at any time so um
you know initially like you can kind of
enter your zip code or city that you're
in so my home zip code we're both from
Denver Colorado is a 0 2 3 5 so if I
search for that will show me a bunch of
kind of volunteering locations and give
a brief description as well as their
website near that near them for what
they can sign up to do they can also
come over to the Explorer tab and using
the Google Maps API we were able to kind
of pull their geolocation so here's
where we're currently located and we
have pins placed on the map essentially
telling them what what it is so here's
like a harvest where homeless shelter
and
you know they can click on those taken
to those websites in sign up we also
have a community tab where people can go
and see comments that other people have
left in our community about their
experiences we there with aux alors with
the volunteering organization that they
had as well as organizations become
register sign up their organizations so
that they'll be populated on the
searches on the Aqsa platform as well as
on the map and then the last
functionality that we built in was an
applied to volunteer hunt
so what students come or people come to
our website they can click on say any
one of the organization's fill out their
information and then they can sign up to
volunteer right away oh that's awesome a
nutshell there ya know that's incredible
I'm not gonna ask about the motivation
because I feel like it's very clear that
you know we need to connect more people
with their volunteering opportunities so
I think that's amazing that you guys saw
like a real problem in our community and
try to create a project to fix it I
guess I want to know more about kind of
the technologies you guys used in this
project what were some of the biggest
struggles and hurdles that you had to
get through yeah definitely I would say
the biggest struggle was Justin really
spearheaded the project would they
explore map and the Google API is not
something like you can easily figure out
he really put in a lot of time to
figuring this out yeah so definitely
yeah I think getting the markers to
populate onto the map kind of going
through our database finding their
latitude and longitudes and putting
information for each of the markers with
the website data and as well as the
titles was a bit tricky in terms of
getting the types and getting the colors
again the pins to go where we wanted it
was definitely hard we used a lot of
like sequel technology to kind of store
the data from like applications
organizations and users for like when
users make accounts change their
passwords things like that yeah no it's
incredible
so I guess kind of looking more broadly
at your time here at cs50 as a whole are
you happy with how you progress and like
the fact that you've gone from I don't
know where you guys were at the
beginning of the semester but it seems
like now you guys can create a really
great functioning I'm web app yeah I
loved I had zero coding experience
before coming into cs50 I literally knew
nothing about coding
like how to even start so I'm really
happy I love the course so much I loved
kind of learning from whether it was
like the beginning with the first few
sets all the way till now I feel like
I've grown a lot in terms of both like
learning how to code but also kind of
like building a project building a
problem solving like how much time I'm
gonna need to allocate to figuring out
how to do something and implement new
things so my favorite thing was how in
cs50 like every week you kind of learned
something like a new piece of coding so
like if you learned about sequel one
week you learned about Python C but like
a bunch of different things so it wasn't
like you spent the whole time learning
like Java or something like that yeah
credible umm well thank you guys so much
thank you Justin Thank You Jaclyn this
was Amelia and this is cs50
awesome thanks Amelia that was amazing a
volunteer oriented website you know gang
we've got one a volunteer with
organizations that are anxiously hoping
people ya know definitely and this
actually something we saw at Yale -
really good yeah a great trend so we
have another okay
Athena is now I'm gonna talk to us about
a really cool project called template
responsive that basically lets you use
templates for you know
aya and Athena I'm here with Nancy we're
gonna be talking about her Chrome
extension which lets you do really cool
things with email templates so Nancy you
want to give us a quick demo of your
project and then ask you some customers
yeah sure I'd love to if you go into
Gmail they have some strong responses
capabilities if you go into the canned
responses if we allow you to insert at a
and save those responses what they do in
there pretty like an intuitive way where
they just have these titles repeated
over and over and over again to you to
use them so I made a Chrome extension
that allowed you to hear new content so
go into new you can call it something
I'll give it my name I'll just say and
it does allow you to preserve different
formatting so if I wanted to bold this
here it should preserve it when you
piece the response so you can save this
it'll give you a preview of what it
should look like and then if you go back
into Gmail
start a line here it'll list it in the
response and you can copy and it or
delete it right now I'm going to copy it
and paste it in and there it goes
hi there with the bolding wow that is so
cool so if I'm someone who is like
interested in using this capability how
can I get access to your project is it
on the like extension store and even
know I'm using it in developer mode I
can only use it because I have these
files stored on my computer what I can
do if I wanted other people to use it is
upload it to the store and even also
like by monetary value there's like a
short approval project early process
some extensions but I think they take
most of them based on what I've seen the
online so oh that's very insulting
anybody could wow that's great
so what would you say it was like maybe
the hardest part about building a
project like this yeah so we didn't
learn how to do some extensions in class
is something a completely explicable my
own and they do have some information on
it but Chrome extensions aren't super
popular
we're like if you want to look at
documentation for a lot of people
they'll be making them it's like you
have to go to a lot of like sketchy
sites decipher what things means and
it's really like learning process on
your own where you can't rely on the
help of others and like the people
before you - like okay so like
documentation with the documentation oh
my goodness yeah that you know we talked
about because if you like commenting
your code and like documenting what
you're doing and now you see the real
world so you know speaking of cs50 like
with us your first experience with
computer science how does it feel now at
the end of the class to have a working
from extension feels really good uhm one
summer I kind of had like a little bit
of space in yes I heard onto a lab and
they didn't tell me I'd be doing ponies
like write VBA macros like Excel
recording the code for you so you don't
have to like figure out too much on your
own this was my first like official code
experience and it feels really good to
have this done I remember like blasted
midnight felt like pretty crappy about
it because it definitely wasn't as much
as I wanted to do but like showing it
off not as such like gratifying feeling
with my like like watching does
something right
something at least it's not all what I
wanted it to do feels really wow that is
so great to hear how about like an aha
moment you know you're working on your
code maybe late at night something's
just not clicking and then all of a
sudden it's working do you have any any
moments like that definitely was like
storing these so like the way that some
extensions have this storage they store
everything locally today's box and you
can either make like arrays or objects
you have to choose like what you want to
do feel like it took me a really long
time to figure out that I wanted the
Quinte array with the object of title
HTML and then the quill code but like
figuring out how to organize that really
took such a long time it literally get
like it's not like maybe I should do the
same and I don't work it works so there
was that really cute little graphic that
you had what is that I honestly just
thought a chip from online no idea what
it is
got it from chippy I think it's really
adorable I just wanted my project to
look okay even if it's like not doing
much Wow
could you imagine yourself like using
this in the real world now that you have
it running
so the reason I really want to do this
project just because I work at a
developmental lab and we use a lot of
the kin responses like shared different
studies going on with people because I
struggled so much with Shino can
responses I'm Avis kajuk and sort of
wanted to publish it or the lab to you
might bring it up to managers see if he
wants to make use of it wow that is so
cool that is super cool and I I don't
know the product that I did in the cs50
student was kind of just like fun but I
think it's so interesting that you have
projects I can actually be applicable to
things like labs
you know that's that's a l'eau idea
where you start to learn that the code
that you're writing like actually can
have a huge impact this is super cool um
before we wrap up do you have any like
last thoughts about the project
experience yeah I didn't think I was
gonna take cs50 my entire career I
remember like my roommate even like last
semester there's no way in heck I'm ever
gonna do cs50 even if everybody else
does it I can so like be on the other
end of it is really crazy it was like I
changed that much even within this
summer or like within shopping period
don't get rid of shopping food we're
like subtle plug so really really great
experience even if you think you can't
do it definitely Wow okay that's great
super encouraging thank you so much for
taking the time to talk to us today
Jamie oh of course I'm Athena and this
was the sec
that was really cool : how many emails
you send a day Oh
on a good day like just a couple give me
a range on about what's a couple between
five and maybe like twenty or thirty I
think depends on the day depends on what
we're doing
oh yeah I think I sound like three to
forty I think I think if I were Doug I
think Doug and Bryan probably yeah I
order of like a I think that project
would be quite useful for them yeah no
absolutely I'm being able to store an in
Chrome like I just have a button they're
super useful super easy oh yes we have
another inner another interview coming
up with Andy so the application is mood
by me it's an astrological matchmaking
design okay all right thank you all for
joining us my name is Andy Chen and I'm
here with an Anna
and we're talking about mood by me which
is their cs50 final project so can you
give me a quick spiel about what your
project is what it does they'll love in
the air yeah love always always and II
always do you want to register should we
register you absolutely let's do that
all right so your name is Andy how did
you know oh um your user name is gonna
be Andy Chen Wow your password we won't
tell anyone we won't tell anyone
and what's your what's your astrological
sign let's say Capricorn Capricorn lit
okay I do like the capricorns so now
we're gonna create an account for you
Andy okay and then it's gonna give you
this this astrological mood board
totally a Capricorn hello Andy this is
your magic making mood board wanna say
this reminds me so much of 2006 at my
original myspace web site I love it's a
throwback the vibe we like to create
is where I live permanent and so it
gives you a vine to watch it gives you a
curated playlists made by Annie Kim one
of our good friends it cycles and photos
of Fiona and I at the cs50 hackathon as
a Capricorn you're compatible with
virgos and so this gives you a list of
all the other virgos that have
registered and you can find them all in
luck
nice I like it and then it gives you
this incredibly fun horse it says for
better for worse Mamma Mia - here we go
again we'll be the only in-flight movie
on your next three flights Wow I like it
I usually pay for that service so I'm
happy that as the horoscope to be watch
the vine real quick this is
it's a classic timeless it's a classic
all 12 are incredible vines the vines I
like so what's the next big step for is
I see this sa enterprising very
potentially successful startup and the
next unicorn what do you think is the
next step for your website yeah so I
think it me it'd be good to make it
we like didn't have time to do this but
I think the next thing we want to do is
make it so that it it all states all of
these things after some set amount of
time you know so that each week or each
month you'll be getting like a new vine
a new playlist a new the photos of our
faces I think are then always tanked I
think that's the main appeal of course
yeah but your photos I so can I ask you
what was the inspiration behind your
deciding to make this project
I like reading dumb okay fun and
not too heady and complex too like wild
I think it looks really good thank you
thanks Andy so do either of you two have
any computer science background not even
a little bit over so like 12 weeks ago
when you walked into the first lecture
of cs50 having no idea what a computer
and like the low level implementation
details where do you feel proud that
you're able to make this whole website
it was pretty good yeah I do I do I feel
like I like I have some some baseline
coding skills for sure but I think I
also like makes you think in a very
different way that I'm not used to
thinking in a lot of my other classes
absalom
so yeah I'm pretty proud of this I feel
like the first week they were like
explaining binary and I had no idea what
was happening
and I struggled to make my scratch game
and now look at us go look at us go this
is I got a little clap will pat on the
back very nice thank you so before we go
I can ask you what are your impressions
what were your impressions of cs50
before taking the class and then now
that you've gone most of the way through
it we're at 99.99% do you have anything
to say about after how you feel after
cs50
like super hard like you work with power
your way through your come out on the
other side with a t-shirt absolutely and
like try but not stress out and
incredible and I now feel pretty
confident the small amount of computer
science I have learned yeah it's done a
good job of exposing me to a lot of
different things
sure do you think that you'll do either
take more computer science classes or do
computer science things as a result of
cs50 yeah I think definitely I don't
know if I'll take more CS class but I
also just don't have that much more time
left to take them um but I think it
definitely like gives you some baseline
skills that could be very like
marketable and useful going into other
things like I work in like a biology lab
and I feel like having these kinds of
like skills could be very useful and
like analyzing data and doing things on
that side of lab so I think definitely
gives you things that carry in to other
aspect of salutely life yeah do you have
anything add to that yeah so I take like
I concentrate in history and literature
and all of my classes I call my studies
are very humanities focused which I like
but I think that I thought that I would
never like have to or want to let
include any stem stuff very nice yeah I
don't know if I'm gonna take like
another cs5 check that off my list but I
think that I'm less afraid of that and
like more willing to combine my two or
like combine my studies with something
too
[Music]
more more stem last pure books all
absolutely okay so I guess to it on to
end on a note to people who are
considering taking cs50 do you have any
tips for them take it your junior year
put a lot of your friends or TFC yeah
yeah yeah I would say like take it I
don't know just do it do it even if
you're like I don't know it's a good not
as bad as everyone makes the team and
it's a fun time and you'll really new
bond I've made some of my best friends
at cs50 office hours like Andy oh it was
a you have a favorite member of the
teaching staff oh well thank you so much
for being on here and as we like to end
this is cs50
Wow I can really use a project like that
a matchmaking site right now okay so it
thinks what is joining us what is your
sign what is your side by the way that's
why I'm a Gemini
okay I'm Sagittarius are we all
compatible I don't know what are you I'm
a Pisces I don't think so you just came
from the ground I did like out there is
actually packed it might seem nice a
triangle up here we have hundreds of
students and attendees a lot of high
school students at welcome your own
future to see all of our undergraduates
and our extension students final project
sounds really loud
it is really louder than the surrounding
it's like a Tremblay you have to kind of
wait until there's an opening to
actually make your way through the crowd
so excited some amazing projects and
we've been talking to some of the
students up here but down there most
everyone is engaged in conversation with
classmates attendees
how's the popcorn popcorn is delicious I
have how's it been a pod riding with
folks it's been fantastic we've seen a
lot of awesome projects and the second
shift is beginning now is that correct
it is yeah we've broken down the cs50
fair into three separate shifts because
there's so many students a shift just
wrapped up we had the second shift with
like 200 plus students calm again on
some of the first shift you stick around
to chat with their friends and see their
projects the third shift just over
our from now that's exciting but a lot
to look forward to yeah we have another
project here in the field actually if
you want to maybe pick us off your deed
I think coming up next is Nick in the
field we're gonna take a look at
argumented reality and as it intersects
with the world of arts awesome hello
this is nick and i'm here with
meanza and poo poo and they built a
fantastically cool AR project that
basically allows you to look at pictures
and put all sorts of their own wildest
imaginations on it using their iPhones
so means that can you tell me a little
bit about why you guys picked this as
your cs50 final project there's
different interpretation of the same
artist by the contemporary artist so we
just want to install together Yuki in
Japanese means floating so we want to
create a real floating world in
documenting that's awesome and you guys
said you were both GSD students and
graduate students of design your design
skills come into play in making this
work sure some of the models myself
blend up the image we have you can hold
up some of your images that would be
back right here we see this obviously
has something to do with our 3d modeling
skills at the GSD so okay makes a lot of
sense yeah so what tools did you guys
use to build each of the parts you had
to be able to interpret images you have
to be able to recognize them build an
app and then you also have to model
things so let's talk about each of those
three parts so we use Safari o to do the
image recognition and then we assembly
today
in unity and we also like cold a little
bit
by c-sharp a unity to trigger the
animation and then we export everything
with Swifton Objective C which is wow
that's kudos to you guys for doing that
point on that's awesome we're some of
the biggest challenges you guys faced in
building this project I think obviously
is in the end we plot the plot our unity
component into our iOS biggest Charlet
we thought was easy in the beginning and
then until until the very end we realize
how pragmatic it could be welcome to CS
yeah and we eventually succeeded so
obviously also like c-sharp and echo is
something not included
we don't really teach that that makes a
lot of sense well thank you very much
for sharing you guys's project with us
we really appreciate it
I'm Nick Wong and this is cs50 wow those
also extremely cool and you know what's
really extra cool I cut it into my hair
I know this is a lot of fun being able
to see in a piece of art and convert it
into 3d especially that app I could see
it being really great you know in a pair
of glasses didn't mean the fall with the
phony people you obviously see so much
of it and in fact the footage might not
might have been captured through a VR
headset or an AR headset super goal we
have a it looks like another interview
all set with Rodrigo this one's called a
Briones own plotter and plots
characteristics of crystalline lattices
hi so we're back this is Rodrigo and I'm
here with will I'll let him introduce
this project would you want to talk
about it yeah I'm well I'm a special
student studying physics and my project
is thinking about crystal lattices so if
we have a crystal lattice imagine what
it is in one dimension first it's a set
of points like this arrayed with a
particular distance between each point
now you can imagine that in two
dimensions which is what we're going to
be dealing with from now on and that's
like one of these chains like this in
this direction and one up like that in
that direction tessellated to infinity
and we're going to be effectively asking
the question what is the area of this
2-d infinite lattice which is closest to
one particular point over any other so
let's try that out so you can see on the
screen here we're inputting the vectors
that define the crystal lattice so let's
do an easy one to start off with do you
want to talk about how this you know
generates the lattice yeah sure so from
any we start at zero zero and then there
are two lattices you put in the two
vectors you put in so for example here
we have the second X component and the
second Y component mister finds a vector
and from that zero zero point you map
out along that vector and then you do
that repeatedly and then this second
vector defines another one and so you
can combine any number of combinations
of like that jump that jump or that jump
and like up and down negative as well
and that sets out a whole lattice of
space awesome let's see it okay yeah so
then we put in so we're doing here so
one zero is just the y axis zero one is
just the x axis and so it gives out this
is just a square lattice and as we put
this in it will calculate the area
closest to it so we can see here's the
lattice of points which as we said
before are like just a regular lattice
arrayed by those x and y vectors and in
this blue area is the Brillouin zone
which is the area closest to this one
point than any other and now we can do
it for a slightly harder one because you
probably could have worked that out in
your head so here we're putting in two
vectors this one is slightly twisted
from what we were considering before so
it's maybe not so easy to work out
straight off and as you can see here's
the lattice and here's the area that's
closest to that one point yeah and so
this may seems a bit useless but this is
actually useful because
we're gonna be thing I do solid-state
physics research so in a lattice there
are waves propagating for example sound
or electrons or something and this area
here is the there's a constraint on the
waves such that they have to exist
within this blue area here so being able
to visualize it can allow you to
understand a lot of the phenomena yeah
it's amazing what would you say was your
biggest challenge when doing this
project it's quite hard to work out how
this area itself working this out was
pretty difficult and especially when I
wanted to extend it in various ways so
maybe it's useful if I talk about how it
does it I don't know be yeah this is so
it looks at all the points closest to it
so for example for this point here it
looks at this set of points and it
calculates a line between them and then
finds the line perpendicular of that so
here we can see this line in travelling
through the line plankton those two and
that defines a route round here of the
closest area and I wanted to extend it
to ask questions like either in 3d for
one or second to ask things like where
is the what's the set of area which is
second closest to this point so for
example this point here is closest to
this point but second closest at this
point and that is also a useful thing to
be able to find out but that required
another layer of doing this during the
lines and finding out which points
appropriate consider and which ones are
important and that was really difficult
tonight I managed to work it out for the
first zone but no others and so that was
quite hard I mean it's still really
impressive would you say then that your
biggest challenges were more with the
physics than with the programming yes I
think so though I had a lot of trouble
with the programming ones they were
easier you just like look up online or
ask someone and someone knows how to do
it where is this thing I don't know I
could I'm banging my head against that
no not any idea but this was your first
experience with CS yeah I've never done
any computer science stuff before but
yeah so this is the biggest project so
far it looks good I mean it's you know I
I would have to take several classes of
physics be able to understand it
completely
but but no it looks really cool and I'm
very very proud of what you've done any
closing remarks oh no I think that's
that's me done I think I've loved my
shot so thank you very much hello this
was Rodrigo and we'll closing out and
this is cs50 it was a super cool app you
know I'm not a physics concentrator so I
didn't quite understand absolutely
everything that was going on there but I
heard of the term crystal lattice as it
refers to sort of a molecular structure
of certain things I think maybe even
granite or graphite my day yeah I like
gravity a lot and actually I have a
message for you oh it's that message
nice nice oh nice okay okay I see
appreciate it I'm sorry it's okay we
have another we have another if you want
to okay
Athena's gonna talk to us about a pop
hey self-improvement up I love
self-improvement the biggest kind of
self-improvement
hi there I'm Athena I'm here with Dylan
he has a super cool project it's like
basically gamifying your life I don't
want to steal the Thunder I'm going to
turn it over to you like walk us through
it super cool yeah
so the name of the project is called a
cotton and it as you said it's a way to
gamify and track your habits and your
progression for its goals both
short-term and long-term and like bucket
list items and things that you want to
work on yeah it's kind of based around
the like a similar model to sims are
like role-playing games online where you
have a system of skills that you can
allocate points to and the points are
what you earn when you complete the
day-to-day it's a dues or your goals or
the bucket list items tasks challenges
and quests or what they're called in
here tests are the kind of short-term
things challenges are your bigger goals
and then quests are your long-term
bucket bucket list items and so as you
complete them points kind of serve two
functions one they are the measure of
your progress and the different skills
but they're also the kind of back the
backing of a reward budget that you
build up and there's a system of rewards
that you build for yourself and the
website makes it easy to kind of
self-regulate and apply kind of
self-control to that system of rewards
bullet incentivize and like change the
way that you view rewards in two days
from like the general
so you actually had a supercool
backstory for what inspired this project
do you want to talk about that a little
bit yeah sure
so it was like 2016 in Pokemon go was
pretty big and I didn't have a phone at
the time and so I was kind of missing
out but seeing all of my friends who
would get incentivize just through
playing a game like normally people who
would just be inside all the time get
distracted because they're focused on
the game and not realize they were
walking for miles and kind of like
getting pretty good exercise
so I took my habits at the time and I
tried to gamify them through a system of
really messy Excel sheets the excel
sheets sure I can again yeah so
initially it was all just tracked in
Excel and then it got moved to Google
sheets because I had some friends
waiting in this world without gave it
some colors gave it some fancy fonts but
the old idea was to track my habits give
them a system of points that I could
then use sorts of rewards that I built
for myself problem was I was pretty much
the only person who could use it without
breaking it my friends wanted to use it
I try and copy it over to them and then
like something in the copying pasting
just constantly broke things it was just
never it was never easy but it worked
really well for me so I knew coming into
cs50 that this is something that I'd
really want to do someday when I
actually knew how to make a website yeah
so how does it feel now at the end of
this course you know it's a hard class
for a lot of people
come in with a lot of CS experience or a
little bit how does it feel now at the
end to have this like great working
website and the Excel spreadsheet open
literally next to it yeah it's I mean
it's a huge kind of like eye opener of
how much you can really get in one
semester I came in kind of in the
in-between category there were some
parts of CS that I knew a little bit
about and most of it that I knew nothing
at all but I just kind of really focused
on the things that I knew I'd want to be
using later on and just found like kind
of my niche within the CS past which was
like Python and Django Web building yeah
so one of my favorite things about this
when I first saw it was how much like
thought and creative effort Dylan put
into this you want to have pull up and
they were the challenges or the class
okay yeah so the task challenges inquest
again like the the things that you kind
of do in the game I have about 600
pre-entered ones that you can kind of
choose from everything from like
performing songs and poems to working on
martial arts and these are just like
your different day-to-day things you
also have the challenges which are like
the the bigger ones they can be like
beating your personal records in
different sports trying being vegetarian
I actually started being a vegetarian
because of the habit sheet and I'm still
a vegetarian like two and a half years
later yeah so that and then quests are
like yeah this big bucket list items
places you can visit our kind of life
events but if you don't find one in the
600 ish options to choose from you can
always input your own like make
something custom and personal for you
and it just gives you something to
really work for but also like seeing all
of the options it gives you ideas for
things that you've wanted to try maybe
like ceramics that you hadn't really
before I was always kind of in the back
here mine but you can kind of add it to
your list in a sense of giving you
something to focus on and that you want
to be working on right now and once
you've added it you can go and mark that
you've completed it earn the points and
then use those points towards the
rewards that you set for yourself
okay so last big question that I thought
this was super cool yeah so the name I
was really big into Greek mythology when
I was younger and it was something I
don't remember where I read about this
theory that the Greek gods actually just
started off as normal people right like
they were people who kind of yeah
Athena yeah so they start off as normal
people who were in one particular area
just became really well-known and I kind
of liked the idea that it was a normal
person doing something epic that'd be
kind of became a legend and so with the
system of skills like the idea is that
if you a one of these people would be
like somebody with level 99 of one of
these skills and so as you progress
through the game and you unlock titles
and the different accolades that you can
get there's like more and more insisted
Greek mythology Wow so good decision
taking cs50 that's great so before we
wrap up any last thoughts comment like
things that were particularly exciting
well one of the things that I liked
about this was once I started working on
it I got to see and also through the
course in general how much I could
actually do so something I couldn't
integrate right now was a system of kind
of alerting you based on the patterns
and trends of your behavior so like
let's say I tend to get ice cream every
time I put a lot of academic work in
which I might be doing tomorrow
it can if you're tracking all of your
behaviors in this which it is it should
be able to scan over it and look for
patterns in that so let's say I'm
entering in a bunch of academic related
tasks one week I get a notification that
says hey you tend to get ice cream after
this but you said you don't want to do
that anymore here's a reminder why no
more ice cream yeah you said you didn't
want to do it so this is like just a way
of kind of keeping us from getting
really mindless about the things that we
do and our bad habits tend to not be
things that we want to do but things we
do without thinking about it and that's
kind of could potentially be a way of
around around so I mean the spreadsheet
was pretty cool too but it was just uh
Nicole new level but thank you so much
for talking to us was a great project my
name is Athena and this is cs50
okay that was super cool I am the
biggest fan of mindfulness and actually
I thought about being a vegetarian quite
a few times
Colton do many thoughts on that okay
he's a little quieter right now but the
sugar um I've got to say yeah I think
just plants aren't really my thing I
think I'm around there yeah but now I'm
just kidding I'm just kidding I know but
it's really great I love spreadsheets
love that excel stuff it's so important
to be very mindful always and now let's
head over to the field where Nick is
gonna show us the next super duper super
cool project I think it's gonna be
really really amazing ok and I'm that's
it let's go to it awesome awesome so
this is Nick and we're here with Leo
Jalen and Neil and they built this
really cool app that is called run
anywhere and allows us to kind of see
also two routes and things but I don't
know they're absolutely well they'll
tell you all sorts of things about it so
Neil why did you guys build a running
app it's just kind of funny actually
Leo and I talked about running a little
bit but during our pre-orientation
program the first time that I met Jalen
was when the three of us went on a run
together first day in school
and so we all obviously like running
just fine and we want to find places to
run around Cambridge so okay would you
mind showing us a little bit about how
your app actually works so
click enter here and run anywhere uses
Chavez API to come up with nearby
running segments through the user Java
allows users to record their own running
routes or record data about their run
and it also allows them to upload
segments and it tracks how popular
different segments are based on how
often other users run on them the app
gets nearby segments and then allows
users to go through them and like to say
select individual segments and come up
with novel permutations of them that
they'd like to go on a run on so for
example let's say you would want to go
for a run on the river you can click on
like let's see Mount Auburn turnaround
looks interesting cambridge common also
looks interesting we can add both of
these to our route builder and then we
can initialize a custom route and then
what we can also do is we can save this
route for later use if we log in first
and then be able to take a look at this
later it also allows us to go anywhere
we want to start for example where do
you go to high school so we can look up
sandy and it'll help us will show us
some whenever that's in your San Diego
so let's say you know maybe going back
home you used to know what about two
really popular and now you want to kind
of see what people are running these
dates in San Diego kind of string
together different running routes that
are in any good any a different area and
create something that you would want to
go for a run on ok he told me a little
bit about some of the like greatest
difficulties or challenges you faced
when you guys were building this app I'd
imagine there are a few yeah so we have
a lot of moving parts in our web
application yeah that's true but yeah
we've the map and also the data table
and getting those parts that kind of
interact took a lot of hard work and a
small like hiccup and one part of the
program could create like big
difficulties in all over the program so
yeah ok very cool so you guys feel like
cs50 prepared you pretty well for
building something like this yeah I'm
just kind of unanimously that Wow oh
that's awesome alright
in JavaScript actually which was
language that cs50 doesn't cover so much
but true C really does give you a lot of
the building blocks and that we needed
to kind of help I guess teach ourselves
the ways in which we could incorporate
I'm stuff like Chavez's API like Matt
box into a flask web application which
is taught by cs50 wow that was a lot of
jargon right there so I think you guys
know a lot more than you think you do
awesome thank you so much for sharing
this all with us we really appreciate it
always cool to see cool projects my name
is Nick and this is cs50
there that was pretty cool so cool how
often do you go on runs well I think
I've run all the time actually marathan
trainer lot of wait okay has he been
jogging so much yeah really making great
use of that project okay honey any
particular running routes that yeah yeah
I like to run round this route called
the Python routes it's it's kind of a
c-shape but it's different you just why
is it gotta see the see running route
then I'm not sure anyway time for more
exciting projects why don't you tell us
about what's next oh yeah okay it seems
like we actually maybe have a very
exciting project why don't we go there
now alright we'll pass it straight over
let's go very excited
hi everyone my name is Amy I'm a
teaching fellow here at Harvard and
today here here with Jackson because
super cool cs50 project do you want to
talk about introduce yourself let me
talk about what your project is
absolutely hi everyone I'm Jackson I'm a
student at the Graduate School of Design
here at Harvard my program is called the
master of design studies and I have a
concentration in technology so what we
have here is a web app that allows users
to input a keyword and then start a
Twitter stream we filter the street the
stream of all possible tweets down to
those from the continental United States
and then we check each tweet to see if
it comes from a city with population
over 50,000 according to the 2016 census
so if it does have population over
50,000 we classify that as urban
otherwise we classify it as a rural
tweet it's a bit of a rough threshold
but for this purposes it should be okay
so once we have the urban and the rural
datasets we perform sentiment analysis
on each method since um I'm sorry
sentiment analysis on each tweet symptom
and analysis is a form of natural
language processing where each word and
the message is analyzed for
psychological valence in other words how
happy or angry it might be so each tweet
gets a cumulative sentiment score and
then the sentiment scores are compiled
and averaged for each data set for urban
and rural so you can compare the average
urban sentiment versus the average rural
sentiment for a given keyword each tweet
is plotted with latitude and longitude
on the map and we have some charts here
like a little pie chart and a line chart
which shows the ten most recent tweets
and their scores
well okay what was your inspiration
behind this project what made you want
to create it in the first place so the
idea for this project first occurred to
me when I was applying to the Graduate
School of Design last year this is my
first semester my background is actually
a little unorthodox my background is in
fine art specifically oil painting and
for my application to the Graduate
School of Design I needed an idea that
had something to do with the built
environment or mapping or geography the
sentiment analysis component I feel like
I owe that to my fascination with
subjectivity which is a bit more of a
fine arts perspective on things
so I like it when you can incorporate
both in a single project you know some
hard science some hard data some
computer science and programming with a
bit of subjectivity and emotion I feel
like that always makes for a really
interesting project well have you been
enjoying your time in cs50 so far what
would you say is like the best part or
your favorite part of this course Wow
I think my favorite part of the course
was learning see I've done a lot of
front-end development a lot of
JavaScript I've never done anything like
C so once we started allocating memory
and dealing with floating-point numbers
I knew I was in over my head and that's
exactly what I wanted you know I had my
his funding skill set is self-taught so
I wanted that classical education to
fill in the gaps and cs50 exceeded my
expectations in every way it's really
challenging class even if you have some
experience so start start your piece
that's early and yeah have fun well
thanks so much for joining us today
Jackson and this is cs50
that's pretty cool
that's pretty cool um I don't know about
you but I think sometimes reading what
people are saying is quite hard right
like so you know someone sends me a text
for instance and it's not always super
clear whether it's more of like a
negative or a positive so I think
something like this sort of software
that could analyze the sentiment of some
written words would be quite useful
definitely something to be said about
the ambiguity of like written
communication like you don't know what
this one's being passive-aggressive or
whether they're being happy just
aggressive they're just aggressive it's
difficult to ascertain sometimes I feel
like because texting is gonna be limited
that's thankfully why we have things
like emojis yeah cs50 is decorated too
extensively oh my god balloons they're
so fun but it looks like we have a new
project we're gonna demonstrate right
now yeah okay it's project called
contact and it's gonna allow sharing
contact sharing contact info via QR
codes contact info exciting hi there I'm
Athena I'm here with Ronan and Zach they
have a really cool app that they built
actually yeah you know when I walked
over here Rohan goes Zach has a really
great pitch so why don't you give us
that really great pitch absolutely so if
you know we just met hypothetically
hypothetically you want to exchange
contact information I know it seems like
we should and so we've got one of two
options today right
I can either hand you over my phone
maybe you run off with it you seem
trustworthy enough but like I have been
known to run off with a few phones yeah
so that feels a bit a bit dangerous
second option is I can try to dictate
your information like they said Athena
with two weeks or four I would have got
it wrong so we're trying to solve that
issue and what we did was we created an
app using iOS as though it's an app that
when I click present it shows a custom
QR code and then Rowan
yeah so now all I gotta do is click scan
and I can scan his QR code and download
his contact information so yeah now his
contact information is saved in my phone
Wow so iOS apps actually tend to be on
the like more difficult end of projects
and you guys went ahead and did this
were you working in Swift objective-c
what are the sort of decisions you guys
made when choosing one versus the other
so we chose Swift just because we were
somewhat familiar with Xcode like I've
messed around and x-head a little bit
and but it was definitely a challenge
because the biggest thing that we
noticed was for a swift application to
work it has to work on every single iOS
device so constraining the UI and making
sure that everything looks good on
different devices was pretty tough I'm
one of these people who like never
updates my iOS so it's always really sad
when things don't work but okay so
that's really cool so what was you know
other than just like the challenge of
working with clips what was here what
were some of the challenges you guys
write in through in the project so we
leveraged a lot of existing libraries
that exist inside Apple and Swift so the
contacts allow us to save natively the
QR reading and generating and so
therefore there's a lot of time to
understand the object-oriented way that
they present that information and also
understand some of the principles around
optional and forced unwrapping that's
specific to Swift that previously
developing in C or Python we weren't
necessarily formally exposed to
some accept so is there anything in the
class but actually ended up being really
helpful really inspiring when it came to
working with this project maybe a pset
or a lecture well I would say the take
home final was actually the biggest
thing because since there wasn't so much
specific material aid to Swift but in
cs50 a lot of the problems actually
encouraged to kind of Google and find
things for yourself
so I develop that skill a lot and C's 50
and a five here for sure that's a big
one for Jeff you guys ever do something
industry I also just think that
hackathon like we went to hackathon we
got there at 7 p.m. we stayed to 5 a.m.
no we went home I think pset to do I
would just leave I believe but I'm sure
I have was amazing but no it was really
great to have that 10 hours is working
together and there is many people on
cs50 staff who are helpful as we were
trying to troubleshoot some more
pre-cooler Swift issues we were facing
pretty pretty early on here from the law
school you're an undergrad like how did
this happen so we just sat down next to
each other the first day of section and
became friends do that and then worked
on the project together yeah so yeah I
see it's 50 bodies together a cs50
making fun making connections did you
make like any other good friends and
cs50 people you'll let me take other
classes with work with in the future I
definitely connected with my TF Jason
Wang was a great TF so yeah I liked
talking to him he's actually my year
very cool all right so friends I really
just it's quality over quantity I always
said I think the bigger problem is that
you had no way of getting people
contacted yeah exactly now it's safe
it's like I was gonna have my photos you
guys were working you know maybe like
middle of the hackathon you've been
working on this bug for five hours
nothing is working and you like it quits
and it works I say the first time that
we like actually scanned the QR code and
then saw that QR code in our context
that was the best so that was very much
an aha moment happened around 4:00 a.m.
at the hackathon
I think there was also a moment we were
trying to save information persistently
into storage and literally like we
worked on it I work time for like 3 to 5
a.m. and at some point we're just like
you know what like let's just set this
down and pick up the next day and we've
been like 30 or 45 minutes with a fresh
mind the next day it worked and it was
awesome so before we wrap up any like
sauce on the class your experience
you're spending now I thought there it's
like culmination of this really big
actually very complex class he's you
know people come to this from having a
lot of Stan's background having no CS
background like what is that feeling
like standing here now
I mean take this class definitely take
this class I'd say like you learn so
much and in such a short amount of time
it's time incredible so I just like
reflecting on how much I feel like I've
learned and like how much help I got
along the way like I'm very grateful I
made this decision to take the class and
I think likewise obviously coming from a
bit of a different background I really
encourage grad students to take the
class as well I think you can learn a
lot and I also think it's a really
interesting opportunity to be part of
something that's really iconic to like
the Harvard College experience which is
cs50 thank you both so much for taking
the time to talk to us super cool app I
hope like end up on the App Store
sometime soon my name is Athena and this
was cs50 awesome so I thought that app
was really cool because rather than have
to manually enter someone's name or
contact make sure you can just scan a
code which you know takes a second and
the deed is done right the deed yep I
think yeah always great to get other
people's contact info and also funny
cs50 brought us together it did it okay
but actually now let's go to Andrew with
our next project which is called factly
I'm sure it's gonna be SuperDuper cool I
can't wait to see it
hey I'm Andrew Zukerman and I'm at EF
for cs50
I'm here with Grace who has an amazing
project it's called backlink and I want
to talk about it right now
so yeah why don't you tell us about
backlink and just walk us through the
mechanics of it and then we can talk
more about why you started this yeah as
you may have heard on fake news or more
formally known as information disorder
is a huge problem in the US and globally
today so I wanted to create a
fact-checking website that made the
fact-checking process faster easier and
just overall a better experience
so with factly basically all you have to
enter is one of three pieces of
information a URL of any article you
find online any text posts you find on
Facebook or any meme or image you find
on Facebook and will return to you a
fact check from PolitiFact if one exists
so for example I'll demo this with
this mean here on Facebook and you might
see this and think hopefully you don't
follow these pages on Facebook but if
you did or you know someone who does and
they see this and they're questioning if
that information that it's that's inside
of this meme is accurate all they have
to do is copy the URL and then paste it
into the appropriate box in fact link
and then press submit and wait a few
seconds and as you can see here we're
returned that according to PolitiFact
what we were reading was mostly false
and then we also have the link that we
can visit on PolitiFact's website to
find out more information about this
topic and learn why it's mostly false
yeah that is amazing so I heard from
someone that this is your first computer
science class at Harvard did you think
this is a challenging project or you
enjoyed it yeah yeah so it was
definitely a challenge and if I had if
you had told me that when I started this
course I would be able to make it I
definitely would have believed you
because I definitely was you know I was
among those less comfortable in the
beginning so it took a while to learn
but I just had so much fun doing the
research for this and there's so much
you can find online when trying to learn
new skills in CS that it was actually a
fun project to me at all and it seems a
little complicated because some of those
links you could have text and other
links you have an image on Facebook so
how do you deal with those differently
yeah so basically I'm depending on what
you enter so a URL of an article a
Facebook text post or a on Facebook mean
there's like three different functions
that my program would call so like for
the mean when there's a text on an image
it uses this library called PI tesseract
that like extracts a text from the image
and then I clean it up a little bit and
send it to PolitiFact but if you enter a
URL from an article I use the newspaper
3k library to pull the title of that
article which I use as it's clean and
then I send that to PolitiFact so
there's three different processes going
on okay awesome and I think some titles
could probably be super long some could
be really short do you send the whole
title into your program or you only look
at part of it yes so for if you enter
the URL of an article it sends the
entire title to PolitiFact but if you
enter a Facebook post or the URL to a
Facebook post or I mean I have to clean
that up a little bit for example I wrote
a reg X equation to remove emojis from
the post Facebook post because those can
mess up things very easily so and then I
for the image extract for text
extraction with images sometimes you can
get little get brush words put in there
because it's not perfect so I I removed
those words and I then I used a
frequency distribution to take the most
common words that are in the posts and
search those and PolitiFact so like
there's kind of three different things
going on yeah there's a lot of moving
parts but it's super impressive have you
tested this out on different titles and
what have you found
yes I have tested a lot of different
things on this to try to get the most
accurate results and I found that it has
pretty good success out of something
existing PolitiFact it will find it so
if you have a mean that polar fact has
debunked and you entered the URL that
mean it will do it will return that
information for you but it's not perfect
and I would definitely like to play
around with this further and see what I
can do
cool yeah this is amazing and so now
that you completed this do you think
you're going to do more computer science
in the future at Harvard or yeah I'm
definitely been considering it and
actually this project it's kind of made
me consider it the most because I'd like
learned so much from it I've learned
that like even though I had no
experience going into it and we didn't
talk about like web scraping and stuff
in class you can still kind of learn it
on your own so there's definitely a
possibility to go further so I'm
definitely considering taking a more CS
classes okay yeah that's great thank you
so much for showing us this project it
was awesome
I'm happy you are all watching and
thanks so much this is cs50
so I thought that project was super cool
you know being able to add a glance see
something on your Facebook feed is true
or not regardless of what your political
affiliation might be it's important to
obviously know you know what things are
true and what things are not yeah I
agree I mean how did you feel about it
yeah like I don't know I generally and
I'm reading news articles I try to make
sure that these sources are reliable try
to get different political perspectives
so I think you know a tool that sort of
meat you know sorting through everything
and trying to like you know weed out the
fake news seems really really useful
yeah absolutely
and how do you feel about the vibe so
far here that there oh my gosh it's so
busy
um we really have like tons of people
the photo booth but doc is getting so
much action you know eating tons of
popcorn you inflated the deficit I
didn't plate the dog I invited the dice
this important job it was the most
important job which is why they gave it
to me I know just a little machine that
inflates it for me but I did that I get
it
I think somebody we actually have the
twitch app running now on twitch TV
which we've been looking at occasionally
I think some interesting things about I
bet everyone's like no I think JP guy
said make a quick cameo on the stream
maybe he's referring to the duck oh he
or she assumed it's a he okay oh we can
maybe get a duck up here yeah live duck
a mallard I have amazing eyebrows by
other ways amazing job I think
appreciate actually in the past week
I've gotten like three compliments on my
eyebrows so I don't know what's going on
with that I guess it's a I guess it's
just a trend but yeah thanks so much for
everyone who's tuning in this has been
an awesome fare so far I'm very pleased
nice venue
oh it's oh I think we needed a venue
that was this much bigger because we
have so many more people this year which
is so exciting
it's like tons of students tons of
people just sort of from the community
gathering together here in Smith Campus
Center and nicely it's in the middle of
Harvard Square too which is awesome but
I think we have another interview set up
and our interview wonderful so Emma's
gonna kick us off with a app called cash
- and this looks like a personal finance
toolbox
exciting it away
hi my name is Emma Humphrey this is
Chris Michael Eric and their project
cash - so they're gonna tell you a
little bit about how it works yes so for
our cs50 final projects we made an iOS
app called cash - which helps users
learn a little bit more about personal
finance so I'll show you that right now
this is our home screen let's get
started
and the three of us made five components
together a dictionary a daily report a
curriculum a financial calculator and a
budget so first start of the dictionary
if you want to learn a little bit more
about terms that you maybe don't know
about you click on search terms and
phrases and then this gives you a bunch
of different terms that you can look up
and if you want to learn the definition
just click on it and there it is yeah
you can also favorite terms and if you
want to see your favorited just go over
to the favor two tabs and there they are
it's also searchable next we have the
daily report where you can get a little
bit more about the new newest news in a
personal finance so this gets a headline
from Bloomberg and performance to the
lead of the top three stock indices
great so the third component of our app
is something called learn on your own
which is basically a financial personal
financial curriculum that we design
based off of information that we pull
from different websites like CNN Money
and better money habits from Bank of
America after the welcome screen you can
click Next there are ten separate
subjects including credit budgeting etc
if you click on one of them it will
display all the information you could
possibly ever want to know about that
subject and then if we go back to the
main menu screen there's also something
that we have which is called a budget
calculator within this budget you can
input different income for example
regular take-home pay dividends interest
stock etc and then you can calculate the
total income that you get and that comes
up right there if we click the next
screen you can it takes us to it
expenses it divides it into flexible
expenses and variable expenses so for
example telephone TV internet utilities
food and groceries and on the bottom you
can see there are funds available as
well as total expenses without so that
will tell you how many expenses that
you've you've incurred as well as how
much funds you have left to spend
finally on the last screen you just have
a summary of the budget so you have 50
dollars in total income sixty dollars in
expenses and negative ten dollars in
your savings
yeah so for the final part of our
application we have a comprehensive
financial calculator that lets you
calculate things like interest rates
your cash flow your annuity value and
you leverage so let's say we want to
calculate simple interest we can just
fill out these three forms with our
principal our interest rate and the
number of periods that pass and this
will give us a quick calculation of the
interest will accrue on this principle
and if we want an explanation of how we
got to that value you can just click
explain it'll give you a quick
explanation of our formula how to use it
and what it's best for and we have that
for six different kinds of calculators
and that's our financial calculator yes
that's a rough so what's the deal are
you all obsessed with xny did you make a
financial helper at all well all three
of us are really interested in finance
and we felt like in the world of finance
there's a pretty steep learning curve
there's a bit of an entryway to getting
into the world of finance there are a
lot of people who want to get into
finance but they can't because they
don't have the basic knowledge so we
wanted to make a really user-friendly
duolingo esque app that taught all of
these concepts in a nice way
so what was the hardest thing to
implement and what would your ultimate
goal be for where you want to take the
project perhaps after the fair for most
of the project I think the three of us
worked independently so we all had our
own challenges for instance I had a hard
time saving the users favorited data
like saving saving the favorited terms
that they wanted to keep track of but
then collectively I think the problem
that we spent the most time in was
merging our projects together so after
we'd spent like all these hours
developing our own projects we had to
put them into one cohesive unit and that
took a lot of time also none of us have
ever coded and Swift before so that was
I was a big learning experience all
three of us learn how to code in Swift
learning the different technical details
that come with coding in a new language
it was it really important to that it
was a mobile application something that
people would be able to use more readily
yeah so for example we mentioned better
money habits was just kind of a personal
financial literacy website that Bank of
America hosts we thought that the app
would want to give access to a lot more
users and to really condense a lot of
this information that you'd have to go
to multiple websites - it's a one
cohesive app that's one free and two is
really really easy
great thank you so much guys thanks real
estate this is cs50
so you're gonna talk finance now a
little bit something feels different by
the way I
yeah Veronica no I was gonna saying you
really I think you look gorgeous
I've been falling in love with you
over the course of the past hour
efficient the cs50 yeah how do you how
do you do you manage all your finances a
lot do you I do I do
so I actually have a 20 year financial
plan not kidding Wow yeah you know I
love planning and finance is so
interesting do you keep up with the
stock market mine I don't it's something
I've been wanting to get into I know we
want to both we wanna I know we've
talked about Bitcoin how are both
excited to sort of jump into that world
or jump out I'm well I'm not sure I'm
not sure I'd be interested to learn more
about it I think Nick wants do a stream
on Bitcoin which I would really like to
do with me yeah you wanna okay okay
awesome great I'm excited for that I've
lost track of who I am now you have a
favorite currency favorite currency
probably the US dollar I don't see I
don't know it's eccentric I don't know
about very many other currencies if I'm
being honest I know this I know this in
Bob way dollars probably not though or
is it the Nigerian or the Zimbabwe wants
like a hundred trillion dollar bill they
have one of those it's pretty cool I'm
not sure I think it's in my way but I'm
yeah I'm pretty sure it's in my way
yeah I know I think I like the Argentine
peso but that's just like I think it's a
good start like an objective thing what
is that what's the peso relative to the
US dollar that's the only frame of
reference today she's not doing so great
right now
is it different from the Mexican peso
like do they are they interchangeable
I know a different country but I think
but can you use them in other country no
okay there's haven't had the same name
yes why actually it's funny you bring
that up they're actually tons of
different pesos like the Uruguayan base
although I think
they saw ours in time Bissell like I
think they saw sort of like I don't know
if there's an equivalent and whatever
but like Canadian dollars yeah right so
US dollars Canadian dollars so just
saying dollars is and so I'm actually
ignorant whether we can we know we're
not allowed to use dollars Canadian
dollars in United States I'm guessing
probably not and by maybe in some of the
northern states but as far as I know not
typically accepted currency honestly
something I'm completely ignorant about
so I you know T I oh I guess what's T on
today I learned so if you a new piece of
information new facts
oh hey there we go so do touch TL - I
sometimes do and actually David known as
the master Jedi on Twitch is is a
responsible for teaching me that phrase
but it looks like we have a new
interview actually oh that's exciting
okay Andy it's gonna talk to us about
something that helps coaches o build
rosters for Ivy League track and field
championships and that's super exciting
Kevin if you run a lot but I'm let's run
to them right now
welcome back my name is Andy Chen and
I'm here with Jacob Ollie Wertheimer and
I'm Nicole Trenchard and thank you so
much for being here with us today
could you tell me a little bit about
your cs50 final project absolutely so we
built a tool for coaches to help build a
championship roster for the Ivy League
track and field championships awesome
right so how does it work how does it
look and what was the inspiration for
your project yeah so basically if you
look at our project here's the homepage
and you kind of have like a basic
carousel just sliding through some
images sure it's just kind of a basic
presentation those are great which one
of those is you so at the top you have
like just a basic navbar they'll extend
onto all of our pages okay and with it
has a home button to just kind of get
back to the home page whenever you need
it if you want you can go here and view
the results from last year's Ivy League
championships
Wow you can view any of the rosters sort
of by men or women's team
select pick let's pick the Harvard
University women's team sure and here
you can see every athlete that's on the
team the events that they do and where
they rank in the Ivy League in that
event people are going to appear
multiple times because someone like
Gabby Thomas for example it's awesome
100-meter 200-meter long jump class you
have to appear multiple times anything
to scroll down and you'll see the entire
roster relay teams where the relay teams
rank and then if you go back you can
search for a specific athlete for
example if I type in right
so this is all real data right yes yeah
so really the two and the motivation for
our project as you can see on this
viewer roster page there are a lot of
athletes that do multiple events and
they're projected to score different
amounts and it's really challenging as a
coach to figure out which athletes are
gonna be on your championship roster
because you can't bring everyone and
what athletes are gonna do which event
right because if I did four events how
would you choose which one I was most
likely to score in right and so we have
all real data from what's called
Kieffer's which is a website with track
and field results and so what we did is
we work directly with our coaches and
said hey what do you want to know when
you're choosing your roster what's
important and what's not important so we
built this with our coaches in mind with
the idea that it would simplify and
objectify a bit the actual shooting
process and because not everyone can be
on the championship team awesome and so
to follow up on that I think the
implication therein is both of you are
athletes here at Harvard yes that's
awesome
it's how big of a sort of functionality
would you say that this is an issue that
coaches are currently facing a lot and
this this kind of web application would
provide a lot of help with that
definitely we spoke to coaches and every
coaches had their different methodology
do you want to talk a little bit about
that yeah so every coach kind of had a
different philosophy on how they decided
to pick their athletes some coaches were
just you know if you don't PR every meet
you or not it's not a good day some
coaches would say well how has the
athlete been feeling health-wise how is
their technique looking this an
improvement from last meet and not
really focusing too much on the specific
number whereas some coaches like well if
you're within this range considering
this specific approach that you took and
it was good
so they're kind of a lot of different
ideologies and when it comes down to
picking a hep steam approaches have to
make a lot of tough decisions without a
lot of concrete things and data to go
off of and this was fo yeah our goal was
to kind of simplify that process a bit
and make things a little bit easier and
a little bit more presentable for
coaches to ya to know that this is a
tool that all of our coaches had access
to because some of our coaches built
these wild spreadsheets that had
hundreds of times but all sorts of
craziness and some coaches which we know
we didn't do that but as an athlete it
sort of felt like they close their eyes
and said you yeah this is a tool for
coaches but also a comfort for athletes
like this is a tool that they know their
coaches a lot of access to so that if
they work hard and they have the
potential to score it they have a fair
shot at going to awesome it's I did you
get a chance to or I guess like a
student athletes ourselves how do you
feel from the student perspective how
what kind of impact you think this this
project has for student athletes on the
student side I guess we could consider
that ourselves I think that I think to
some extent it will maybe remove any or
help to remove whatever since you may
have of like darn coach didn't pick me
because he doesn't like me whether or
not that's actually the case our goal is
to kind of make that process a little
bit more objective and a little bit less
subjective so that we have a little more
so that the act of picking a team is
more that's reason based and more
transparent so the athletes and the
coaches both have a better understanding
of why they made the decision that they
did and for me as someone I do multiple
events and I know that I need to score a
certain number of points of this to help
out the team and I need to score a
certain number of points in my other
event but if my first event doesn't go
great I know know exactly how many
points I sort of owe to my team and
maybe I'm gonna throw a little bit
further or jump a little bit higher
because I know sort of what is expected
of me right instead of this amorphous
like do a great job you know make sure
you jump a personal best because that's
a lot of pressure on an athlete
so having really clear expectations sort
of your coach selected you because they
thought you're going to score seven
points
feels a whole lot better than coach
wants you to do everything perfectly
so that was really comforting for me
awesome so I hope to be able to see this
on the new Harvard team websites that
Coach is using that I guess if we were
to make a little bit of a transition how
what did you think the cs50 was because
it's there's sort of this mysterious
aura to the ideas here city as a class
and I was wondering if you guys could
talk about how you felt before taking
the class and now that you're virtually
done with the class yeah so for me
personally I thought this was this
course is really just gonna be more like
focused more on like what specific
functions do rather than actually
implementing them and getting to play
with them right right because like
instead everything is like never gonna
teach you these things but you're
actually gonna use them in every sense
but I think even though that was really
difficult kind of going along with the
process yeah by the end of it I kind of
just was going through this project and
I was like like wow like I really kind
of understand a lot of this stuff that I
had no clue before and even so it's like
I look at another website like I kind of
understand what's going on here
sure and I could kind of understand like
how to do what I would want the website
to do right more like what I want it to
do rather than just being like I don't
know just doesn't thing yeah or as David
likes to say understanding what's
happening under the hood yeah exactly
that's the thing that was most rewarding
for me is a lot of our website is data
scraping using a tool called
beautifulsoup which I had never heard of
before we proposed our cs50 final
project but somehow along the way I had
learned enough to learn something new
incredible really awesome you know I
could use inspect mode and Google Chrome
and look at a website and say okay I can
scrape it using this and that was Wow
not where I started and I you know first
enrolled in this Bob incredible twelve
weeks ago did you have any idea that
you'd be able to make your own website
like this yeah definitely not like the
beginning of this semester like when
you're just like using C yeah it really
gave me a lot of trouble
I'm still would give me a lot of trouble
like just kind of figuring out like I
just didn't really see no pun intended
um like where any of this was going
because it was just like okay like I
printed blocks that kind of looked like
Mario and they're hashtags but like just
kind of the progression of everything
and like you see how everything was
connected from week one until the end
and like I mean those fundamentals yeah
it's just kind of crazy for me to see
like anything and just be like wow like
I'm kind of capable of doing this yeah
and now you can and you have do you
think that you're gonna do anything more
computer science E or potentially take
more CS classes in the future I know I
so as somebody who's one of my
concentrations is in statistics okay
sure and I'm very interested in like
sports analytics and also just kind of
pouring into data in general so I'm
probably gonna end up taking data
science CS 109 right yeah so I'll
probably have to take that and then
there's been other CS classes that I'd
consider it as well I'm sure they call
ya so I'm a mechanical engineering
concentrator and well I might not take
more CS classes I now know I don't have
to shy away from thesis topics that
involve computer science which is
awesome really comforting for me so I'm
getting ready to think okay what do I
want my mechanical engineering senior
thesis to be which is usually this big
crazy project and now I know I can learn
what I need to learn just like we did
with this project so I have a lot more
options with my thesis that's amazing I
think one of the big takeaways for a lot
of CS who these students is removing the
fear of like computer science being a
scary topic and being able to teach
learning how to teach yourself to do
computer science and so thank you so
much for being with us here today this
is cs50
well I would definitely use that if I
were my god oh my god did you play any
sports in school not sure all of them I
did a little bit of golf when I was a
kid but I don't know if you can't
consider that really a sport probably
it's more of a game it's a sport if
that's where you walk a lot people
always say burn so many calories playing
golf yeah that's actually probably the
sport I would have guessed that you had
done in Heisman I wonder who yeah all
right so it looks like we have another
field interview actually all set up
tonight Nick's in the field is gonna
show us an app about discovering
exoplanets in the universe and
appropriately this is another one using
machine learning so check this one out
let's do it awesome hello this is nick
and i am here with zeal and jax and
their awesome project on exoplanets and
machine learning which sound very fancy
deal would you mind telling me a little
bit about what your project does yeah
absolutely i'm so we were interested in
using machine learning other algorithms
to try and find exoplanets in space
right now so currently in the world
there's two major satellites that are
doing it right now
there's tests and there's Kepler by NASA
um so how we currently find them in the
world is that when a planet orbits in
front of its mother's star in a distant
galaxy far away that planet will cause a
dip in the light as you can see in this
graph and that dip in light is what's
called the transit and if it's occurring
frequently enough if it's periodic
enough over time see like if the planets
transit was happening every four days
then astronomers can conclude that this
is happening because a planets orbiting
in front of the star and not due to any
instrumentation air and such like that
also we wanted to try and discover and
classify those transits was whether if
they were EXO planet transits or not
exoplanet transit so we created a CN n
which is a type of neural network a
machine learning algorithm and trained
it off of a massive cluster of data from
Kepler so we had unconfirmed exoplanets
which we can see here through all of
these periodic dips and then we also had
non confirmed exoplanets on the bottom
right here which are due to asteroids
passing by or comet
and then we took all of this data and we
ran it through our machine learning
algorithm and we were able to predict
whether it's an exoplanet or not with an
80% accuracy and Jackson can tell you
more about that actually machine
learning is a really broad platform
Jackson would you mind telling us a
little bit about the platform underneath
what tools did you use where some may be
bugs you encounter yeah sure so this was
run we just ran it on a couple of Python
files you seen Kerris which is built on
tin to flow if anyone's going to here
with that so basically what I did was I
built a two layer convolutional neural
network which is basically a specified
type of neural network for image
classification it's especially good at
that okay so basically for anyone not
familiar with it basically what this is
doing is we're taking what I like to
call like small little windows of the
image we're looking at maybe like for me
it was a three by three little window
and we're going through every single
window in that image and we're looking
for certain patterns so for me I did a
500 by 500 grayscale image so that way
it's black and white so we're looking
for certain little patterns within the
image and then that's the convolution
layer and then we add a pool a pool
alaior on top of that so that's like
we'll take the 500 by 500 image and make
it 250 by 250 that way we kind of put
the most important which we model the
most simple like humans we look for the
most important features not the fine
details so that's exactly what we're
doing here and then we do that one more
time and we flatten it out in the one
dimension and then we send that to two
neurons two final neurons on the inside
classifying as yes is this a light curve
and no this is not a light curve and
like Steele said we're doing that with
about 88 to 90 percent accuracy the only
caveat was we wish we'd have had a
little bit more time that compiled more
photos I always could do more with
machine learning of course right so
really we'd be looking to get thousands
or so for like an industry standard but
this is only about 100 or so we're doing
a train test split of about 28% to
model for overfitting as much as
possible keep getting it away so we're
doing about 70 training and 30 testing
yeah
fantastic so I don't really remember the
machine learning piece set in cs50
actually so do you guys mind telling me
you know how did the skills you learn in
cs50 kind of translate well sure did you
guys take cs50 a machine so I would say
a bit of a sign though the inspiration
was just like you know we were in the
same dorm met up there anyplace like oh
yeah a lot of same interests oh yeah so
we met we both an interesting like
machine learning that's our stuff and
then as cs50 final project closer we're
like hey why do we do like why we do
this project so what was your initial
question again I'm sorry basically how
did you feel cs50 prep - for it yes so
the hardest part of this was just like
not to see like getting like compile
time errors like syntax errors or
anything like I have a site learning how
to use the Canaris module it's been a
while since I used Kerris i tinker with
it in like 11th grade but I was like the
most I've ever done with it so it was
just kind of reading through the
documentation which cs50 has certainly
prepared before this been about 10 to 11
weeks straight of that now so reading
through that just kind of figure out
what everything does and whenever
whenever the the main problem I have
with the project was when we were
training it the loss at the beginning
within the first two or three ebook
epics was just like diverging insanely
it's like loss on the person who gets
mine basically lost the first tip I was
like 0.8 and then on the second one was
like 6 so we had a decrease in learning
rate make it learn slower thanks I like
to think it was like you're from
December trying to find the valley and
you're trying to jump you're jumping
over the valley too fast
so decrease our learning rate you're
taking baby steps and set up huge leaps
train slower but you get it done yeah
thank you for sharing yeah I think you
guys projects is really cool thank you
so much for sharing with us my name is
Nick Wong and this is cs50
hello world I'm back here with Veronica
and Colton to chat about some of the
projects we've just seen
been going from your vantage point up
here really cool sort of just hear about
all the cool stuff that students are
doing with everything they've learned in
the queer so far a lot of machine
learning I'm noticing which is you know
something that's very much info but it's
nice to see that students are actually
going out on their own
looking at these libraries and
implementing yeah indeed I've seen a
number of students using API is to do
OCR optical character recognition
generating QR code it's just automatic
where you can scan someone else's phone
call a snapchat and exchange all of your
and then there was one project
downstairs a student who had never taken
a programming class before cs50 just a
few months ago had done a website called
PolitiFact and PolitiFact was an app
whereby you could paste in like the URL
of a boat seemingly suspicious post on
facebook she then did optical character
recognition on the post extracted the
text sent the text off to PolitiFact
comm which then gave back some textual
answer as to whether this is good or bad
information and did you tell that you
should actually interviewed up here in
the interview station soon yeah so I
actually saw her on the floor that we
discovered here at the cs50 fair and her
project so amazing and there were a
number of those that actually did sort
of sentiment analysis of text and image
another person today another person did
a similar one with tweets just like yeah
from a pset that we had beat last year
any other what about tips for navigating
the fare tips for navigating the fare
come early often yeah so much going on
we do have three ships and the next
shift is about to start in ten minutes
so you see on the live stream another
peak I have Doug and I see acceptor Doug
and I hopped in the photo booth a little
bit ago on Facebook for that so for what
it's worth I think one of the most
amazing things about the pair ultimately
is just how many things students have
gone off and taught themselves these
projects demonstrate that in fact coming
up next is Dylan we're gonna take a look
at princess programming adventures to
continue this narrative of students
doing amazing things
hi my name is Dylan I am currently on
staff here at cs50 and I'm introducing a
new project this is Karen and why don't
you introduce your project for us here I
realized that there's a really big gap
in the number of women in computer
science prepared to number of men
there's recent studies that show that
only 17% of CS majors are women and I
thought that was a really big gap and I
don't think that's because Garros isn't
my computer science I think it's because
it didn't have as much of an opportunity
to get interested in it because all the
games are young kids relates to
programming is themes like robots
spaceships fighting and girls really
usually don't like that so I decided to
try something different and I did the
game picked this programming adventure
yeah why don't you tell us a little bit
about your background and how you got
into this game and what made you so
inspired building off of what you just
said earlier so I wanted to get a game
to give my little sister to play to see
if I could get her interested in it and
then I realized that there aren't any
for hard to play that would get like her
with the into it so I decided to make
one and I tried to get everything that
would get girls interested in it so like
to graphics customization of characters
and like a cue on natural scenario and
stuff like that okay cool so why don't
we dive in your project you show me a
little bit about what this project does
and how how it's supposed to inspire
young girls to help start coding so the
game won't technically begin with a
customization of the character okay you
can't change everything basically about
her the hair call her
so he says she's wearing the hairstyle
and the outfit everything basically so I
haven't connected the levels yeah but
this is how the level one looks like so
it's a basic drag and drop acid floating
so the game isn't supposed to teach
everything about programming is just to
get them interested enough so they can
pursue for themselves so the first level
is super simple you have to get her to
move from one purple square to the other
so when you run it she walks and when
you get there there's fireworks and
everything and that's music counter for
some below oh right so when you put this
arrow in there you do it through time
that just tell us the thing to run three
times right so I'm playing a Mook yes so
she would walk three squares forward you
can also for example throw the arrows in
the trash if you don't want to use them
again okay okay
how did the levels become more and more
difficult and what do you think that the
levels are trying to build towards maybe
the whole story that I'm going to go
around is that her best friend this
character has been kidnapped by an evil
witch
so I knew it and I'll save the best
friend in everything so the levels are
going to build up to that and getting
harder and harder
I love books too that are already built
but it's not you can kind of see it over
here but it's not running in this
computer and then in my other one you
know when you have terms and it's going
to get more complicated so I'm going to
put a move and function and maybe F
statements so that the player can
understand a little bit more complex
computer science ideas without making it
too complicated yeah I love the
motivation in front of finding like the
witch or something right yeah the kids
all these like naturally they wouldn't
want to do it unless there was some sort
of hidden objective and I know are you
thinking about maybe adding a few
treasure chests or something like that
yeah I'm also thinking about maybe
adding like an ability to use like a
special power of something that maybe
she discovers during her travels I like
sweets friends or like some animal oh
okay okay
the good thing about unity is that it
offers like a bunch of different acids
that you can use so I think usually like
Accord which character is and
to make the game interesting what was
the experience sort of programming it
you know like this seems like the
graphics are so cool they're so deep and
the character has just really come come
to life when you like tell it to move
forward three steps how do you program
animations already made but you have to
have statements and things like that to
make sure that they run accordingly so
here you can see the animations so it's
on a loop basically for one she's not
moving so she's of standing and like
looking around it's natural and then
once she starts walking there's an if
statement that says which was walking so
that she was still walking animation so
she walks everything in there's like
there's a different code for everything
drag it and yeah it's really cool
how do you think that you can sort of
scale this in the future where do you
think that you can build in terms of the
code and also implementing new features
like how do you see it scaling for iOS
Android
new operating systems so good thing
about unity is that you can kind of use
it for whatever you want like I think
you can are even able to put it in Wii U
if I wanted to so I can put it on the
Apple Store on four androids if and put
it on the internet so basically anybody
can have access to it yeah I'm sure
that'd be really great cuz you know
currently it's it's very difficult for
for girls to get interested in coding
the current software available so this
is definitely getting a wide
acceptability through all kinds of
platforms Wilkins operating system is
very crucial so that's really cool you
tell us a little bit about what you
think you learn from this project what
experience do you think that do you feel
like you were super motivated and driven
to finish this project it's a very
personal purpose fall what did you feel
while doing this project and what did
you gain from when I started this
project I had absolutely no knowledge of
uni or C sharp which is what the
programming language that I use so I got
a bunch of YouTube videos to figure out
how to do it and stuff like that and it
was a bit hard because for example for
me the hardest part itself was to do the
drag-and-drop okay let me show you
there's three types of draggable things
so the first one there's this one that
is infinite so you have to keep
generating infinite amount of Erichs for
example
to be able to like switch the order
around and where you want to put it and
this one has to be able to delete and
you have to say you close it to it so I
think you spend like only a week a week
working on this part and that was
definitely the most complicated one but
I think that I learned so much on it and
I had to travel to it especially since
there were so many good sakes
yeah yeah that's like I guess that's
just part of programming I think it's
also super inspirational right like not
only is the game inspirational but you
are an inspiration for being able to
look up all these YouTube videos and
start coding and C sharp which is I
guess like a you might say not super
popular language especially for as a
language to begin with and it really
came really came out really amazing what
do you think that this project shows
about the future of Education in CIS I
think it's really important because
there are so many efforts and so many
cob buildings at my school that are
trying to get girls into programming or
stem and stuff like that and I really
think that's gonna help because
everything starts from a young age so I
kids when they're small do it already
really helps them shape their future and
decide what they want to do so with this
game they might decide oh I really like
coding I really like this game maybe I
want to get into programming and that's
like the reason
sort of creating a goal as opposed to
something just like pushing girls
towards it right yeah where do you see
your future in CS being aren't you when
you see like yourself going with this
other project in the future yes with
respect to your career that's definitely
what I want to do in college so some
still in high school yeah yeah I'm
engineering High School in Miami and I
probably wanted to do something related
to that in college maybe game making or
not I really like NASA so maybe
something really this and that it's
still a lot of options or I can go just
kind of interested in programming okay
well it was great to meet you Karen this
is really an amazing project thank you
for joining us for this project
the princess project this is cs50 and
thank you for joining us again hello
world we're back here atop the cs50 fair
looking down at at all of these projects
and all of the people who just keep
coming in yeah we just saw a really
really great project trying to sort of
encourage more young women to start
coding and I think that's we do a lot of
that in cs50 which is great yeah I mean
we've been fortunate that over the past
few years the gender balance in the
class as I got closer in capture to
fifty percent hit last year forty four
percent this year we're a little lower
but still above forty percent we're not
quite yet at fifty but it's been great
to see students from all demographics
coming into the class and discovering
frankly computer science and other STEM
fields for the very first time
especially when their high schools don't
offer those programs I mean what was the
first CS class you took something first
class I took actually was scratch in
11th grade I took a trimester Oh scratch
did like you know in small project and
then jump right into cs50 my freshman
year first term here nice and how about
you both in your first programming
experience probably in 2007 when I was
started looking into game programming
buying books and sort of those things
the tutorials online weren't as good SEC
overflow I don't think was made until
2011 so it was a very oriented approach
did you do it that's a struggle it took
me a long time 2011 is right when I
started to get a little bit better as a
pro
what's about no interesting okay so tell
us more about like the vibe down there
because we're sort of stuck here and
like a you know fun little alcove of
sorts but I want to know what is it like
in the middle of the fair it's actually
pretty intense I mean there are
literally hundreds of people we have a
lot of sort of bar height tables laid
out okay large tablecloths and lots of
laptops power lots of Wi-Fi in the Wi-Fi
work that seems like hard there's 55
access points or wireless access which
can handle dozen users and that might
sound like a lot but honestly if you
have laptops and all of us have phone as
a Wi-Fi connection and it really gets
consumed quickly okay my Wi-Fi is
working though so that seems like a
pretty strong network yeah we have
hasn't albums at past fairs where the
capacity just wasn't there or machine
was misconfigured and in the water so
we're always holding our breath with
that yeah all of this communication from
the production team has also been online
so I've been crossing my fingers to make
sure that we have all the info we need
to be able to toss this to the right
people at the right time in fact fun
fact we've been toss into our
correspondence in the field as we
interview students right down there in
the cs50 fair and last year we tried
doing that wirelessly using I think of
five gigahertz or so signal between
cities production team and the folks on
the ground the problem was so many
people's laptops work on the five
gigahertz spectrum as well and so we
were clobbering each other there for
actually hurting the very projects that
we were trying all these we were
different and better this year indeed
and there's so much Wi-Fi capacity today
in fact so much so that we're filled the
room is filled with memes in fact we're
gonna next toss to Athena in the field
one of our Teaching Fellow who's gonna
take a look at memes for moms to help
parents better understand what it is
their kids are sharing today I'm here
with Andrew Sam and Lucas we're gonna be
talking about their memes for moms
project I thought it was pretty funny
when I walked by so I
thought I would share it with the rest
of the stream with the audience so how
about you guys give us a quick run
through through your project sure so our
project is called memes for mums with
the spelling as these two guys are from
New Zealand and it's an educational
website or almost like social media for
parents to learn about memes so Sam here
has provided us with a with knowledge of
memes and also these five formats one
advice animals film and TV and also we
have ironic memes video memes and
miscellaneous memes so Lukas do you want
to click on film and TV
so inside film and TV we have the
individual meme and then Sam's
description of the meme and you can even
like memes if you if you like let's say
you like the spongebob meme there now
you've liked the meme and it's it's yeah
your your user session ID is stored so
that when you like a meme it stays liked
if you log out log back in again so we
want to show us the most popular memes
this is in the meta category so yeah but
our most popular meme is just joking Joe
363 likes and we happen to like that one
already so there they are so where are
you guys getting all of the information
about the
you implement yourself sir
so we still all the information for our
memes in a sequel database it's saved in
the cs50 IDE so whenever the page is
loading is destroying all the
information straight from there the
sequel database and putting it on our
website
now our favorite part is create a meme
which we'll show you here so considering
I'm the meme connoisseur in charge of
the meme database I'll make us a
fantastic meme so listen you'll see use
but bad luck Brian that meme template
and hold up Energon home of that so goes
to cs50 fear doesn't meet very bad like
this is a lot we did meet mainland which
was very fantastic and so there's our
meme all generated we can save the image
if we like and and then a final function
is a search function so so we want to
find memes or related to dogs we can put
in the word dog and then it returns all
the memes that have the word dog and the
title as we can see here and we can like
it and read all about it from there to
use for this website by the name Kansai
the feather name I like the grinch name
show you the glitch name I for one don't
know very well
helpful for me although dances
oh great good time to time so what sort
of inspired the project to your parents
like struggle with me well in general we
feel that like a mums month I'll be up
to date with what's going on in their
children's life so hopefully by using
the site they they're more educated
challenges that you guys had like if you
have to pick one feature that was really
really hard to implement they should
have had a victim a lot for about 15
hours okay yeah so the the like button
took me quite a long time because I
didn't want a button like a physical
submit form button cuz I thought one I
didn't want to reload the page every
time you clicked it and I also didn't
like the way it looked so I made these
little heart images it kind of they kind
of look like Instagram have the same but
I think I like the way that Instagram
went to that and I'm a history of art
and architecture concentrator so I
thought yeah and so basically I wanted
it I wanted the likes to be persistent
so when you log down log back in your
likes images which really like means
would still be liked so I have a
function JavaScript function that is
called when the when each meme image is
loaded so not the mean button itself
with the mean image and so that will
check the Mike's database table which is
a database table containing your user
session ID and also the meme ID that you
liked and so that's called and reference
so I mean we know to load the red one if
there's two images the empty and the
full and then when you click it it calls
our like JavaScript function
exactly in the database and uses Ajax to
correct the Python so I noticed that
your history of our in architecture we
have mechanical engineering and
biomedical engineering what are you guys
doing in cs50 well obviously personally
you're probably asking the most and I
thought it would be a fun course to take
yeah I really liked it and I I thought
it would be good to you know to show on
my CV I guess or not see me but my
transcript that like I can't actually do
math and science stuff when I'm doing
something that's so qualitative and you
know art like I mean CS this kind of art
in a way like there's totally and I want
to do design so sure well so for both me
and Lucas doing engineering the cs50 is
actually a course requirement
you're like another one along with every
single other class at Harvard that we
have to say yes but it is also very like
I feel a cs50 is one of the one of those
classic Harvard classes that you sort of
I know I feel like you have to take it
sort of like 18 or cs50 or like they're
just quintessential Harvey Parsons
50 is better of course it is the middle
we also took the class for the fray
shirts so about like one last question
so standing here at the fair right a lot
of people come in to cs50 from different
backgrounds less comfy more comfy how
does it feel now having like a working
website knowing a lot more than you did
you know eight nine weeks ago it feels
good yeah that's good to be done and it
feels good they're like how much we've
progressed over the our time through
cs50 I felt like I've learned so much
it's just wow those classes that does
that to you
going into cs50 I hadn't wrote one line
of code before and now having made this
website with all these features and done
it in only one semester it's like
stories how much you can learn and if
you just put a little bit effort it's
pretty pretty wicked to see your
finished project now
at first I felt that you know the pace
is pretty fast but it just amazed me
like how quickly you figure it out yes
it's like I kind of like the idea of
just throwing you into the deep end just
a little bit you're just crawling your
way out because that's I don't know and
I yeah I know I like the lot just learn
so much that's great oh thank you all so
much for talking to me my name's Athena
and this is cs50
alright awesome well that was a cool app
I feel like a lot of these apps are very
inspired by sort of personal real world
you say do you like memes I do like
memes and to this app I also think that
my mom probably doesn't even know a
single meme okay for like what your life
is like
neato tap into that coal just a little
bit you know okay do you like free stuff
free stuff is always always good how
about a free t-shirt oh so this is the
cs50 t-shirt this is this year's model
so this is a fantastic free item that
you get by coming to the Ferriss yeah I
think this is like the main reason I
took cs50 just for the shirt yeah no
it's good stuff and I think most people
getting all students get one and I also
know better I think fairly limited stock
but yeah it's a shirt we have a another
interview set up in our interviews okay
so this was Emily so shots - Emily so we
had a personal pee fast exposure
assessment is the name of the app which
estimates pee fast exposures based on
your personal attributes can't wait
awesome
hi my name is Emily Hong and I'm Mattia
for cs50 and I'm here with I'm Nicola
Nishizawa I'm a senior and I'm studying
environmental engineering and this is
cs50
this is cs50 let's try your project so
tell me about what you did sure so I
made this peep out personal pee fast
assessment so he passes a class of
chemicals they're used for their stain
and water repellency properties but
they've also been linked to certain
adverse health effects like lowering
toddlers immune deficiencies and they're
also present in the blood of serum of
all of Americans so in much of a
exposure Testament in general they take
inputs from people's body weights and
how much food they eat and that sort of
thing so I thought it would be
interesting to make it personal so here
you can kind of like read about what PFS
is you know how you're exposed to pee
fast and then take the assessment all
right I'll try it out okay it looks like
we've got a form here I'm gonna put in
my age I'm gonna put my weight how much
water I drink oh this is a cool sliding
scale how did you do this yeah so I used
a slider it was part of w3schools break
oh yeah talk about JavaScript it's great
okay cool so good slider probably like
50 percent okay and I think I eat all
these things you're so cool I thought
about doing like vegetarian or vegan but
I know a lot of people have certain
specific diary that dietary restrictions
so decided to make this sort of checkbox
attribute are these proteins like do
they have especially high levels of
capacitor like why did you include these
specific um I think more of like the
meats have it and I think most of that
has to do with a lot of the way that
they're packaged so food packaging has a
lot of pieces in them just to make sure
that they're grease resistant oil
resistant and that sort of thing okay
more transfer from those types of
products make that
have greater contamination gotcha okay
so I'm gonna keep checking then I'm just
gonna looks like I'm gonna submit the
form oh and I got my personal assessment
results at result um oh look and this is
an interactive graph do you mind going
through like what this graph means yeah
so these are two of the most studied PFS
compounds keep Austin piccola
and you can see like how much your daily
estimate is in term comparison to like
men take it out or above the minimum
risk level the minimum let's choose here
it looks like you're just above that
okay people seems like you're all good
you can take the assessment again if
you're interested in some other
demographic of population you can also
read more about what affects your
exposure and how food and water is
contaminated through PFS carpet and dust
as well as indoor and dermal and then
some some little tips on how you can
reduce your exposure and then I'll do a
little quick plug for the green science
policy institute which does a lot of
informative ads about chemicals and
consumer products and they're a great
resource to look at as well also yeah
I'm talking about like what inspired you
to do this specific project yeah sure so
I mean my sis is on p-pass I'm looking
at how toddlers are clothes from carpets
and dust in the indoor environment so I
decided to make usually like what is a
broad exposure assessment on some sort
of population to something that's more
personal that people probably care about
more instead of reading online about Oh
certain things cause cancer in a broad
sense and things that make it more
personal like make you care about it
more
and then just a last question for you
like how did you feel
taking cs50 this investment did you have
CS experience before a little bit in the
engineering classes that I've taken but
it definitely has been a whirlwind of
the class a lot of fun
got to have to have come out of it with
a project like this that I'm proud of so
it's it's been an experience for sure
well thank you so much Nicole yeah thank
you
finish up this is cs50 oh it's always so
cool to see such great projects and
people are so so excited that sort of at
the end of the course they can wall that
together and do something up there
really really proud of it really is and
we see again for the last project that
we saw you see open-ended coming in with
all these projects that they have sort
of been inspired by real-world use cases
right so it looks like we have another
another field okay Nick was going to
interview a student with a video
playback and gaze visualization project
for the tobe glasses can't wait hello
this is Nick and i am here with diana we
are going to talk about a very cool
project that she has built dealing with
some sort of like kind of interpreting
where we're looking and based on glasses
were ray i don't know that much about it
so I'm gonna let Diana tell you how does
this project work what does it do so I
work in a lab in the education school
and the project that we're working on is
currently we're using this very cool
commercially available eye tracking
classes where you can actually track
your gaze wherever you're looking well
so we're trying to use it to just study
whether they're having this kind of gaze
data would help a teacher teach and help
a student learn oh gosh one problem that
we're having with these classes is the
gaze replay software could only be
operated on Windows and you can't really
easily change how gaze is visualized
which can
kind of pretty much determine whether
the gays information will be helping or
not so I just developed this I guess
simple ish Python code to solve this
problem sure can you tell us what's
going on on your screen right now what
are we looking at on this screen all
right so the video currently playing is
one of our participant Monica waiting
with the teaching material on the red
dot red circle that's currently moving
indicates exactly where the participant
was looking at during the time okay um
so as a researcher were interested in
seeing identifying exactly what frame
was off importance in which gaze or it's
interesting so you can do some marks
exactly frames that you're interested in
studying and then everything else will
be exported into a data file in a CSV
form so researchers so good for
researchers awesome so this sort of
project seems like it'd be really cool
if we could do it in real time rather if
I know exactly what you're looking at
all times I can do all sorts of things
with measurement it is that what's
possible now because you have the
ability to play back both the data frame
and where they're looking all at once
yes currently it's possible for another
person to see exactly we're looking at
using this kind of glasses in fact the
glasses were developed so that companies
were know exactly where consumers are
looking at when they're shopping which
can be a little bit of concern sounds
kind of like a privacy concern if you
were to I guess have a word of caution
towards using these in the future what
would that be I guess I would caution
against if you are giving permission for
somebody else to get get access to your
day's data you want to know exactly how
they are going to use the data for and
when there will be collecting those
kind of data awesome and how do you feel
cs50 prepared you to build a project
like this I don't remember a pset
exactly about glasses and gaze data well
when I started I barely know how to code
in Python
I can't looks a little different than
well that's really cool you felt pretty
prepared going into this that's awesome
we always I mean I'm a little biased but
I like to hear that Wow
well thank you so much for showing your
project with us we really appreciate it
Diana
and my name is Nick Wong and this is
cs50 I don't have Toby glasses I'm sure
if I did that would make a lot more
sense to me but I see you have glasses
so actually now you'll see that Colton's
missing and instead we're joined by
Lucas super exciting forward cs50 head
TF what year was 2013 2013 five years
ago wow it's been a while it's kind of
weird what's it like being back I mean
it's always nice I was here last year
too I always try to come I mean it's
great talking to students and seeing all
the projects I love just walking around
and seeing what people are doing so ok
so you were here last year so you were
here when we were at the northwest labs
yeah what do you think of being here in
this with Campus Center I mean I think
it's really nice it's definitely packed
but I think it's great because having
all this floors we get to see all of the
activity and the craziness it's it's
pretty awesome
ok so funny opening stories actually I
met Lucas last night we had a holiday
dinner at Mather super-fun and you
brought a special something for David
for professor Malin what was that well
so David and I have been friends for a
while now in the day and I love baking
so he's always seeing the cakes that I
make and then he told me that he wanted
me to making a cake and you know I live
oh yeah area so it's kind of a ok Trek
yeah yeah but he told me that he liked
lemon and orange cake so I brought him
lemon and orange cake was half lemon
half orange and I also made it very
confusing so the orange cake was
actually lemon color and the lemon cake
was orange colored oh yeah I would have
done the same thing what did you think
of that I actually tried it
two slices one on one and one of the
orange both so delicious so delicious
best cake I've had in maybe a year so
congratulations phenomenal cake Baker
and I'm sure you also do a bunch of
other stuff so I see that you're wearing
a face book shirt just kidding no yeah
now two years strong yes okay so you're
also sort of hanging out at the sponsor
table a bit yeah I was here last year as
well actually work at YouTube which is
part of the okay go watch this video on
YouTube right after honestly doing work
I'm watching YouTube all day as well
okay anything any sort of tips for
anyone that's either in the fair gonna
be walking around the fair sort of you
know is it easy to talk to students yeah
no it's definitely easy and it's very
exciting to talk to students and see
what they're doing one thing that I
would say it's definitely when you apply
for these internships don't get
discouraged if you don't get in because
I actually from Google before and now
I'm their two-year strong so just you
know keep up taking classes doing cool
projects and try to figure out what is
the area that you like okay okay so
speaking about what you like let's go to
our next projects we're gonna go to the
field where Nick is gonna show us a
project called weather got you down
using weather data to predict depression
let's see it yeah hello my name is Nick
Wong and we're here with Richard and
Todd on their project weather got you
down as the California natives moving to
the east coast the weather gets me down
quite often so I think that this project
is particularly fitting Richard would
you mind telling me a little bit about
what your project is what does it do
yeah sure so like so if you're really
with seasonal affective disorder right
better like in under people tend to be
more depressed than in the summer so
generally except this happens I'm like I
got like a seasonal basis so we were
really interested in looking at if we
could predict this on a sort of daily
basis okay really fine great yeah so to
do
we took ten years of weather data from
NOAA like a federal agency and then
since we don't have like a real like
metric for daily depression right we're
using Google Trends as a proxy for that
obviously like for a given city how many
searches for depression there are
relative to the total number of Google
searches okay look at this on a daily
basis okay so you're using kind of
Google searches as a proxy for the
depression of an area yeah that's
exactly right awesome
all right let me get right so local
weather isn't like very inherently local
sorry so you're looking at cities at a
time okay so yeah an entire city in
their weather yeah Todd would you mind
telling me a little bit about how you
guys went about gathering data and what
that data looked like Richard but my
part is about modeling the data so we
use an artificial neural network model
we use two little layers and in each
layer just ten neurons there's a bunch
of technicalities with the network
architecture but basically what we're
trying to predict is the number of
google search hits for depression
related terms and some techniques we use
our batch memorization and we also use
model checkpoint to prevent against
overfitting the model okay we tested the
model against three major cities New
York City Chicago and Los Angeles and
the best result was from Chicago the
Blue Rock the blue line represents like
prediction and the orange line
represents the actual truth so the
actual number of Google searches on
depression okay so you can see that the
model is pretty accurate in predicting
the amount of depression there they
given population I would be curious so a
lot of times if like a major celebrity
dies or someone has some sort of big
problem then you might see a rise in
Google searches that mark related to
weather did you guys account for that
yeah so so we really only notice this
with one celebrity really and that is
Robin Williams right so the day after
Robin Williams eyes there's those
massive spike in depression searches Wow
okay and so yeah there's like an entire
portion of the program dedicates in
removing this anomaly right because
presumably while people are searching
for depression not because they're
actually feeling down right but because
they're more interested in depression
okay yeah interesting
yeah like this effect only this only
occurs Robin Williams for whatever
reason and Chester so what made you guys
decide to research weather and
depression and try and link the two we
just kind of like browsing through
different types of data and finding
interesting data and potential
prediction banlieue that data may have
okay so it wasn't anything like one of
yous from Texas or something and was
really upset about the weather I
personally know it it's not like I feel
you feeling a little bit better okay oh
that's awesome
so how do you feel cs50 prepared you for
this sort of project I mean it's machine
learning and it's a little bit different
from like speller for example yeah so
maybe what happened there I guess it's
this project is kind of like combination
of many presets together okay so I guess
what cs50 taught was the different
components and how we can combine those
components into like a major project for
example okay very cool and Richard do
you have something to say about that
yeah so I think like cs50 also taught us
like a lot of like good practices while
coding and those can really help
especially when you have to work with
multiple people I have to integrate code
together it was like consistent good
practices yeah well those sorts of
things are pretty useful in industry too
being able to work with other people is
kind of useful in the real world well
thank you very much for sharing your
project with us it seems very cool and
I'm glad you guys got some kind of
results out of that my name is Nick Wong
and this has been cs50 Oh
Colton so glad to have you back thank
you so much so glad to be back and we're
gonna kick it right away back to the
interview station with
we're talking on an app called music
finder which is a music searching plan
music finder me and i'ma to get with
cs50 thanks so much for tuning into our
livestream I'm here today with Christine
one of my students and she's here could
you maybe introduce yourself and show us
what your project is about definitely so
my name is Christine Faulk and I'm in
junior and Adam sitting Applied
Mathematics um so I'll show you a little
bit about my project so I created music
finder which is a music searching
platform I've always had a love of music
so I thought it would be fun to play
with the iTunes API so let's check this
out so if I log into music finder I can
log in with my account and when it
brings you to the home page you can look
up any song or artist so let's look up
Taylor Swift sure I love Taylor Swift me
too okay big favorite so what did I do
is it'll load thirty different search
results and every five seconds each
search result will move over one spot so
we can see that if you click on the name
of the song that'll take you to the
iTunes page if you want to check out the
music video on YouTube you can click on
the video and if you want to save it to
your safe songs list you can hit save so
let's save love-story to my safe songs
list okay so that'll take me to my safe
sounds list and now we can say that love
story is on it I also have music for me
so this is a personalized music song
suggester so it's inspired by a BuzzFeed
sort of quiz style so what you can do is
go through and you can look at and pick
your zodiac sign favorite color and
different characteristics and it'll sort
you in one of twelve different
personality categories and give you a
song recommendation there's also a
random song generator so if you click
random generator it'll give you the
whiskey lullabye by Brad Paisley not
sure if I'm a fan so let's make another
random generator so let's check this out
and there's no internet
well it wouldn't hurt around another
it's okay we saw it on the Internet
other features that I have is a playlist
feature on so so you can like check out
like different like sort of like
playlists so I have like rap country on
break boyband songs and it would give
you sort of like 10 songs that I
selected and you can start to life like
the checkboxes and save it to your saved
songs list and then I also have the top
save songs on music finder so that looks
across all different users and sees you
know like what's the most trending song
so you can do that and then you can
always check out your saved songs list
and like browse and sort them by
alphabetically by like the song name or
by the artist and you can always delete
any song yeah I think when I was looking
at a project for the first time what I
was really impressed by was how
comprehensive it was and how many
features you had so I can tell it like
took a long time what would you say it
was like the most challenging part of
this project definitely so I think like
the first like most challenging thing
was like trying to like understand like
the iTunes API and how to like work with
it do the Ajax call work with the jQuery
did call everything and understand that
but after getting through that I think
like the major roadblock was
understanding the database and sort of
like how to decide that so just like
making sure that when I had someone
enter a safe song that it wasn't
duplicating entries in my database and
making sure that it was designed so
there wasn't sort of like overlap
between the like the database storages
so I was like making sure I was just
referencing and calling other tables
well okay last question why did you take
cs50 and did you enjoy it what do you
think is like the biggest the best thing
you've done with the semester definitely
so because I'm in applied math
concentrator I do have to take a CS
class and I was kind of holding off till
junior of the year to take cs50 because
I was a little scared of it
I'm sorry I finally took it I really did
like it because you know first week you
know you know printing hello world and
then printing hash tags that's kind of
seemed like an insurmountable challenge
but now like feeling like you can like
build your own website and do everything
that was like a really like great sort
of like opportunity and you feel like
it's really tangible I think my favorite
piece I was probably like the last piece
out of doing like the stock site because
that was like really cool and like you
felt like you're actually doing
something people would use so yeah well
well thanks so much for joining us today
Kristine yeah and this is cs50
super cool always to see music related
apps I mean I'm a big fan of music I'm a
big music okay you're I gotten
responsible for a lot of the music here
you've already gotten great feedback a
couple emails a couple you know nudges
like oh it's cold and in charge of music
cause it I'm just glad I come on saying
the music sucks and they're like oh it's
great like there's a great vibe I'm a
big fan of EDM for these kinds of events
and but you're related to that app that
we just looked at which was a music sort
of searching app and analysis app you're
also interested in building an app
that's right or to that right yes yes
yes so I find that I really like
recognizing my playlist by beats per
minute so one of the things I want to
work on over winter break is sort of
like a using Spotify API some sort of
web app that will sort of create
playlists based on mathematical
properties of tracks that I find work
well with my brain
typically it's something that you notice
as I get speeds per minute that's all
definitely be permanent like I think I'm
often like okay I need a track that is
either you know a little bit higher a
little bit lower depending on whether I
want to be a bit more alert or a bit
less alert or whether I just want to
stay in the state I'm in so it's I think
it's completely related that's all my
brain processes music so I love to sort
of hear about different ways to think
about it okay awesome
well we're ready for another interview
it looks like Dylan's ready in the
interview room with an app called Club
pub Harvard students to post hi this is
Dylan from cs50 staff and I'm here with
the project about called club pub which
is about show me one of the events on
campus for Harvard and also probably
possibly other University as well so do
you guys want to introduce yourselves
and tell us a little bit more about your
project yeah hi I'm Eva I'm a first year
in the college I live in Straus Hall and
I'm thinking about concentrating in
molecular and cellular biology or
possibly applied math
I'm in cs50 hi everyone I'm charissa
I'm also first year at Harvard I'm in
Thayer and I'm thinking of concentrating
in applied math we also have a third
team member who unfortunately is not
here with us today for this presentation
his name is hunter he's also in freshman
class and he is awesome there with me
and he's thinking of concentrating in
computer science yes yeah great so I
want to ask you first about what sort of
inspired you guys to do this project
what do you think that what what sort of
needs does this address so we kind of
noticed that a lot of the club events
and whenever people posted announcements
we're sort of scattered all over the
place so you think an email in one place
or a Facebook event and would be really
hard to find on the events when you're
looking for them later so really wanted
to make like a kind of centralized
database where you can find all of those
events and have it all in one
centralized location yeah I think that's
coming in as freshmen also just gave us
that kind of new perspective because
like we were just overwhelmed with so
much information being thrown at us and
like not having everything in one place
was very hard to navigate in the very
overwhelming so hopefully this website
can definitely solve some of those
problems yeah I definitely remember my
freshman year and also my sophomore year
just walking around like if you missed
that three-hour club activities like hey
you know what not know what's going on
for the rest of your time so you want to
walk us through your in your project a
little bit okay so this is our homepage
welcome to club pub so first you'll
register for an account we're probably
all gonna be the snob just because it
takes a little bit but you in turn all
your information you can select event
categories that you're interested in
like free food academics whatever you
want and then you'll select clubs that
you're a member of so this will give you
permission to post events for this club
on their behalf on this website but
right now for this demo we're just gonna
log in with our test account and here
you'll see it goes to a feed that has
all the upcoming events so you can
scroll through it oh there's us there's
honor and you can look at all the
different events that are coming up so
it shows that the date the time the
location everything like that
and you can actually click this button
right here so you can only view events
that have your preferred tags and then
apply that so right now I think the tag
is like academic and pre-professional so
everything here is listed under academic
and pre-professional right there so yeah
and then another feature that we have is
a calendar so we actually link this with
a Google Calendar using the API which is
not fun to deal with but that's alright
it's good now and then we have like all
these different events and then you can
click on them and cut you can actually
add it to your own calendar which is
really cool and you can save it right
there you can also click on map and
it'll actually take you to where the
event is that is really cool feature so
the next page we have is clubs and over
here you can see all over 500 clubs that
are here at the college so it takes a
little bit to load but once we load you
can click to view the purpose and read
more about the club and then you can
also subscribe to clubs here and get an
email anytime they post event so you can
also search since there are so many that
way you can just look up any specific
one and then subscribe from there so
it's a little bit easier and in addition
to that if you have permissions so right
now we have permissions for small claims
advisory service which is one of the
clubs we can go ahead and we could put
in all the information to upload an
event and then that would add it to the
feed and to the calendar as well and
then over here is the search events page
so you can just view specific events by
a particular tag so you can look at
academic and professional and then only
those events will show up you can search
by which club is hosting and also by a
specific title so if we wanted to look
for Wix then this Wix holiday party
shows up great yeah the last thing we
have is just like user settings so you
can change some account information over
here you can change your password you
can also look at what you're currently
subscribed to and all your current
preferences and permissions and then you
can actually update it so let's just say
I'm really interested in PPA Jay's one
to one thing I don't know okay and then
we also want to look at free food and
then we could submit changes
give this thing the load and then it'll
show up right here so yeah you tell us a
little bit about how how you think this
might be going in the future and what do
you think you learn most from this
project and how do you think it gained
give you perspective on computer science
or just creating a new sort of thing of
your mind
I don't know a new new project so I
think in the future our first step is
like actually publishing this so that
it's not just in the class like our cs50
IDE environment because actually during
the fair what we actually really enjoyed
is presenting our project and having
people tell us like wow that's like a
really useful website that we'd actually
like to use and like I think if we could
actually get this published and have
future Harvard students use it and
current obviously it would be really
cool just to see like our work being
actually used in the Harvard community
it'd be a really yeah and in terms of
like sort of some of the things we
learned and how just like the skills
that we picked up I think
definitely just in cs50 there's a really
big emphasis on kind of looking things
up and like trying new things and kind
of turning to Google and like thinking
about things before maybe like asking if
you have been trying to do that on your
own and I think a lot of that came into
our project by using with the Google
Calendar API and we were able to kind of
look up these things read through the
documentation and figure it out for
ourselves and implement all these really
cool things that we hadn't covered
within the context of cs50 right reading
the documentation and all that stuff is
super dense but it totally makes you a
better programmer able to just
understand things and they would create
new projects based on other platforms
great is there anything else you guys
would like to say about your project or
anything you learned
I think one really cool learning
experience we got from like this project
just like actively trying to break our
website like we just like one through
the day of like trying to see what we
could possibly find errors in and this
is like definitely something that you
don't normally do like any other class
trying to like take tear down everything
that you've built up but I think it was
a really good experience like Ravana
definitely ran into a couple of errors
but um just going through and like
thinking outside of the box I'm just
thinking like different possibilities
that could happen and like how we would
remedy that yeah that was a cool
learning
great yeah Thank You Karissa and Thank
You Aoife and this is cs50
awesome well that was a cool project and
it was cool to see that they used Google
Calendar as integration you know we do
use some API integrations in the course
but I think it's always cool to sort of
add those widgets to see where people
take the scaffolding that we've given
them with finance and be able to take it
to the next step I really like calendars
so my favorite forms of data
representation another thing I really
like is soccer football I'm a big soccer
fan and actually the next project we
have up we're gonna go into the field
with Athena and it's going to be a
Harvard soccer connection so a way to
connect athletes with internships and
other opportunities can't wait to hear
all about it
awesome let's go to that
they're actually gonna be showing us a
product that they came up with to sort
of connect Harvard soccer players with
employment opportunities recruiters but
I don't want to steal the thunder so why
don't you guys walk us through the
website so you want to talk yeah sure
so we have our homepage here Harvard
soccer connections you can get to most
of our links here players maps some
static pages about Harvard soccer and us
there but we're gonna log in work you
through that process here today so
athlete login if you already have an
account you can log in but you can also
register there so we're going to
register we're gonna register athena he
or she is going to be honorary member of
the women's soccer team so we so our
register takes us to a form where athena
can input more for information for
putting her into the database itself
instead of just creating her account so
she's gonna be on the women's soccer
team she is going to be a graduate
majoring in computer science with the
hometown we're just gonna say she's from
cambridge massachusetts and she is gonna
be interested in tech seems about right
and then you can also put in a linkedin
that will come up on the card we're not
gonna go through the process of
inputting that URL for the linkedin an
aweful profile picture URL that will
show the profile picture this is the
card that comes up once we create an
account for searching the player
database we come up with the players it
comes up with the default picture of
john harvard of course and it has yeah
what she looks like so we have everybody
we have in the database we just have us
to someone that stopped by earlier and
then athena and so you can look through
all the people there but we also have a
fun function called player search the
player search we have in the search
algorithm implemented here where the
concentrations of the players in the
database are imported and you can select
multiple graduation years or just one if
you want and you can select multiple
interest if you want and based on how
those overlap with players in the
database and how those matches play out
it will rank
yeah she's a match she is actually one
of the best matches we apparently have
no better or good matches but we have
lost two are no matches for for this
particular search but once there are a
lot more players in database and this
gets more widely used which we'd like it
to be then it will be a lot more filled
out great and so I'll talk a little bit
about our interactive map which is the
last part of a website so from our
sequel database it passed in all of the
hometown information to the Google Maps
API and here's a map displayed of
everyone who is in the database so here
you can see we have three pins for the
three people that have put their
information in we actually see two pins
two people aren't in boston athena and
ami the girls stopped by earlier
so there's david in Petoskey Michigan
myself at McLean Virginia and the two
people in Cambridge
so display everyone who's in the
database the recruiters can find out how
far away the students are from them when
looking for students for internships
here's a little bit about Harvard soccer
and here's about the Critias the website
so when you guys were thinking about a
project like this what were some of the
things that you took into account like
why a project like this as opposed to
something okay I can speak to that
so our captain spoke to us about the
idea of this project because often we
were getting emails from recruiters
asking we want to connect athletes with
these career opportunities but it's kind
of tedious we need emails we got to
reach out individually so if we could
somehow distill that process into a
single website that'd be great so we
figured why not talk about for the final
project so with the goal kind of one day
this would be so ideally we'll move this
out of the cs50 IDE onto a wheel reel
web server and rail recruiters can come
visit the page wow that's great and then
you're gonna have to like get people
defined exactly yeah so we'll send this
to all the team and we can add new kids
new kids come into that program the PG
is that's great so as you guys were
going through this was there anything in
cs50
like inspired you or inform some of the
decisions that you made in terms of
features or things that you didn't do
yes so we were definitely inspired by
finance you know it was we both put a
lot of work into the finance so we had a
very good understanding of the inner
workings of how the different pages
related and we just took that to a whole
new level creating many many many HTML
pages for this and a lot more Python
than our application that piyah code and
so we're definitely inspired by that and
also I think the inspiration of rubber
duck rubber duck debugging kind of came
up the past couple days we were working
a ton on it and there's some stuff that
was just like tiny little syntax off
about how different data was being
passed back from the HTML pages and just
a weird format of it of just being like
set within a list and different things
that it was slightly different for each
two in front of website and so we really
sat down to like we literally like
talked through ok so this is this this
is this and we were able to you know
eventually figure it out but I think
that definitely was an inspiration from
cs50 that helped us a lot yeah so I
noticed that for your Google Maps you
must be using the Google API you know we
used a little bit of an API in finance
but we configured that for you what was
it like reading through documentation
and actually putting that in yourself so
I tackled this part of the website and I
can devastate our a lot of obstacles
here we're going from flask to
JavaScript and the two languages aren't
necessarily compatible so we had to read
a ton documentation about converting
that to JSON and into another language
so I think given that we didn't know
much about that process the skills that
cs50 taught us about reading
documentation learning on your own
googling being kind of independent that
way was super helpful just because we
came in not knowing at all how to
approach the problem and we ended up
getting the result we wanted
so based on that experience like if you
were gonna write an API what are things
you would think of right
I think GU does a great job of making
the API as user-friendly as possible but
if I were to write an API I would just
take into and into account people who
don't have much experience and are
trying to integrate the process so for
instance Google makes it easy you can
just plug in your city and your state or
your country and it will work so I think
making it approachable and easily
integrated what would be what I would
focus on I would say to just keep it
well-documented also there's a lot of
we've we've encountered a lot of
different documentation the bootstrap is
fantastic and it's so helpful when it's
clear and concise and that's a big thing
I've learned for this class that you can
really once you have the fundamentals of
coding down obviously so you need to be
taking class and stuff but you can learn
so much from literally just going on the
internet and and looking at
documentation that's it's clear and
concise and if it makes sense like you
can you can learn it yourself and I
think that's that's absolutely huge so
you know you're here it's a fair now
it's been like nine ten weeks since the
beginning of the class and mic scratch
and the marios pyramid and I'm sure we
all remember how long that took me I
know for me as a student I struggled
more with Mario than any of the others
like final thoughts on how far you've
come before
sure I can speak to this quickly um I
would say David harped on this the first
few weeks the class given the reputation
of the class and the difficulty saying
that you will make a lot of progress
comparing yourself week zero to week ten
and I would say that's incredibly true I
mean they were late night standing that
we're discussing how to approach a
problem and we would take a moan and be
like wow we really just had that
conversation which would have seemed
incredible to us about ten weeks ago so
I think trusting that the class will get
you prepared for two approaches types of
issues yeah the kind of the moment
actually came up kind of last night when
we were looking at something really Wow
like I can't believe we're actually
talking like this and like working
through this yeah writing it so no it's
so crazy but like I feel like I feel
like we've come so far and just I think
the amount of language we've learned
this semester has been kind of kind of
riled and I think that's great for just
I don't know it's just like getting
getting our feet wet a lot of different
style different places a lot of
different languages and I think that
kind of approach really helps with
understanding conceptually rather than
all the nerd like the nitty-gritty
technical details conceptually
understanding different languages and
different concepts of how coding really
works allows you to further your
learning in the ways I was talking about
before
you're right that's great all right well
thank you both so much for talking to me
I really hope this helps people in their
job search my name is Athena and this is
cs50 oh it's always so great to have
students sort of like reflect and look
back at their term and see how far
they've come
indeed so many have come so far so far
really from like 0 to 100 was just so
exciting you're a big soccer fan or yeah
yeah I'm having fun man yeah so it was
cool to sort of see them bring that into
their project
yeah so we have another interview set up
already interview stationing so we're
going to take a look at Amy giving a
with even giving a presentation on a
horse translator
very appropriate hi everyone if you're
just tuning in my name is Amy and here
with me is Leon I'm really excited about
his project do you want to introduce
yourself maybe tell us about your
project
sure I'm Leon I'm a sophomore and Mather
I'm studying applied math and I took
cs50 and I loved the class and I'm
excited to show you my project so I did
a Morse code translator I guess giving
some contests for this we really enjoyed
some of the ciphering psets
and also movies such as the imitation
game which encode and decode information
Morse code is also something that we can
implement using a lot of kind of user
feedback such as like pressing the
spacebar so I'll just give you some demo
of this so basically you can either tap
this blue button or tap your spacebar
tap is a dot and a press is a dash and
if you want to go between letters you
kind of leave a space so that's like a
second space and then you can type out
Morse code
so I'm going to type out my name I'm at
the bottom when you're done tapping
it'll print out your Morse code in
English and also read it back to you so
I'm gonna type out my name now
then wait for space
and then we tap when done says Leon as
you can see there's also kind of
translate so we want to also maybe
translate between English and other
languages so I'm going to tap in hello
and then you can see some of the
translation functionality there so let's
do hello wait for space
[Applause]
okay
and you see we can have hello and then
if we want to do it in a different
language such as Chinese it updates it
for you
so that was like the main crux of our
project they're all also other kind of
easier implementations for if you just
want to manually enter in Morse code so
I'll do my name again
you get Leon and then also just if you
want to encode such as if you want to
have a message that you want to transfer
into Morse code you can just like write
my name here and yeah it prints it out
for Morse code so that was the basic
crux of our project we think Morse code
is the language of the future because in
no other context can you send messages
as quickly as Morse code so that's why
this is such a relevant project but in
general on a more serious note we're
really happy to collaborate on this
project me and my partner you can make
it but it's a really nice instance of
being able to integrate what we learned
in cs50 extended further and really just
develop a passion for a project so it's
really fun to make yeah ok so just one
question I know you mentioned a little
bit you said that like your inspiration
was from you really like the encryption
and like sort of pieces we did what was
probably the most challenging part for
you sure yeah so when I mentioned to
manually decode and encode pages so
those were really easy because you could
just submit a form or just like a
message in here the hardest part was
using kind of like the translate feature
where we had to sense like how long we
were pressing a button or how long we
were pressing the space key and in in
addition we also had to time how long
between spaces so that would be like if
we wanted to enter a space into our
Morse code orange into our translation
so like we had to use a lot of
JavaScript the majority of our project
was actually JavaScript and we also
wanted as you meant as you can see when
we enter in our Morse code it kind of
shows your progress moving forward so we
had to do a lot of jQuery requests that
was something that was pretty difficult
in pset so is really fun to kind of
tease out in this project cool well
thanks so much for joining us today Leon
and this is cs50
I do really like that project I'm
actually a big fan of Morris
and more you use Morse code in your in
your daily life do you don't I know but
it's actually want to sort of my like I
thought my languages to learn this I
think it's really interesting I think it
can be useful in like a very specific
small amount of situations that's like
kind of it's almost like studying almost
like ancient Greek or Latin for just for
not necessarily know which is yeah I'm a
little bit more mathematical it'll work
that's it we have another project in the
field so Nick is gonna show us a project
called jenna decks which is an
annotation of gene names you can browse
through exactly awesome hello so my name
is Nick and we are here with Sasha and
Gene decks so basically would you like
to tell us a little bit about how it
works and basically all that it does so
pretty much Keane decks is a Google
Chrome extension like an Angie's feed
names as you're browsing the web my
inspiration for it was I used to work as
a case analyst for a like genetic
analysis and you get a big list of genes
back from my genome sequencing with
people from the fakir mutations in okay
and you'd be browsing the web looking
for information about the disease the
patient has and you would want to keep
track of which means that the patient
has been taken in our appearing on the
web browser okay um so this is a pretty
simple extension that can annotate
alright so looks like looking at on
screen right now so on scheme on Google
Chrome right now and we have our
extension already loaded so you've
loaded gene Dex yeah so we opened one
hell here in the corner and we can load
our at list of key names in so now if we
reopen the panel we'll see that they're
all loaded in here this comes from a
text file that the user has okay
sure um
now if we refresh our page basically
genes of interest yeah exactly
awesome so these are all cancer genes
that I added for the demo okay assets
were on the breast cancer website we'll
start to see all the breast cancer genes
Hardiman almost exactly yeah the ideas
that they'll pop out of you so if your
encounter something that the patient
might have you taken in then I'll be
clear to you while you're reading it oh
that's fantastic
okay so how do you envision this tool
being used by research scientists
students all of the above yeah I guess
what would be your general use case for
it so I guess the use case would be
whatever you just you know keep track of
you know when you're encountering these
mutations that your patient has I think
I would want to expand this so that
you'd have some annotated information
like information of the protein
expression and so really useful like
research knowledge whenever we do this
it's also how come you chose a Chrome
extension as opposed to an independent
web app or like a terminal script or
something like that
I go scroll sigmoids is not too hard to
build but also partly this is the best
way to interact directly through web
risings be asked so it was the most
efficient way just you know have that
information on the screen okay awesome
so I take it you use Chrome quite a bit
yeah and you also research often yeah
very cool do you feel like most research
scientists would kind of benefit from a
tool like this where it helps them kind
of very quickly parse through articles
and just see what's useful I think so
it's like you for viewing that a lot on
their mind like nope slaves might be
able in different cases and so they
might have a team names from one
person's case in their mind but not
around okay so corresponds to less this
would be wait if they could load their
specific you know keen list for the
current taking they're working on they
keep track in their mind of Wiggins they
could be looking for that's awesome did
you ever consider the other issue of may
trace the reverse issue maybe given that
article can you find all the gene names
that are mentioned in this article did
that ever cross your mind or you grow
your focus on just kind of this
originally the way to do that would just
be to have a list of all whatever 20,000
genes that there are the problem is the
local storage and chrome is on that
great how can i defeat it a list of all
20,000 whatever genes it didn't really
take that to hold it well so it's it
works better we have a bit of horn
selection yeah okay very
cool well thank you so much for sharing
your project with us we really
appreciate it this is Jean Dex my name
is Nick and this is Sascha and this is
cs50
[Applause]
my name is David Malan and this is cs50
and I've been here for the past few
hours with Holthe and Ogden and Veronica
netting and we do I wanted to take a
special moment here toward the end of
our stream to call out the 17 plus
members of production staff we haven't
seen on camera but behind camera here in
the booth and hearing this live right
now have done an amazing job of making
this three plus our live stream possibly
I showed us to them it's an amazing
production work that we have this here
and every year honestly indeed thanks so
much to everyone who's been tuning in on
Twitch YouTube Facebook and soon on
demand thereafter can't wait honestly
for me to go home tonight and kind of
watch whatever guys to watch this exact
stream here was a good stream and now
all of this fall semesters materials are
going to be released as we annually do
by open courseware and via EDX and
iTunes and YouTube starting January 1st
2019 so all of the same materials that
these students here learned and and
leverage to build their amazing projects
today and then of course view yourself
would like to join us in September
October November 2019 come on by and
join us for one of cs50 these lectures
we finished the course yourself anywhere
in the world see if you can join us for
cs50 fair a year hence I love to see you
and shake your hand in person it was
amazing fun coach Veronica I always sort
of repeat of how we did the stream a few
a couple yeah I thought felt very
similar to always have fun to spend time
with you looking at thank you very much
looking forward to more of those on
twitch.tv slash D City TV which we've
started recently
indeed keeping an eye out for both of
these folks and other members of safe
sister team they are facebook.com slash
cs50 youtube.com slash cs50 so many
places to tune into computers itself
well thank you so much to you both
especially could not have done this so
well without a doubt tremendous amount
of fun I think it's time to sign off
then
thank you for tuning in world this was
the cs50 fair in unison I thought we
were this was was this was this