
English: 
all right
this is cs50 harvard university's
introduction to the intellectual
enterprises of computer science
and the art of programming and
ordinarily we would all be here on
campus in
beautiful sanders theater together this
of course is a little bit different this
year for
more than one reason but we're here
instead in the loeb drama center
at harvard university thanks to our
friends in collaboration with the
american repertory theater
we have this new space including uh even
such amenities as a prop shop in back
where we've been working with an
amazingly talented team over the course
of the summer to prepare for this
semester
and cs50 and so i dare say we'll have

Italian: 
 Tutto ok 
 questa è la CS50 Harvard University 
 introduzione all'intellettuale 
 imprese di informatica 
 e l'arte della programmazione e 
 normalmente saremmo tutti qui 
 campus di 
 bellissimo teatro sanders insieme questo 
 ovviamente questo è un po 'diverso 
 anno per 
 più di un motivo ma siamo qui 
 invece nel centro teatrale loeb 
 all'università di Harvard grazie al nostro 
 amici in collaborazione con il 
 teatro di repertorio americano 
 abbiamo questo nuovo spazio compreso uh anche 
 servizi come un negozio di oggetti di scena sul retro 
 dove abbiamo lavorato con un 
 squadra incredibilmente talentuosa durante il corso 
 dell'estate per prepararsi a questo 
 semestre 
 e cs50 e quindi oso dire che avremo 

English: 
some new and improved demonstrations
along the way so our thanks to our host
the american repertory theater
now we wanted to evoke memories at least
or some imagery of
the campus itself particularly for the
many of you who could not be here in
person this semester
and so we went into the harvard archives
where among their collections was this
watercolor painting painted by a harvard
graduate student over 200 years ago
in the year 1794
jonathan jonathan fisher who sat in what
is now harvard square
looking in on some of the earliest
buildings of harvard's campus
and thanks to technology we took what is
a relatively small watercolor that
this graduate student painted some 200
years ago
and now adorns the stage here in the
loeb drama center so if
unfamiliar we have holden chapel here at
left
hollis hall to its right which is one of
the undergraduate dormitories in harvard
yard
harvard hall which is one of the
classroom buildings on campus
and then massachusetts hall where both

Italian: 
 alcune dimostrazioni nuove e migliorate 
 lungo la strada quindi i nostri ringraziamenti al nostro ospite 
 il teatro di repertorio americano 
 ora volevamo evocare almeno ricordi 
 o alcune immagini di 
 il campus stesso in particolare per il 
 molti di voi che non potevano essere qui dentro 
 persona questo semestre 
 e così siamo entrati negli archivi di Harvard 
 dove tra le loro collezioni c'era questo 
 pittura ad acquerello dipinto da un Harvard 
 studente laureato oltre 200 anni fa 
 nell'anno 1794 
 jonathan jonathan fisher che sedeva in cosa 
 ora è Harvard Square 
 esaminando alcuni dei primi 
 edifici del campus di Harvard 
 e grazie alla tecnologia abbiamo preso ciò che è 
 un acquerello relativamente piccolo quello 
 questo studente laureato ne ha dipinte circa 200 
 anni fa 
 e ora adorna il palco qui in 
 loeb drama center quindi se 
 sconosciuto abbiamo la cappella di Holden qui a 
 sinistra 
 hollis hall alla sua destra che è uno dei 
 i dormitori universitari di Harvard 
 cortile 
 harvard hall che è uno dei 
 edifici scolastici nel campus 
 e poi il Massachusetts Hall dove entrambi 

Italian: 
 primi anni 
 e il presidente di Harvard, uh, vive e lavora 
 rispettivamente quindi benvenuti a cs50 
 e posso dire che non è così lungo 
 fa, ma sembra comunque piuttosto lungo 
 fa 
 circa 20 anni fa ho preso lo stesso 
 classe ma come sai 
 uh come sai io ne ho avuto un po ' 
 trepidazione quando si trattava di studiare 
 cs50 quando si trattava di studiare computer 
 scienza perché era molto poco familiare 
 campo 
 avevo seguito un percorso quando sono arrivato 
 college di restare a mio agio 
 zona studiando presto il governo 
 pensando di specializzarmi o concentrarmi 
 governo 
 e non è stato fino a quando non ho avuto il coraggio 
 uh a 
 negozio che si trova in questa classe cs50 
 che l'ho capito 
 i compiti possono effettivamente essere divertenti e ho trovato 
 che l'informatica e il cs50 non lo sono 
 di 
 programmazione di per sé anche se questo è 
 quanti di noi lo percepiscono 
 liceo che sia noi o il nostro 
 compagni di classe che prendono la classe ma esso 
 si tratta davvero 
 problem solving e come tale è così molto 
 applicabile non solo all'informatica 
 e nei campi dell'ingegneria 

English: 
first years
and harvard's president uh live and work
respectively so welcome then to cs50
and i can say that um not quite as long
ago but nonetheless feels rather long
ago
some 20 years ago did i take the same
class but as you know
uh as as you know i i myself had some uh
trepidation when it came to studying
cs50 when it came to studying computer
science because it was a very unfamiliar
field
i had followed a path when i got to
college of sticking within my comfort
zone studying government early on
thinking i would major or concentrate in
government
and it wasn't until i got up the nerve
uh to
shop that is sit in on this class cs50
that i realized that
homework can actually be fun and i found
that computer science and cs50 is not
about
programming per se even though that's
how many of us perceive it in
high school whether it's us or our
classmates taking the class but it
really is about
problem solving and as such it's so very
applicable not only to computer science
and the engineering fields

English: 
but really to the arts humanity social
sciences sciences
and beyond and so if you're feeling a
little uncomfortable with the idea of
taking a class like cs50
know that most every year nearly
two-thirds of the students
who take cs50 have never taken a
computer science course before
so if you look up down left right right
now
odds are more than many of uh this
classmates joining you here today
are in a very similar position you're
indeed in very good
company and what's ultimately important
in cs52 we emphasize
as in the syllabus that what ultimately
matters in this course is not so much
where you end up relative to your
classmates but where you end up relative
to yourself
when you began indeed taking into
account where you currently are perhaps
with no prior background and considering
where you will be in just three or so
months
is ultimately meant to be the measure of
your own success and so toward that end
we'll start off this class programming
a little something from yesteryear of
image here of super mario brothers and
the pyramid that the character has to

Italian: 
 ma proprio alle arti l'umanità sociale 
 scienze scienze 
 e oltre e quindi se ti senti a 
 poco a disagio con l'idea di 
 prendere una classe come CS50 
 lo so quasi ogni anno 
 due terzi degli studenti 
 chi prende cs50 non ha mai preso un file 
 corso di informatica prima 
 quindi se guardi in alto a sinistra a destra a destra 
 adesso 
 le probabilità sono più di molte di questo 
 compagni di classe che si uniscono a te qui oggi 
 sono in una posizione molto simile a te 
 anzi in molto buono 
 società e ciò che in definitiva è importante 
 in cs52 sottolineiamo 
 come nel programma che alla fine 
 le cose in questo corso non sono tanto 
 dove finisci rispetto al tuo 
 compagni di classe ma dove finisci per essere parente 
 a te stesso 
 quando hai iniziato davvero ad accettare 
 account dove ti trovi attualmente forse 
 senza precedenti e considerazioni 
 dove sarai tra solo tre o giù di lì 
 mesi 
 in ultima analisi, deve essere la misura di 
 il proprio successo e così verso quel fine 
 inizieremo questa programmazione di classe 
 qualcosina del passato 
 immagine qui dei fratelli super mario e 
 la piramide che il personaggio deve 

Italian: 
 ascendere 
 ricreamo una parte di questo gioco 
 anche se usando 
 testo altrimenti noto come ascii art ma 
 lo faremo solo nei corsi 
 seconda o giù di lì settimana quindi questo sarà tra 
 i primi programmi che scrivi e poi 
 fa avanzare rapidamente solo diversi insiemi di problemi 
 o programmare le assegnazioni in un secondo momento 
 o anche diverse settimane dopo e lo sarai 
 costruire ciò che chiamiamo finanza cs50 
 un'applicazione web tutta tua 
 funziona su Internet 
 e che si interfaccia con yahoo finanza 
 o un'API simile 
 o interfaccia di programmazione dell'applicazione 
 abbattere le scorte quasi in tempo reale 
 citazioni 
 da un servizio di terze parti che consente il tuo 
 propri utenti per accedere e registrarsi 
 per acquistare e vendere azioni per così dire utilizzando 
 valuta virtuale 
 così nel corso delle lezioni 
 diversi mesi 
 andrai davvero dalla costruzione di un file 
 piramide in mario per costruire il tuo molto 
 proprio 
 applicazione web e altro seguito dal 
 esperienza chiave di volta del corso 
 che sarà la tua finale personale 
 progetto ma cos'è esattamente 
 informatica quello che pensavamo noi 
 farebbe proprio in questa settimana lo zero 

English: 
ascend
we'll recreate a portion of this game
albeit using
text otherwise known as ascii art but
we'll do that in just the courses
second or so week so this will be among
the first programs you write and then
fast forward just several problem sets
or programming assignments later
or several weeks later too and you'll be
building what we call cs50 finance
a web application of your very own that
runs on the internet
and that interfaces with yahoo finance
or a similar api
or application programming interface
pulling down nearly real-time stock
quotes
from a third-party service allowing your
own users to log in and register
to buy and sell stocks so to speak using
virtual currency
so over the course of the uh classes
several months
will you go truly from building a
pyramid in mario to building your very
own
web application and more followed by the
course's capstone experience
which will be your very own final
project but what exactly is
computer science what we thought we
would do in this week zero the very

English: 
first week of the class
is consider exactly what it means to
solve problems and let me propose that
this is
computer science this is problem solving
you have some input which is the problem
you care about that you want to solve
and you care about the solution to that
problem which is the so-called output
and in between that input and output is
this black box
of sorts inside of which is sort of the
magic that happens the magic that you'll
eventually be able to harness
and compel computers to solve problems
for you inside of that black box
ultimately is going to be the code
that you write but for us to begin doing
that
we all kind of need to agree on how
we're going to represent these inputs
and outputs we all kind of have to speak
a common language so to speak
and so we need to agree how these inputs
are going to be represented so how might
we typically represent information
well maybe the simplest thing to do with
the very first class whether we're
online or in person
is to take attendance or to count the
number of people
in the room and so you might do this old
school style on your hands so as to
represent

Italian: 
 prima settimana di lezione 
 è considerare esattamente cosa significa 
 risolvi i problemi e lascia che te lo proponga 
 questo è 
 informatica questo è il problem solving 
 hai qualche input che è il problema 
 ti interessa quello che vuoi risolvere 
 e ti interessa la soluzione a questo 
 problema che è il cosiddetto output 
 e tra quell'input e l'output c'è 
 questa scatola nera 
 di sorta all'interno del quale è una sorta di 
 magia che accade la magia che tu 
 alla fine essere in grado di sfruttare 
 e costringere i computer a risolvere i problemi 
 per te dentro quella scatola nera 
 alla fine sarà il codice 
 che scrivi ma che iniziamo a fare noi 
 quello 
 tutti noi dobbiamo essere d'accordo su come 
 rappresenteremo questi input 
 e le uscite che tutti noi dobbiamo parlare 
 una lingua comune per così dire 
 e quindi dobbiamo concordare come questi input 
 saranno rappresentati così come potrebbe 
 tipicamente rappresentiamo informazioni 
 beh forse la cosa più semplice da fare con 
 la prima classe se siamo 
 online o di persona 
 è prendere la presenza o contare il 
 numero di persone 
 nella stanza e così potresti fare questo vecchio 
 stile scolastico sulle tue mani in modo da 
 rappresentare 

Italian: 
 ogni persona in una stanza con solo un 
 dito alzato sulle mani così come noi 
 potrebbe rappresentare informazioni ridotte 
 per 
 cifre molto semplici sulla tua mano di 
 Ovviamente non puoi contare molto in alto 
 con solo questa mano ma in realtà c'è 
 una parola di fantasia per quello che stiamo facendo vecchio 
 scuola qui 
 e questa è la notazione unaria uno che implica 
 uno o un dito in alto o in basso 
 e così puoi contare sembrerebbe come 
 alto come cinque e, naturalmente, se porto dentro 
 una seconda mano posso arrivare fino a dieci 
 e poi le cose si fanno un po 'di più 
 difficile ma è un sistema per 
 rappresentare informazioni ed è equo 
 universale certamente quando siamo tutti tranquilli 
 giovane ma tu ed io 
 tendono a utilizzare un sistema più utile no 
 appena 
 cifre sulla mano ma altri tipi di 
 cifre cioè il decimale 
 cifre che tu ed io conosciamo quindi 
 numeri che altrimenti sarebbero maggiori 
 tecnicamente chiamato base 10 e questo 
 solo un modo elegante per descrivere il fatto 
 che ci sono 10 cifre che io e te abbiamo 
 gli esseri umani 
 davvero tendono a usare tipicamente quelli 
 le cifre ovviamente sono 0 
 fino a 9 e utilizzando queste diverse cifre 
 possiamo comporre 
 numeri come da 0 a 9 ma anche 10 e 
 11 e 12 e 

English: 
every person in a room with just a
finger raised on your hands so how we
might represent information boils down
to
very simple digits on your hand of
course you can't count very high
with just this hand but there's actually
a fancy word for what we're doing old
school here
and that's unary notation uno implying
one or one finger being up or down
and so you can count it would seem as
high as five and of course if i bring in
a second hand i can go as high as ten
and then things get a little more
difficult but it's a system for
representing information and it's fairly
universal certainly when we're all quite
young but you and i
tend to use a more useful system not
just
digits on the hand but other sorts of
digits namely the decimal
digits that you and i know so the
numbers that are otherwise more
technically called base 10 and that's
just a fancy way of describing the fact
that there's 10 digits that you and i as
humans
really tend to use typically those
digits of course are 0
through 9 and using these several digits
can we compose
numbers like 0 through 9 but also 10 and
11 and 12 and

Italian: 
 più in alto che vogliamo utilizzando 
 ancora più cifre 
 ma i computer non parlano realmente 
 stessa lingua 
 come noi sono in un certo senso molto più semplici 
 di noi umani 
 anche se sembrano così complicati o 
 così sofisticato e sicuramente così veloce 
 alla fine del giorno 
 questi sono tutti dispositivi creati dall'uomo e 
 sono relativamente semplici 
 al loro centro infatti anche se non lo fai 
 so bene cosa sei 
 dicendo ma almeno hai sentito questo 
 sia il caso che lingua 
 capisci che i computer parlano 
 che lingua parlano i computer 
 se non il sistema che tu ed io usiamo 
 Da 0 a 9 o decimale 
 Brian potremmo vedere chi potrebbe rispondere a questo 
 quale sistema utilizzano i computer finora 
 hai sentito se l'hai o meno 
 ha preso una classe CS prima che Keith possa andare 
 prima a te 
 sì, i uh computer usano binario binario 
 e puoi elaborare un po 'cosa 
 intendi per binario 

English: 
as high up as we want to go by using
multiple digits still
but computers don't really speak the
same language
as us they're in some sense much simpler
than we humans
even though they seem so complicated or
so sophisticated and certainly so fast
at the end of the day
these are all human-made devices and
they're relatively simple
at their core in fact even if you don't
quite know what you're
saying but you've at least heard this to
be the case what language
do you understand computers to speak
what language do computers speak
if not the system that you and i use of
0s through 9s or decimal
brian could we see who might answer this
what system do computers use so far as
you've heard whether or not you've
taken a cs class before keith can we go
to you first
yeah the uh computers use binary binary
and can you elaborate a little bit what
do you mean by binary

Italian: 
 uh sono zeri e uno così come mentre noi 
 usa da zero a nove per la base dieci 
 usa da zero a uno per la base due 
 sì, esattamente così i computer usano l'estensione 
 cosiddetto sistema binario implicando due 
 e in effetti usano solo come appunti 
 zero e uno due cifre così sull'uno 
 mano questo è in realtà piuttosto incoraggiante 
 perché wow 
 questo è in realtà un sistema piuttosto semplice 
 se usiamo solo due di queste cifre 
 ma ovviamente se ne hai solo due 
 cifre 
 come rappresenteremo il numero 
 due o tre o quattro o 
 un numero molto più grande sarebbe quasi 
 sembra un passo indietro 
 ma in realtà non lo è e si scopre 
 che questo cosiddetto sistema o base due 
 due perché ci sono due cifre nel file 
 vocabolario altrimenti noto come dice keith 
 come binario 
 usa solo zero e uno e gira 
 fuori c'è altra nomenclatura qui noi 
 può buttare via questi zeri e gli uno sono 
 altrimenti noto come 
 bit e bit derivano effettivamente da just 
 due parole 
 cifre binarie binario che implica due 
 possibilità 
 le cifre sono solo simboli sullo schermo 
 quindi le cifre binarie sono altrimenti note come 
 bit e computer 
 parla binario usando queste cose chiamate 
 bit ma cosa significa e perché lo è 

English: 
uh it's zeros and ones so like while we
use zero through nine for base ten it
uses zero through one for base two
yeah exactly so computers use the
so-called binary system by implying two
and they indeed only use as keep notes
zero and one two digits so on the one
hand this is actually pretty encouraging
because wow
this is actually a pretty simple system
if we're only using two of these digits
but of course if you only have two
digits
how are we going to represent the number
two or three or four or
any much larger number it would almost
seem like a step backwards
but it isn't actually and it turns out
that this so-called system or base two
two because there's two digits in the
vocabulary otherwise known as keith says
as binary
uses just zeros and ones and it turns
out there's other nomenclature here we
can toss out these zeros and ones are
otherwise known as
bits and bits actually derive from just
two words
binary digits binary implying two
possibilities
digits just being symbols on the screen
so binary digits are otherwise known as
bits and computers
speak binary using these things called
bits but what does that mean and why is

Italian: 
 è il caso del perché non hanno inventato 
 computer decenni fa che usano solo zero 
 attraverso nove piuttosto che inventare un file 
 sistema completamente nuovo 
 per noi su cui pensare figuriamoci parlare 
 circa bene alla fine della giornata 
 computer stanno usando 
 qual è il loro contributo davvero giusto 
 l'elettricità è probabilmente l'unica 
 cosa 
 tutti noi lo facciamo ogni giorno o ogni coppia 
 di giorni con il nostro laptop o desktop o 
 Telefono 
 è o assicurarsi che sia ancora collegato 
 o per collegarlo in modo da caricarlo 
 quindi l'unico input fisico al nostro 
 dispositivi in ​​questi giorni 
 è elettricità in qualche forma e noi no 
 devo entrare nelle sfumature di cosa 
 l'elettricità è ma penso che si tratti 
 elettroni che fluiscono nel dispositivo così come 
 per caricarlo così 
 è sufficiente per i nostri scopi sapere 
 che ci sia un input fisico in 
 dispositivo 
 questi computer e telefoni che utilizziamo 
 ma è così e così 
 se sfruttiamo questa elettricità forse noi 
 può iniziare a rappresentare le informazioni con 
 per esempio ecco una lampadina questa 
 vecchio 
 luce fantasma nel teatro ecco qua 
 attualmente spento ma ha la capacità di 
 accendere dobbiamo solo 
 collegalo o lancia un interruttore e 
 se è così, è davvero così 

English: 
it the case like why didn't they invent
computers decades ago that just use zero
through nine rather than come up with a
whole new system
for us to think about let alone talk
about well at the end of the day
computers are using
what is their input really just
electricity right probably the only
thing
all of us do every day or every couple
of days with our laptop or desktop or
phone
is either make sure it's still plugged
in or to plug it in so as to charge it
so the only physical input to our
devices these days
is electricity in some form and we don't
have to get into the nuances of what
electricity is but i think it's about
electrons flowing into the device so as
to charge it so
it suffices for our purposes to know
that there's some physical input to the
device
these computers and phones that we use
but that's it and so
if we harness this electricity maybe we
can start to represent information with
it for instance here's a light bulb this
old
ghost light in the theater here that's
currently off but it has the ability to
turn on we just need to
plug it in or throw on a switch and
if that's the case what's really quite

Italian: 
 avvincente 
 sulla metafora dell'uso delle luci è 
 che in questo momento questa lampadina è 
 attualmente spento ma non appena lo permetto 
 elettricità per fluire 
 come collegandolo o magari lanciando un file 
 interruttore 
 ora è ovviamente acceso e se lo scollego 
 o premere di nuovo l'interruttore 
 è spento o se lo ricollego è acceso 
 e le implicazioni di questo sono molto semplici 
 l'idea è che possiamo prendere un fisico 
 dispositivo come una singola lampadina 
 e collegandolo o scollegandolo 
 possiamo rappresentare le informazioni che cosa ho fatto 
 basta fare 
 ho rappresentato la lampadina spenta 
 o su ma possiamo semplicemente richiamare e riaccendere 
 qualcos'altro possiamo chiamarli 
 zeri e uno e quindi questo è davvero il file 
 germe di un'idea che ci ha dato 
 computer e con esso il loro utilizzo del file 
 sistema binario se alla fine della giornata 
 tutto ciò che hanno è un input fisico 
 elettricità 
 beh, usiamolo per sfruttare e 
 tenere traccia delle informazioni memorizziamo un file 
 un po 'di elettricità 
 quando vogliamo rappresentare uno e 
 lasciamo andare quell'elettricità in alcuni 
 senso quando vogliamo rappresentare 
 uno zero invece e così perchè l'ingresso 

English: 
compelling
about the metaphor of using lights is
that right now this light bulb is
currently off but as soon as i allow
electricity to flow
as by plugging it in or maybe throwing a
switch
now it's of course on and if i unplug it
or throw the switch again
it's off or if i plug it back in it's on
and the implication of this very simple
idea is that we can take a physical
device like a single light bulb
and by plugging it in or unplugging it
we can represent information what did i
just do
i represented the light bulb being off
or on but we can just call off and on
something else we can call them
zeros and ones and so this really is the
germ of an idea that gave us
computers and with it their use of the
binary system if at the end of the day
all they have is physical input is
electricity
well let's just use that to harness and
keep track of information let's store a
little bit of electricity
when we want to represent a one and
let's let go of that electricity in some
sense when we want to represent
a zero instead and so because the input

Italian: 
 ai computer è così semplice 
 quindi ci dà uh questi zeri e uno 
 che ora usiamo ma che ci sembra di avere 
 creato un problema per noi stessi 
 se abbiamo solo una lampadina o una 
 interruttore 
 se è spento potrebbe essere zero se è acceso 
 potrebbe essere uno 
 ma come faccio a contare più in alto di uno che 
 il problema rimane ancora fondamentalmente 
 beh potrei ovviamente usare più luce 
 lampadine quindi lasciatemi chiedere questo se dovessimo 
 uso 
 tre lampadine quanto potremmo in alto 
 conta così con una lampadina che possiamo 
 contare 
 da zero a uno due possibilità ma 
 con tre lampadine quanto potremmo in alto 
 conta bene lasciami andare avanti e chiedi questo 
 domanda qui sullo schermo 
 tra un attimo vedrai dalla tua parte 
 questa particolare domanda 
 con cui puoi rispondere sul tuo dispositivo 
 quanto in alto puoi contare con tre luci 
 lampadine 
 quindi invece di uno te ne do tre ciascuno 
 di cui può essere su o 
 quanto in alto possiamo forse contare 
 quindi vedrai sullo schermo qui il file 
 la risposta sta arrivando 

English: 
to computers is so simple
thus gives us uh these zeros and ones
that we now use but we seem to have
created a problem for ourselves
if we only have one light bulb or one
switch
if it's off it might be zero if it's on
it might be a one
but how do i count higher than one that
problem still fundamentally remains
well i could of course use more light
bulbs so let me ask this if we were to
use
three light bulbs how high could we
count so with one light bulb we can
count
from zero to one two possibilities but
with three light bulbs how high could we
count well let me go ahead and ask this
question here on the screen
in just a moment you'll see on your side
this particular question
by which you can respond on your device
how high can you count with three light
bulbs
so instead of one i give you three each
of which can be on or
off how high can we perhaps count
so you'll see on the screen here the
answer is coming in

Italian: 
 abbiamo molte persone che pensano oltre i 60 anni 
 percento che sono otto 
 è il più alto su cui puoi contare molto 
 pensi che siano le sette e alcuni di voi 
 penso anche che potrebbero essere tre 
 o due, quindi è davvero interessante 
 gamma di risposte e 
 vediamo cosa potrebbe effettivamente essere il file 
 caso bene fammi tagliare di nuovo a 
 tre lampadine effettive qui tutte 
 che sono spenti 
 e più ingenuamente penso che se dovessimo 
 accendere queste lampadine, se 
 attualmente rappresentano zero 
 ovviamente potrei accenderne uno e noi 
 potrei chiamarlo uno quindi potrei accendere il 
 il secondo 
 e chiamalo due accendi il terzo 
 e ora con tutti e tre attivi potremmo dire 
 ora rappresentiamo tre ma lo siamo 
 non essere ancora abbastanza intelligente 
 se contiamo solo fino a 
 tre perché li sto solo accendendo 
 in questa storia da sinistra a destra 
 ma se fossimo un po 'più intelligenti? 
 forse li abbiamo attivati ​​da destra a sinistra o 
 forse li abbiamo permutati 
 in direzioni diverse che abbiamo preso 
 tenendo conto non solo di quante lampadine sono 
 sopra 
 o quante dita ci sono nell'aria ma 
 piuttosto il modello 
 di lampadine accese e spente che abbiamo 
 creato 
 Quindi contiamo solo questo, quindi lasciami 
 in qualche modo sistematicamente trasformare alcuni di 

English: 
we have a lot of folks thinking 60 plus
percent that it's eight
is the highest you can count a lot of
you think it's seven and some of you
also think it might be three
or two so that's actually an interesting
range of answers and
let's see what might actually be the
case well let me cut back over to
three actual light bulbs here all of
which are off
and most naively i think if we were to
turn these light bulbs on if they
currently represent zero
obviously i could turn one on and we
could call it one then i could turn the
second one on
and call it two turn on the third one
and now with all three on we could say
now we're representing three but we're
not really being clever enough just yet
if we're only counting as high as
three because i'm just turning them on
in this story left to right
but what if we were a little more clever
maybe we turned them on right to left or
maybe we kind of permuted them
in different directions that is we took
into account not just how many bulbs are
on
or how many fingers are in the air but
rather the pattern
of on and off light bulbs that we've
created
so let's just count this up so let me
somewhat systematically turn some of

Italian: 
 queste lampadine qui 
 anche se virtualmente qui potrebbe essercene uno qui 
 potrebbero essere due 
 qui potrebbero essere tre ma allora siamo gentili 
 di aver finito con quella storia, quindi come potremmo 
 fallo un po 'meglio bene iniziamo 
 di nuovo a zero 
 qui potrebbe essere uno perché non lo chiamiamo 
 Due 
 perché non lo chiamiamo 3 perché non lo facciamo 
 chiamalo 
 4 chiamalo 5 questo 6 
 e questo 7. ora va bene se non l'hai fatto 
 guarda bene quale schema stavo seguendo 
 ma 
 credimi sulla parola che era un file 
 modello unico 
 di lampadine otto volte totali i 
 ha iniziato 
 spento spento spento e l'ho terminato acceso ma 
 lungo la strada erano effettivamente otto ma 
 quanto in alto posso contare 
 beh, dipende da quale numero 
 inizi a contare da e proprio come noi 
 finora 
 hanno fatto gli scienziati informatici 
 tutto il tempo scienziati informatici e 
 programmi per computer interni 
 in genere inizia a contare solo da zero 
 perché ha senso perché quando 
 tutto è spento 
 potresti anche chiamarlo zero quindi se 
 iniziamo a contare da zero 
 e abbiamo otto possibili modelli che 
 abbiamo appena visto pittoricamente 

English: 
these bulbs on here
albeit virtually here might be one here
might be two
here might be three but then we're kind
of done with that story so how might we
do it a little better well let's start
again at zero
here might be one why don't we call this
two
why don't we call this 3 why don't we
call this
4 call this 5 this 6
and this 7. now it's fine if you didn't
quite see what pattern i was following
but
take my word for it that that was a
unique pattern
of light bulbs eight total times i
started it
off off off and i ended it on on on but
along the way they were indeed eight but
how high can i count
well it kind of depends on what number
you start counting from and just as we
thus far
have been doing computer scientists do
all the time computer scientists and
intern computer programs
typically start counting from zero just
because it makes sense because when
everything is off
you might as well call that zero so if
we start counting at zero
and we have eight possible patterns that
we just saw pictorially

English: 
well that would allow us to count as
high as seven so from zero to
seven so seven is the highest we can
count with three light bulbs
so those of you who propose that seven
was the answer 36 percent of you were
indeed correct
uh 57 percent of you who said eight are
correct
if you assume we start counting at one
and that's fine but at least in the
computing world now
we'll generally by convention start
counting from zero but you are correct
to say
that there's eight such possibilities
all right well this is all fine and good
to represent things with patterns of
light bulbs but how do we actually now
get to the zeros and ones
that a computer is actually using
because what's inside of a computer at
the end of the day
are not light bulbs but tiny tiny little
switches
millions of little switches that can
either be on or one
or off or zero those switches happen to
be called transistors
and these days computers do have
millions of these things that can be on
and off in different patterns so if you
have the ability to turn
on and off all of these switches well
what can we all agree

Italian: 
 beh, questo ci permetterebbe di contare come 
 alto come sette quindi da zero a 
 sette così sette è il massimo che possiamo 
 contare con tre lampadine 
 quindi quelli di voi che propongono quel sette 
 era la risposta il 36 per cento di voi lo era 
 anzi corretto 
 uh 57 per cento di voi che ha detto che otto lo sono 
 corretta 
 se presumi iniziamo a contare da uno 
 e va bene, ma almeno in 
 mondo dei computer adesso 
 generalmente inizieremo per convenzione 
 contando da zero ma hai ragione 
 dire 
 che ci sono otto di queste possibilità 
 tutto bene bene questo va tutto bene e bene 
 per rappresentare le cose con modelli di 
 lampadine ma come si fa adesso 
 arrivare agli zeri e agli uno 
 che un computer sta effettivamente utilizzando 
 perché cosa c'è dentro un computer in 
 la fine del giorno 
 non sono lampadine ma minuscole minuscole 
 interruttori 
 milioni di piccoli interruttori che possono 
 o essere acceso o uno 
 o off o azzerare questi interruttori 
 essere chiamati transistor 
 e di questi tempi i computer ce l'hanno 
 milioni di queste cose che possono essere attive 
 e fuori in diversi modelli quindi se tu 
 avere la capacità di girare 
 accendere e spegnere bene tutti questi interruttori 
 cosa possiamo essere tutti d'accordo 

Italian: 
 sulla rappresentazione quando si tratta di 
 utilizzando questi interruttori 
 come rappresenteremo le informazioni con 
 loro bene meravigliosamente 
 non abbiamo davvero bisogno di pensare molto intensamente 
 o vai oltre le nostre radici molto confortevoli come 
 ragazzi 
 se consideriamo per un momento non solo 
 zero e uno ma l'intero decimale 
 dal sistema zero al nove che tu ed io 
 tutto è iniziato la nostra giornata con oggi come fa 
 quel sistema funziona bene 
 qui sullo schermo c'è uno due tre così 
 sì, probabilmente stai pensando che è 123 
 ma non del tutto 
 tutto quello che ho mostrato sullo schermo è un file 
 modello di simboli uno 
 due tre o tre cifre e tutti noi 
 probabilmente stanno istintivamente solo dicendo 
 ovviamente è 123. ma probabilmente lo è 
 Sono passati anni da quando hai considerato il motivo 
 è 123. 
 bene consideriamo cosa ognuno di questi 
 cifre o simboli rappresentano 
 se sei come me sei cresciuto imparando 
 che la cifra più a destra è quella 
 posto 
 il mezzo è il posto delle decine a sinistra 
 uno è il posto delle centinaia 
 e quindi come otteniamo da questi tre 
 simboli o cifre uno due tre 
 per l'idea matematica che conosciamo è 123 
 bene tutti noi 

English: 
on uh representation when it comes to
using those switches
how will we represent information with
them well wonderfully
we don't really need to think very hard
or go past our very comfortable roots as
kids
if we consider for a moment not just
zero and one but the whole decimal
system zero through nine that you and i
all started our day with today how does
that system work well
here on the screen is one two three so
yes you're probably thinking that's 123
but not quite
all i've shown on the screen is a
pattern of symbols one
two three or three digits and all of us
probably are instinctively just saying
obviously it's 123. but it's probably
been years since you considered why it
is 123.
well let's consider what each of these
digits or symbols represents
if you're like me you grew up learning
that the rightmost digit is the ones
place
the middle is the tens place the left
one is the hundreds place
and so how do we get from these three
symbols or digits one two three
to the mathematical idea we know is 123
well all of us

Italian: 
 istantaneamente in questi giorni ha fatto 100 volte 
 1 
 più 10 volte 2 più 1 volte 3 quale di 
 ovviamente è solo 100 
 più 20 più 3 o il valore matematico 
 sappiamo tutti che è 123. quindi 
 un argomento un po 'circolare ma solo per 
 ricordaci come siamo arrivati 
 da 123 a 123 bene risulta 
 che nel mondo dei computer il 
 sistema che usano 
 è fondamentalmente esattamente lo stesso 
 l'unica differenza è che i computer 
 hanno accesso solo a zeri e quelli no 
 da zero a nove 
 quindi se consideriamo ora in astratto 
 solo tre possibili cifre 
 rappresentato qui consideriamo per a 
 momento perché quelle colonne o luoghi erano 
 1 
 10 e 100 e così via, perché è stato 
 che il caso bene c'era uno schema 
 in effetti e ha solo a che fare con 
 esponenti o potenze 
 quindi la colonna più a destra tecnicamente se 
 entriamo davvero nelle erbacce 
 è 10 al potere zero che se tu 
 ricordare significa solo uno 
 10 alla prima potenza che è solo 10 

English: 
instantaneously these days did 100 times
1
plus 10 times 2 plus 1 times 3 which of
course is just 100
plus 20 plus 3 or the mathematical value
we all know is 123. so
a bit of a circular argument but just to
remind us how we got
from 123 to 123 well it turns out
that in the world of computers the
system they use
is exactly fundamentally the same
the only difference is that computers
only have access to zeros and ones not
zeros through nines
so if we consider now in the abstract
just three possible digits
represented here let's consider for a
moment why those columns or places were
1
10 and 100 and so forth well why was
that the case well there was a pattern
in fact and it just has to do with
exponents or powers
so the rightmost column technically if
we really get into the weeds
is 10 to the zeroth power which if you
recall just means one
10 to the first power which is just 10

English: 
and 10 to the second power or 10 squared
is 100 but what's interesting about
representing it in this way is that it
jumps out
that 10 is involved there's 10 digits 0
through 9 so the columns are using this
base of 10. so you can perhaps now get
even ahead of me here
by considering well if in the binary
system the computer is used you only
have two digits zeros and ones
odds are the only thing that's going to
change is the meaning of these columns
now we have the ones place
still because two to the 0 is 1 but then
we have 2 to the first
2 to the second and so forth and of
course if we just do out the math
in the world of binary that computers
use we have the ones place
two's place four's place and so forth
and now we're good to go even though we
have to now think in a different
base system now we can start counting
more properly and now we can move away
of
from the metaphor of light bulbs and
consider that if all of those light
bulbs are off we're again just going to
start thinking of those things as
zeros so that would be a pattern of
symbols or digits that's 0

Italian: 
 e 10 alla seconda potenza o 10 al quadrato 
 è 100 ma ciò che è interessante 
 rappresentarlo in questo modo è quello 
 salta fuori 
 che è coinvolto 10 ci sono 10 cifre 0 
 attraverso 9 in modo che le colonne lo utilizzino 
 base di 10. così ora puoi forse ottenere 
 anche davanti a me qui 
 considerando bene se in binario 
 sistema il computer viene utilizzato solo tu 
 hanno due cifre zero e uno 
 le probabilità sono l'unica cosa che succederà 
 cambiamento è il significato di queste colonne 
 ora abbiamo i posti unici 
 ancora perché due a 0 è 1 ma poi 
 abbiamo 2 al primo 
 2 al secondo e così via e di 
 Ovviamente se facciamo solo i conti 
 nel mondo del binario che i computer 
 uso abbiamo gli unici posto 
 posto due posto quattro e così via 
 e ora siamo a posto anche se noi 
 ora devo pensare in modo diverso 
 sistema di base ora possiamo iniziare a contare 
 più correttamente e ora possiamo allontanarci 
 di 
 dalla metafora delle lampadine e 
 considera che se tutti quelli leggeri 
 le lampadine sono spente, stiamo di nuovo per farlo 
 inizia a pensare a quelle cose come 
 zeri in modo che sia un modello di 
 simboli o cifre che sono 0 

Italian: 
 0 0 in binario ma nel nostro mondo umano 
 la matematica mentale che probabilmente faresti 
 ora istantaneamente dopo oggi 
 sarebbe bene che fosse ovviamente 4 per 0 
 più 2 per 0 
 più 1 per 0 o ovviamente 0 in decimale 
 ma come fa un computer a rappresentare il file 
 numero 1 
 per esempio, beh, sta per succedere 
 cambiarlo di più 
 bit da 0 a 1 o più 
 metaforicamente cambierà quello 
 accendere 
 e illumina quella lampadina più a destra 
 proprio come ho fatto prima 
 come rappresento 2 sarà 0 
 1 0 
 in binario come rappresento 3 questo è 
 dove stiamo per differire 
 ora metto su due di questi interruttori 
 perché ho bisogno di qualcosa tra i due 
 posto e quelli che mi danno 
 matematicamente 
 tre successivi se andiamo avanti e scegliamo 
 uh conta fino a quattro che sarà 
 uno zero zero 
 se voglio contare fino a cinque è 
 sarà uno zero uno sei 
 sarà uno uno zero e infine 
 il numero sette 
 sarà uno uno uno 

English: 
0 0 in binary but in our human world
the mental math you would probably do
now instantaneously after today
would be well that's obviously 4 times 0
plus 2 times 0
plus 1 times 0 or of course 0 in decimal
but how does a computer represent the
number 1
for instance well it's just going to
change that right most
bit from a 0 to a 1 or more
metaphorically it's going to turn that
switch on
and illuminate that rightmost light bulb
just like i did earlier
how do i represent 2 it's going to be 0
1 0
in binary how do i represent 3 this is
where we're about to differ
now i'm putting on two of those switches
because i need something in the two's
place and the ones place to give me
mathematically
three next if we go ahead and choose
uh count up to four that's going to be
one zero zero
if i want to count up to five that's
going to be one zero one six
is going to be one one zero and finally
the number seven
is going to be one one one

English: 
so it would seem that using three bits
each of which can be a zero or one
yes you can permute them in eight
different ways two possibilities for the
first
times two for the second times two for
the third gives us eight but as per this
math and the intuition of starting
counting from zero
we can only count up as high as seven
in total well let's go ahead and
actually take this out for a spin when
we don't have
just say uh let's say
one light bulb or three light bulbs we
have actually the fortune of having like
a whole stage worth of light bulbs 64
light bulbs
a jar a door in the stage here and you
know what sumner could we go ahead and
put up a random number
on the screen here all right so if you
can see these light bulbs from your
perspective
we have eight light bulbs plus another
bunch of them all and all the others are
off
and i what the pattern i see is off on
off
off on on so off on
off off on on so let's go ahead and ask
a question then

Italian: 
 quindi sembrerebbe che usando tre bit 
 ognuno dei quali può essere uno zero o uno 
 sì, puoi permutarli in otto 
 modi diversi due possibilità per il 
 primo 
 volte due per la seconda volte due per 
 il terzo ci dà otto ma come per questo 
 la matematica e l'intuizione di iniziare 
 contando da zero 
 possiamo contare solo fino a sette 
 in totale bene andiamo avanti e 
 in realtà portalo fuori per un giro quando 
 non abbiamo 
 dì solo uh diciamo 
 una lampadina o tre lampadine noi 
 avere effettivamente la fortuna di avere like 
 un intero palcoscenico di lampadine 64 
 lampadine 
 un barattolo una porta in scena qui e tu 
 so quale sumner potremmo andare avanti e 
 mettere un numero casuale 
 sullo schermo qui va bene quindi se tu 
 può vedere queste lampadine dal tuo 
 prospettiva 
 abbiamo otto lampadine più un'altra 
 un mucchio di tutti e tutti gli altri lo sono 
 spento 
 e io quello che lo schema che vedo è spento 
 spento 
 spento acceso così spento acceso 
 off off on quindi andiamo avanti e chiediamo 
 una domanda allora 

English: 
if these light bulbs now represent not
just
one light bulb or two or three but
several more in this case at least
six light bulbs what value do we
actually get well let me go ahead and
put a question on the screen here
which should pop up on yours in just a
moment and you should see now on your
end
this same question put in binary terms
what number in decimal does binary
number
one one zero zero one
zero represents oh and
yes and realize that i have to clarify
uh i read it out physically but i'm now
reading it out
virtually here what decimal number does
binary number 1 1
zero zero one zero represent from left
to right
i unfortunately read it from my left to
my right but yours is the opposite
so here we have uh an overwhelming
response 50
is indeed the correct answer now why is
that well if i go over to the physical

Italian: 
 se queste lampadine ora rappresentano no 
 appena 
 una lampadina o due o tre ma 
 molti altri almeno in questo caso 
 sei lampadine che valore abbiamo 
 effettivamente guarisci lasciami andare avanti e 
 metti una domanda sullo schermo qui 
 che dovrebbe apparire sul tuo in appena un file 
 momento e dovresti vedere ora sul tuo 
 fine 
 questa stessa domanda posta in termini binari 
 quale numero in decimale fa binario 
 numero 
 uno uno zero zero uno 
 zero rappresenta oh e 
 si e realizzo che devo chiarire 
 uh l'ho letto fisicamente ma ora lo sono 
 leggendolo 
 virtualmente qui cosa fa il numero decimale 
 numero binario 1 1 
 zero zero uno zero rappresenta da sinistra 
 a destra 
 purtroppo l'ho letto da sinistra a 
 il mio diritto ma il tuo è l'opposto 
 quindi qui abbiamo uh travolgente 
 risposta 50 
 è davvero la risposta corretta ora perché lo è 
 che bene se vado al fisico 

English: 
light bulbs here let's just consider for
a moment what the pattern actually is
this here is the ones place the twos
place
4 8 16 32
and we could keep going but it's not
going to matter because they're all off
so we have 32
plus 16 plus 2 which indeed gives us the
number you and i know in decimal
as 50. and just imagine how high we
could count with all of the other light
bulbs as well
all right so we started with the story
with electricity we then moved on to
numbers and representing things either
in decimal or in binary but we've kind
of painted ourselves into a corner
because if we only have at our disposal
switches or the metaphorical light bulbs
which we can think of
as zeros and ones it would seem that the
only things computers can do
is compute that is behave as calculators
and in fact early on
that's exactly what computers were
designed to do was really facilitate
mathematical calculations that were
otherwise quite tedious or impossible
for humans
but of course what you and i are using
right now what we use every day on our
phones and our laptops and desktops

Italian: 
 lampadine qui consideriamo solo per 
 un momento quale sia lo schema in realtà 
 questo qui è quello che colloca i due 
 posto 
 4 8 16 32 
 e potremmo andare avanti ma non lo è 
 importerà perché sono tutti fuori 
 quindi ne abbiamo 32 
 più 16 più 2 che in effetti ci dà il 
 numero tu e io sappiamo in decimale 
 come 50. e immagina quanto in alto siamo 
 potrebbe contare con tutta l'altra luce 
 anche le lampadine 
 tutto bene così abbiamo iniziato con la storia 
 con l'elettricità siamo poi passati a 
 numeri e rappresentare le cose 
 in decimale o in binario ma abbiamo gentile 
 di aver dipinto noi stessi in un angolo 
 perché se solo avessimo a nostra disposizione 
 interruttori o le lampadine metaforiche 
 a cui possiamo pensare 
 come zeri e uno sembrerebbe che il 
 solo cose che i computer possono fare 
 è il calcolo che si comporta come calcolatori 
 e in effetti all'inizio 
 questo è esattamente ciò che erano i computer 
 progettato per fare era davvero facilitare 
 calcoli matematici che erano 
 altrimenti abbastanza noioso o impossibile 
 per gli esseri umani 
 ma ovviamente quello che usiamo io e te 
 in questo momento quello che usiamo ogni giorno sul nostro 
 telefoni e i nostri laptop e desktop 

English: 
is much more sophisticated so let's
consider how could a computer represent
not just numbers
but letters of the alphabet brian could
we call on someone for this one if you'd
like to raise your
virtual hand how could a computer go
about representing letters of an
alphabet like english
if again all we have at our disposal is
switches
what do you think let's see sophia could
we go to you
oh we can assign the numbers that we're
getting from
binary to specific uh letters in the
alphabet
yeah we can assign the specific numbers
in binary to letters of the alphabet
that's pretty much our only option it
would seem if we only have the ability
to permute these switches or light bulbs
or bits well we just all have
to agree how to represent letters in the
same way now maybe the simplest way for
us to do this would be you know what
let's just all agree that a capital a
is going to be the number one so you

Italian: 
 è molto più sofisticato quindi cerchiamo 
 considera come potrebbe rappresentare un computer 
 non solo numeri 
 ma le lettere dell'alfabeto Brian sì 
 chiamiamo qualcuno per questo se vuoi 
 piace aumentare il tuo 
 mano virtuale come potrebbe andare un computer 
 sulla rappresentazione di lettere di un 
 alfabeto come l'inglese 
 se ancora tutto quello che abbiamo a nostra disposizione è 
 interruttori 
 cosa pensi che potrebbe vedere Sophia 
 andiamo da te 
 oh possiamo assegnare i numeri che siamo 
 arrivare da 
 binario a specifiche lettere uh nel 
 alfabeto 
 sì possiamo assegnare i numeri specifici 
 in binario alle lettere dell'alfabeto 
 questa è praticamente la nostra unica opzione 
 sembrerebbe se avessimo solo la capacità 
 per permutare questi interruttori o lampadine 
 o bit, beh, abbiamo tutti 
 per concordare come rappresentare le lettere nel file 
 allo stesso modo ora forse il modo più semplice per 
 noi per fare questo saresti tu sai cosa 
 siamo tutti d'accordo che la a maiuscola 
 sarà il numero uno quindi tu 

English: 
turn on one light bulb or represent the
binary number
one uh well how about for b we could use
the number two
for c we could use the number uh the the
number three
d could be four and so forth we all just
have to agree to number
the letters uh in that way but it turns
out humans did
exactly that but a little bit
differently years ago they decided
for reasons that we won't get into just
now that actually the capital letter a
is actually going to be represented by
the decimal number you and i
know as 65. now in bitwise form that's
going to look like this so this is the
pattern of bits
that a computer would use to represent
the decimal number we now know
as 65 and now what the computer is going
to do is just be mindful of what type of
program you're using
so yes if you're using a calculator or
maybe using something like
excel to crunch numbers well in that
context when running
software like a calculator or
spreadsheet program doing numerical
analysis
the program is going to see inside of
the computer's
hardware the pattern of switches that

Italian: 
 accendere una lampadina o rappresentare il 
 numero binario 
 uno uh beh, che ne dici di b potremmo usare 
 il numero due 
 per c potremmo usare il numero uh il 
 numero tre 
 d potrebbe essere quattro e così via 
 devo accettare il numero 
 le lettere uh in quel modo ma gira 
 gli umani lo hanno fatto 
 esattamente quello, ma un po ' 
 diversamente anni fa hanno deciso 
 per ragioni di cui non ci occuperemo solo 
 ora che effettivamente la lettera maiuscola a 
 sarà effettivamente rappresentato da 
 il numero decimale io e te 
 conosciuto come 65. ora in forma bit per bit che è 
 assomiglierà a questo, quindi questo è il file 
 modello di bit 
 che un computer utilizzerebbe per rappresentare 
 il numero decimale che ora conosciamo 
 come 65 e ora cosa sta andando il computer 
 fare è solo essere consapevoli di che tipo di 
 programma che stai utilizzando 
 quindi sì se stai usando una calcolatrice o 
 magari usando qualcosa di simile 
 eccellere nel sgranocchiare bene i numeri in questo 
 contesto durante l'esecuzione 
 software come una calcolatrice o 
 programma di fogli di calcolo facendo numerico 
 analisi 
 il programma vedrà all'interno di 
 i computer 
 hardware il modello di interruttori che 

English: 
represents
the decimal number 65 and because it's
in the context of a calculator or
spreadsheet what you the human might see
on the screen
is literally the decimal number 65 but
if you and i are using text messaging or
email or any number of social media apps
where we're communicating not
numerically
but in letters say english letters in
that context your pro
your computer is going to be smart
enough to know well that same pattern of
bits
that represent 65 in the context of a
text message
or in an email or the like actually
represents the capital
letter a so the pattern is the same the
representation is the same but the
context is what differs
and the system that humans came up with
years ago that maps 65 to
a 66 to b 67 to c
is called ascii the american standard
code for information
interchange and that just means that
there is a well-defined mapping
that a bunch of humans decades ago
decided on in order to map
letters of the alphabet english in this
case to numbers starting with 65 and
there's a whole mapping two for

Italian: 
 rappresenta 
 il numero decimale 65 e perché è 
 nel contesto di una calcolatrice o 
 foglio di calcolo ciò che l'umano potrebbe vedere 
 sullo schermo 
 è letteralmente il numero decimale 65 ma 
 se tu ed io usiamo messaggi di testo o 
 email o un numero qualsiasi di app di social media 
 dove non stiamo comunicando 
 numericamente 
 ma nelle lettere si dice lettere inglesi in 
 quel contesto il tuo professionista 
 il tuo computer sarà intelligente 
 abbastanza per conoscere bene lo stesso schema di 
 bit 
 che rappresentano 65 nel contesto di a 
 messaggio testuale 
 o in un'e-mail o simili in realtà 
 rappresenta la capitale 
 lettera a quindi il modello è lo stesso del 
 la rappresentazione è la stessa ma il file 
 il contesto è ciò che differisce 
 e il sistema inventato dagli umani 
 anni fa che mappa da 65 a 
 da a 66 a b 67 a c 
 si chiama ascii lo standard americano 
 codice per informazioni 
 interscambio e questo significa proprio questo 
 c'è una mappatura ben definita 
 che un gruppo di umani decenni fa 
 deciso per mappare 
 lettere dell'alfabeto inglese in questo 
 caso ai numeri che iniziano con 65 e 
 c'è un'intera mappatura due per 

Italian: 
 punteggiatura 
 per lettere minuscole e simili 
 dato che 
 dato che supponiamo di aver ricevuto 
 un messaggio di testo contenente un motivo 
 di bit o in realtà solo una sequenza di 
 numeri decimali 
 che è questo 72 73 
 33 supponiamo di aver ricevuto un messaggio 
 messaggio contenente questi 
 modelli di numeri 72 73 
 33 quale messaggio potresti avere appena 
 ricevuto lasciami andare avanti e tirare su 
 la tabella abbreviata qui da considerare 
 esattamente quale messaggio hai ricevuto 
 72 73 33 e sumner potremmo andare avanti 
 e lancia questo 
 stessa parola di tre lettere su questo sul 
 luci 
 se vuoi vederlo in forma un po 'saggia 
 per così dire 
 lo stesso modello 72 73 33 
 apparirà qui su queste lampadine 
 adesso 

English: 
punctuation
for lowercase letters and the like so
given that
given that suppose that you did receive
a text message containing a pattern
of bits or really just a sequence of
decimal numbers
that happen to be this 72 73
33 suppose that you received a text
message containing these
patterns of numbers 72 73
33 what message might you have just
received let me go ahead and pull up
the abbreviated chart here to consider
exactly what message you've received
72 73 33 and sumner could we go ahead
and throw this
same three-letter word on this on the
lights
if you'd like to see it in bit wise form
so to speak
that same pattern 72 73 33
will appear here on these light bulbs
now

English: 
as well what pattern does this represent
uh lanham can we go to you
uh that would be high with an excellent
exclamation point correct yeah so it's
indeed high with an exclamation point
and it's probably pretty easy now in
retrospect to glean that yes the 72 and
the 73 were h and i respectively
um but lanham also noted the exclamation
point which it isn't in this chart but
per the dot
dots there is a well-defined mapping for
all of the letters of the alphabet that
we might care about
and so high is perhaps more obvious than
the other that 33 we need a bigger chart
and so if you actually go on your
computers now to ascii
ascii chart.com you'll see a little
something like this though you can also
just google ascii in general and get
copies of the same chart
you'll see here that h is indeed 72 i is
indeed 73 but if we look to the left
33 is apparently an exclamation mark and
you would only know that by having
looked it up or just having committed it
to memory but the computers you and i
use and the phones you and i use
just know this intrinsically that's
indeed how they're programmed
but it turns out too that we should

Italian: 
 e quale schema rappresenta questo 
 uh lanham possiamo andare da te 
 uh sarebbe alto con un eccellente 
 punto esclamativo corretto sì quindi è 
 anzi alto con un punto esclamativo 
 ed è probabilmente abbastanza facile ora 
 retrospettivamente per spigolare che sì il 72 e 
 i 73 erano rispettivamente he i 
 um ma lanham notò anche l'esclamazione 
 punto che non è in questo grafico ma 
 per punto 
 punti c'è una mappatura ben definita per 
 tutte le lettere dell'alfabeto che 
 ci potrebbe interessare 
 e così in alto è forse più ovvio di 
 l'altro che 33 abbiamo bisogno di un grafico più grande 
 e quindi se vai effettivamente sul tuo 
 computer ora in ASCII 
 ascii chart.com vedrai un po ' 
 qualcosa del genere però puoi anche 
 solo google ascii in generale e ottieni 
 copie dello stesso grafico 
 vedrai qui che h è effettivamente 72 i è 
 anzi 73 ma se guardiamo a sinistra 
 33 è apparentemente un punto esclamativo e 
 lo sapresti solo avendo 
 lo ha cercato o lo ha appena commesso 
 alla memoria ma i computer tu ed io 
 uso e i telefoni che io e te usiamo 
 sappi solo che questo è intrinsecamente 
 in effetti come sono programmati 
 ma si scopre anche che dovremmo 

English: 
consider just how many zeros and ones
we're using now
to represent the 72 the 73 and the 33
so let's look for one last time at the
binary representation which as per the
light bulbs
are these patterns of bits here so when
you receive a text message from a friend
saying hi
hi exclamation point in all caps you're
technically receiving a pattern of bits
some kind of frequency if it's wireless
that represents
this pattern of bits and typically
computers these days
use eight bits to represent each of
those characters when ascii first came
out they typically used seven for
efficiency reasons
because space was expensive back then
but here we used eight
and indeed that's now the norm when it
comes to representing characters in
multiples of eight so we have
eight bits here eight bits here eight
bits here which means to receive the
message high
you are sending or receiving 24 bits
total
now frankly bits are not a very useful
unit of measure typically because
they're so small just a zero or a one
but each of these patterns of eight bits

Italian: 
 considera solo quanti zeri e uno 
 stiamo usando ora 
 a rappresentare il 72 il 73 e il 33 
 quindi cerchiamo un'ultima volta il file 
 rappresentazione binaria che secondo il 
 lampadine 
 sono questi modelli di bit qui così quando 
 ricevi un messaggio di testo da un amico 
 salutando 
 ciao punto esclamativo tutto maiuscolo sei 
 tecnicamente ricevendo un pattern di bit 
 un qualche tipo di frequenza se è wireless 
 che rappresenta 
 questo modello di bit e in genere 
 computer in questi giorni 
 utilizzare otto bit per rappresentare ciascuno di 
 quei caratteri quando è arrivato ASCII 
 in genere ne usavano sette per 
 ragioni di efficienza 
 perché allora lo spazio era costoso 
 ma qui ne abbiamo usati otto 
 e in effetti questa è ora la norma quando è 
 arriva a rappresentare i personaggi in 
 multipli di otto quindi abbiamo 
 otto bit qui otto bit qui otto 
 bit qui che significa ricevere il file 
 messaggio alto 
 stai inviando o ricevendo 24 bit 
 totale 
 ora francamente i bit non sono molto utili 
 unità di misura tipicamente perché 
 sono così piccoli solo uno zero o uno 
 ma ciascuno di questi modelli di otto bit 

Italian: 
 effettivamente 
 una parola di vocabolario se vuoi che è 
 byte e probabilità sono tutti usati da noi 
 Questo 
 termine in un certo contesto ma generalmente in 
 il contesto di megabyte o addirittura 
 gigabyte in effetti quando parli di 
 dimensioni dei tuoi file in questi giorni sei 
 A proposito di 
 in byte in qualche forma milioni o 
 miliardi di byte 
 ma ognuno di quei byte semplicemente lo è 
 un modello di otto 
 zeri e uno così in effetti se abbiamo come 
 fino a 64 
 lampadine a nostra disposizione che sono 64 divise 
 per otto sono otto caratteri quindi 
 sembrerebbe che potremmo scrivere su questa fase 
 anche una parola di otto lettere se sumner noi 
 potrebbe mettere una parola casuale di otto lettere 
 quello continuerà ora 
 um ora puoi scrivere da sinistra a destra 
 la tua sinistra alla tua destra otto lettere 
 parola usando il sistema 
 noto come ascii ma ovviamente lo stiamo facendo 
 un po 'di parte qui come ascii 
 è il codice standard americano per 
 scambio di informazioni e su un tipico 
 tastiera inglese americana 
 c'è sicuramente più carattere di 
 lettere maiuscole come a 
 attraverso he io ce ne sono anche alcuni 
 punteggiatura e alcuni numeri 

English: 
actually have
a vocabulary word if you will which is
bytes and odds are all of us have used
this
term in some context but generally in
the context of megabytes or even
gigabytes indeed when you talk about the
sizes of your files these days you're
speaking
in bytes in some form either million or
billion bytes
but each of those bytes quite simply is
a pattern of eight
zeros and ones so in fact if we have as
many as 64
bulbs at our disposal that's 64 divided
by eight that's eight characters so it
would seem we could spell on this stage
even an eight letter word if sumner we
could put up a random eight letter word
that will keep up now
um can you now spell from left to right
your left to your right an eight-letter
word using the system
known as ascii but of course we're being
a little bit biased here as ascii
is the american standard code for
information interchange and on a typical
u.s english keyboard
there's more character certainly than
uppercase letters like a
through h and i there's also some
punctuation and some numbers

English: 
but there's also quite a bit missing as
well and any of you who are elsewhere in
the world
odds are would find using a keyboard
like this especially eliminating
uh especially limiting or frustrating
why is that what seems to be missing
from ascii
what seems to be missing from asking
well let me let me ask this one
other question here if we do use ascii
and we therefore give
ourselves eight bits or one byte
how much how many different characters
could we potentially
actually display actually represent so
on your screen you should see this
question now how many symbols can you
represent with eight
bits how many symbols can you represent
with eight
bits and this speaks to
really at the end of the day how many
letters of the alphabet
plus punctuation plus uppercase and
lowercase can ascii or really can
computers support
well it looks like 72 percent or so of
you think that the answer is 256 and it

Italian: 
 ma manca anche un po 'come 
 bene e chiunque di voi si trovi altrove 
 il mondo 
 le probabilità sono troverebbero usando una tastiera 
 come questo soprattutto eliminando 
 uh particolarmente limitante o frustrante 
 perché è quello che sembra mancare 
 da ascii 
 quello che sembra mancare nel chiedere 
 beh, lasciami chiedere questo 
 altra domanda qui se usiamo ASCII 
 e quindi diamo 
 noi stessi otto bit o un byte 
 quanto quanti personaggi diversi 
 potremmo potenzialmente 
 effettivamente visualizzare effettivamente rappresentano così 
 sullo schermo dovresti vedere questo 
 domanda ora quanti simboli puoi 
 rappresentare con otto 
 bit quanti simboli puoi rappresentare 
 con otto 
 bit e questo parla 
 davvero alla fine della giornata quanti 
 lettere dell'alfabeto 
 più punteggiatura più maiuscole e 
 minuscolo può ascii o può davvero 
 supporto per computer 
 beh, sembra che il 72 percento circa 
 pensi che la risposta sia 256 ed esso 

English: 
is indeed the case
that you can represent 256 possibilities
why
you can actually do out the math if
you've got eight bits each of which can
be a zero
or a one that means you have two
possibilities for the first
times two possibilities for the second
times two times two times two
that happens to be two to the eighth or
two hundred fifty six it's fine if
that's not immediately obvious
but if you do have eight bits each of
which can be one of two values
you can come up with 256 possibilities
those of you who chimed in to say that
the answer is 255
in this case are wrong only because now
we're talking about the total number of
patterns which is indeed 256
but the highest value we could represent
with
eight bits or eight light bulbs it would
seem to be indeed
255 and that's because of all of the
different patterns we can permute
but let me open the question to the
audience now why might a u.s english
keyboard be especially
limiting and in turn why is ascii
really not quite appropriate when it
comes to representing human language

Italian: 
 è davvero il caso 
 che puoi rappresentare 256 possibilità 
 perché 
 puoi effettivamente fare i conti se 
 hai otto bit ciascuno dei quali può 
 essere uno zero 
 o uno che significa che ne hai due 
 possibilità per il primo 
 volte due possibilità per il secondo 
 volte due volte due volte due 
 che sembra essere due all'ottavo o 
 duecentocinquantasei va bene se 
 non è immediatamente ovvio 
 ma se hai otto bit ciascuno di 
 che può essere uno dei due valori 
 puoi trovare 256 possibilità 
 quelli di voi che sono intervenuti per dirlo 
 la risposta è 255 
 in questo caso sbagli solo perchè adesso 
 stiamo parlando del numero totale di 
 pattern che è effettivamente 256 
 ma il valore più alto che potremmo rappresentare 
 con 
 otto bit o otto lampadine sarebbe 
 sembra essere davvero 
 255 e questo a causa di tutti i 
 diversi modelli che possiamo permutare 
 ma lasciatemi aprire la domanda al 
 il pubblico ora perché potrebbe un inglese americano 
 tastiera essere particolarmente 
 limitante e, a sua volta, perché è ascii 
 davvero non del tutto appropriato quando 
 arriva a rappresentare il linguaggio umano 

English: 
even though this is what computers began
with years ago
what is missing from ascii
why might 256 total possibilities not be
sufficient kevin can we go to you
sure um i mean for one thing missing a
lot of the accents that are not other
languages but if you just consider like
asian languages there are a lot more
than 256 characters
exactly so not only are we missing
accented characters that you might
necess
that you might need in some languages
we're also missing the characters that
you might need in asian languages in
languages like arabic and the like there
are way more
symbols that we humans use to
communicate in print and electronically
than 256. english we can get away with
fitting into this keyboard but not once
we introduce things like these
characters
let alone other symbols as well and it
turns out there's other things we humans
like to say these days
and express using characters that have
come into vogue
which is namely these things odds are

Italian: 
 anche se questo è ciò che hanno iniziato i computer 
 con anni fa 
 cosa manca ad ASCII 
 perché 256 possibilità totali potrebbero non esserlo 
 Kevin sufficiente possiamo andare da te 
 certo um intendo per prima cosa manca un 
 molti degli accenti che non sono altri 
 lingue ma se consideri come 
 lingue asiatiche ce ne sono molte di più 
 di 256 caratteri 
 esattamente così non solo ci manca 
 caratteri accentati che potresti 
 necess 
 di cui potresti aver bisogno in alcune lingue 
 ci mancano anche i personaggi che 
 potresti aver bisogno di lingue asiatiche in 
 lingue come l'arabo e simili 
 sono molto di più 
 simboli che noi umani usiamo per 
 comunicare in formato cartaceo ed elettronico 
 di 256. inglese possiamo farla franca 
 inserendosi in questa tastiera ma non una volta 
 introduciamo cose come queste 
 personaggi 
 figuriamoci anche altri simboli e questo 
 si scopre che ci sono altre cose noi umani 
 come dire in questi giorni 
 ed esprimere utilizzando caratteri che hanno 
 entrare in voga 
 vale a dire queste cose sono le probabilità 

Italian: 
 probabilmente qualche volta oggi hai inviato 
 o ha ricevuto una di queste cose qui 
 altrimenti noto come emoji 
 ora anche se questi emoji sembrano 
 le immagini sembrano immagini e loro 
 sono tecnicamente 
 il modo in cui sono implementati nei computer 
 è in realtà come 
 modelli di zeri e uno questi sono 
 in realtà solo personaggi 
 in un alfabeto l'alfabeto emoji che 
 vuol dire che c'è un modello di zeri 
 e quelli che rappresentano ciascuno di 
 queste facce e le tante altre emoji 
 che al giorno d'oggi esistono e questo perché 
 il mondo è passato al 
 anni 
 da ascii che ha utilizzato solo sette e 
 anche in un certo senso otto bit 
 totale per rappresentare tutto il possibile 
 caratteri due utilizzando 
 8 o 16 o 24 o anche 32 bit 
 al giorno d'oggi esiste un sistema chiamato unicode 
 che gli umani hanno inventato 
 supporto non solo inglese 
 ma anche tutto l'inglese tutto il 
 lingue umane 
 è l'obiettivo ambizioso sia scritto 
 e ha parlato 
 scritto in stampa o elettronicamente lo è 
 l'obiettivo e in aggiunta a quello 

English: 
probably sometime today you have sent
or received one of these things here
otherwise known as an emoji
now even though these emojis look like
pictures they look like images and they
are technically
the way they're implemented in computers
is actually as
patterns of zeros and ones these are
actually just characters
in an alphabet the emoji alphabet which
is to say there's some pattern of zeros
and ones that represents each one of
these faces and the many other emojis
that nowadays exist and this is because
the world has transitioned over the
years
from ascii which only used seven and
even in some sense eight bits
total to represent all possible
characters two using
either 8 or 16 or 24 or even 32 bits
nowadays there's a system called unicode
which humans have come up with that
support not only english
but also all of the english all of the
human languages
is the aspirational goal both written
and spoke
written in print or electronically is
the goal and in addition to that

Italian: 
 questo per dire che possiamo rappresentare le cose 
 così questa è la cosiddetta faccia 
 con lacrime di gioia 
 e questo volto di lacrime di gioia per ultimo 
 l'anno era l'emoji più popolare 
 inviate tramite messaggi di testo e-mail social 
 media e simili 
 ma alla fine della giornata sei tutto 
 ricevere è come un tasto su una tastiera così 
 infatti non lo sapresti guardare 
 ma in effetti 
 il numero decimale che lo rappresenta 
 faccia con lacrime di gioia sembra essere 
 128 514 così al punto di Kevin 
 per rappresentare non solo certi umani 
 lingue ma certamente questi emoji noi 
 bisogno 
 più di 256 caratteri 
 quindi possiamo usare non solo 8 bit ma 16 o 
 24 o 32 
 è un'enorme quantità di possibilità 
 ora in effetti ora per prendere davvero il divertimento 
 fuori da queste cose 
 se ricevi quella faccia con lacrime di 
 gioia o inviarlo 
 tecnicamente stai solo inviando un 
 modello di bit che sembra 
 così è tutto quello che sta succedendo 
 sotto il cofano ogni volta che lo usi 
 queste cose 
 tutto bene così abbiamo ricominciato con 
 l'elettricità abbiamo quindi rappresentato i numeri 

English: 
this is to say we can represent things
like this so this is the so-called face
with tears of joy
and this face of tears of joy as of last
year was the most popular emoji
sent via text messages emails social
media and the like
but at the end of the day all you're
receiving is like a key on a keyboard so
in fact you wouldn't know it to look at
it but in fact
the decimal number representing this
face with tears of joy happens to be
128 514 so to kevin's point
to represent not only certain human
languages but certainly these emojis we
need
way more than 256 characters
so we can use not just 8 bits but 16 or
24 or 32
that's a huge amount of possibilities
now in fact now to really take the fun
out of these things
if you receive that face with tears of
joy or send it
you're technically just sending a
pattern of bits that looks
like this that's all that's going on
underneath the hood every time you use
these things
all right so we started again with
electricity we then represented numbers

Italian: 
 ora abbiamo la capacità di rappresentare 
 lettere e persino emozioni sotto forma di 
 emoji che altro 
 c'è là fuori bene gli emoji 
 se stessi, ovviamente, almeno quelli 
 abbiamo guardato 
 sono di natura pittorica e così via 
 invita bene la domanda come fa a 
 il computer rappresenta cose come il colore 
 come quella faccia con lacrime di gioia 
 aveva molto giallo, quindi com'è 
 giallo o qualsiasi colore per quella materia 
 rappresentato in un computer 
 beh, lasciatemi chiedere di nuovo al pubblico se 
 tutto quello che hai a disposizione è 
 bit zeri e uno e noi altrettanto 
 gli esseri umani devono essere d'accordo su come rappresentare 
 colora quella che potrebbe essere una possibilità 
 non è necessario che sia la risposta ma 
 cosa potrebbe essere tuo 
 istinto essere se progettare questo per il 
 prima volta te stesso 
 come potrebbe un computer rappresentare i colori 
 adesso 
 uh yasmin cosa ne pensi 
 uh a cui vorresti assegnare dei numeri 
 diversi colori e sfumature e 
 basta usare lo stesso sistema, sì esattamente 
 istinti perfetti che assegneresti 

English: 
now we have the ability to represent
letters and even emotions in the form of
emojis what else
is there out there well the emojis
themselves of course at least the ones
we've looked at
are pictorial in nature and so that
invites the question well how does a
computer represent things like color
like that that face with tears of joy
had a lot of yellow in it so how is
yellow or any color for that matter
represented in a computer
well let me ask the audience again if
all you have at your disposal is
bits zeros and ones and we just as
humans need to agree how to represent
colors what might be one possibility
it doesn't need to be the answer but
what might your own
instinct be if designing this for the
first time yourself
how might a computer represent colors
now
uh yasmin what do you think
uh you would like assign numbers to
different colors and shades and
just use the same system yeah exactly
perfect instincts you would just assign

English: 
numbers to the different colors
and we all just have to agree on what
that that mapping is actually going to
be so it turns out there's different
ways to do this and if any of you are
artistic and use photoshop or the like
digitally you're probably familiar with
acronyms like
rgb red green blue but there are other
acronyms and other ways
to implement yasmin's idea where we just
somehow map uh
zeros and ones to actual colors well rgb
just happens to represent red green and
blue and this is a system humans came up
with years ago that says you know what
we can actually get every color of the
rainbow by mixing together some amount
of red
and green and blue light essentially so
that just invites the question well how
do we represent the amount of red
how do we represent the amount of green
and how do we represent the number the
amount of blue
and we have as yasmin says bits at our
disposal so we just have to decide how
to do this
so suppose we receive a pattern of bits
that's 72 73 33 again
but this time it's not in an email it's
not in a text message
it's in the context of a file that i've
opened in photoshop
so it's as though i've opened a

Italian: 
 numeri ai diversi colori 
 e dobbiamo solo essere tutti d'accordo su cosa 
 che quella mappatura sta effettivamente andando a fare 
 sia così si scopre che c'è di diverso 
 modi per farlo e se qualcuno di voi lo è 
 artistico e usa Photoshop o simili 
 digitalmente probabilmente hai familiarità con 
 acronimi like 
 rgb rosso verde blu ma ce ne sono altri 
 acronimi e altri modi 
 per implementare l'idea di yasmin dove abbiamo appena 
 in qualche modo mappare uh 
 zeri e uno ai colori reali ben rgb 
 capita solo di rappresentare rosso verde e 
 blu e questo è un sistema inventato dagli umani 
 con anni fa che dice che sai cosa 
 possiamo effettivamente ottenere tutti i colori del file 
 arcobaleno mescolando insieme una certa quantità 
 di rosso 
 e la luce verde e blu essenzialmente così 
 questo invita bene alla domanda come 
 rappresentiamo la quantità di rosso 
 come rappresentiamo la quantità di verde 
 e come rappresentiamo il numero di 
 quantità di blu 
 e abbiamo come dice yasmin bit al nostro 
 smaltimento quindi non ci resta che decidere come 
 per fare questo 
 quindi supponiamo di ricevere uno schema di bit 
 che è di nuovo 72 73 33 
 ma questa volta non è in un'email, è 
 non in un messaggio di testo 
 è nel contesto di un file che ho 
 aperto in Photoshop 
 quindi è come se avessi aperto un file 

English: 
photograph that someone sent me and i
want to do some editing
and i see this pattern of numbers or in
turn bits
well what is that representing in this
case in the context of an email or text
message
it's still high but in the context of
photoshop or instagram or anything that
is oriented around
images it's actually going to represent
some amount of red some amount of green
some amount of blue
and as you we discovered earlier the
total number of possibilities you can
represent with eight bits happens to be
256
the highest value you can represent is
255 if we start counting from zero
so this is to say that each of these
three numbers is a number between 0 and
255.
so 72 feels like a medium amount of red
73 is like a medium amount of green 33
is like a little bit of blue
and if you combine those three amounts
of color
eight bits plus eight bits plus eight
bits using 24 bits total
using the first third to represent
redness the second third greenness and
the third third

Italian: 
 fotografia che qualcuno mi ha mandato e io 
 voglio fare qualche modifica 
 e vedo questo modello di numeri o in 
 girare bit 
 bene cosa rappresenta in questo 
 caso nel contesto di un'e-mail o di un testo 
 Messaggio 
 è ancora alto ma nel contesto di 
 Photoshop o Instagram o qualsiasi altra cosa 
 è orientato intorno 
 immagini che effettivamente rappresenteranno 
 una certa quantità di rosso una certa quantità di verde 
 una certa quantità di blu 
 e come hai scoperto in precedenza il 
 numero totale di possibilità che puoi 
 rappresentare con otto bit sembra essere 
 256 
 il valore più alto che puoi rappresentare è 
 255 se iniziamo a contare da zero 
 quindi questo per dire che ciascuno di questi 
 tre numeri è un numero compreso tra 0 e 
 255. 
 quindi 72 sembra una quantità media di rosso 
 73 è come una quantità media di verde 33 
 è come un po 'di blu 
 e se combini questi tre importi 
 di colore 
 otto bit più otto bit più otto 
 bit utilizzando un totale di 24 bit 
 usando il primo terzo per rappresentare 
 arrossamento il secondo terzo verde e 
 il terzo terzo 

Italian: 
 l'azzurro che ottieni si scopre un punto 
 sembra un punto giallo e così via 
 anzi quell'emoji quando è 
 visualizzato sullo schermo 
 è il risultato del computer 
 interpretando il 128 
 Il valore 514 è sapere che è l'emoji 
 perché con la faccia di lacrime di gioia 
 ma quando si tratta di visualizzare il file 
 informazioni sullo schermo ora il tuo 
 computer 
 utilizzerà modelli diversi 
 di bit per controllare i colori del file 
 puntini sullo schermo e questo termine tu 
 potrebbe già sapere 
 i punti che io e te vediamo sul nostro computer 
 schermi o persino televisori in questi giorni 
 sono chiamati pixel sono piccoli piccoli 
 piazze che rappresentano 
 un po 'di colore come questo giallo qui 
 e puoi effettivamente vederli in alcuni 
 contesto se vado avanti e mi fermo 
 la stessa faccia con lacrime di gioia e zoom 
 tra un po 'ingrandisci un po' di più 
 e ingrandisci un po 'di più ora tu 
 può effettivamente vedere ciò che chiamiamo 
 pixelation e probabilità hai visto 
 questo su facebook instagram ovunque 
 potresti ridimensionare o modificare le foto 
 che non hanno abbastanza risoluzione 
 la risoluzione di un'immagine 
 è solo il numero di pixel o punti presenti 
 sono orizzontalmente 

English: 
blueness you get it turns out a dot
that looks like this a yellow dot and so
indeed that emoji when it's being
displayed on the screen
is the result of the computer
interpreting the 128
514 value is knowing oh that's the emoji
for with the face of tears of joy
but when it comes to displaying the
information on your screen now your
computer
is going to be using different patterns
of bits to control the colors of the
dots on the screen and this term you
might already know
the dots you and i see on our computer
screens or even tvs these days
are called pixels they're tiny little
squares that represent
some color such as this yellow one here
and you can actually see them in some
context if i go ahead and pull up
the same face with tears of joy and zoom
in a bit zoom in a bit more
and really zoom in a bit more now you
can actually see what we call
pixelation and odds are you have seen
this on facebook instagram wherever
you might be resizing or editing photos
that don't quite have enough resolution
the resolution of an image
is just how many pixels or dots there
are horizontally

English: 
and vertically so if you really zoom in
on an image you'll eventually see
those pixels and this is to say that
even in this
zoomed in happy face there's a huge
number of yellow dots and a whole bunch
of black and gray and brownish dots as
well
that compose this very colorful image
and so you can see them in that case and
every one of those dots now
a pixel is using i claim like 24 bits or
three bytes now you can imagine there's
probably what hundreds maybe thousands
of dots in that image if we zoom out and
look at all of them again
so if every one of those dots or pixels
is three bytes
this is why the photographs you and i
take and the images you and i download
from the internet
are typically measured not even in bytes
per se but in kilobytes for thousands of
bytes
or megabytes for millions of bytes or if
it's a video file it might get even
bigger
billions or gigabytes but that's all
that is happening underneath the hood
we're just representing
information in this way well let me ask

Italian: 
 e verticalmente, quindi se ingrandisci davvero 
 su un'immagine che alla fine vedrai 
 quei pixel e questo per dire quello 
 anche in questo 
 ingrandito in faccia felice c'è un enorme 
 numero di punti gialli e un intero mazzo 
 di punti neri e grigi e brunastri come 
 bene 
 che compongono questa immagine coloratissima 
 e così puoi vederli in quel caso e 
 ognuno di quei punti adesso 
 un pixel sta usando, rivendico, 24 bit o 
 tre byte ora puoi immaginare che ci siano 
 probabilmente cosa centinaia forse migliaia 
 di punti in quell'immagine se ingrandiamo e 
 guardali tutti di nuovo 
 quindi se ognuno di quei punti o pixel 
 è di tre byte 
 questo è il motivo per cui le fotografie io e te 
 scattare e le immagini che io e te scarichiamo 
 da Internet 
 sono tipicamente misurati nemmeno in byte 
 di per sé ma in kilobyte per migliaia di 
 byte 
 o megabyte per milioni di byte o if 
 è un file video che potrebbe essere pareggiato 
 più grande 
 miliardi o gigabyte ma questo è tutto 
 che sta accadendo sotto il cofano 
 stiamo solo rappresentando 
 informazioni in questo modo, lasciatemi chiedere 

English: 
a follow-up question now
if we've now thanks to yasmin
represented uh
in uh colors and in turn images because
all in
images is a grid of pixels you take the
same principle asmin proposed where you
represent each color
of a dot and you have a whole bunch of
dots that gives us images
how would you propose computers
represent video files
again even if you don't know the answer
how might a computer represent
video files now using again
only bits at their disposal
who might like to field this one how
might a computer represent
a video uh justin what do you think
um i'm maybe just like rapidly changing
the bytes
just rapidly changing the bytes and i i
i hear can you elaborate a little bit
what do you mean by changing the bytes

Italian: 
 una domanda di follow-up ora 
 se ora abbiamo grazie a yasmin 
 rappresentato uh 
 a uh colori e a loro volta immagini perché 
 tutto dentro 
 immagini è una griglia di pixel che prendi il 
 stesso principio asmin proposto dove tu 
 rappresentano ogni colore 
 di un punto e hai un intero gruppo di 
 punti che ci danno immagini 
 come proporreste i computer 
 rappresentano file video 
 anche se non conosci la risposta 
 come potrebbe rappresentare un computer 
 file video ora in uso di nuovo 
 solo bit a loro disposizione 
 chi potrebbe voler mettere in campo questo come 
 potrebbe rappresentare un computer 
 un video uh solo cosa ne pensi 
 forse sto semplicemente cambiando rapidamente 
 i byte 
 solo cambiando rapidamente i byte e ii 
 ho sentito che puoi elaborare un po ' 
 cosa intendi cambiando i byte 

English: 
um like rapidly changing the the
rgb of individual pixels
exactly to match the image
of the of that second of the video or
portion of the video
perfect so if you think about like the
rectangular screen that is your phone or
your laptop or your desktop monitor
if you just keep changing the colors of
those dots
once per second or a whole bunch of
times per second we'll get the
illusion that there's actually motion on
the screen ergo video so really a video
in some sense it's just a whole bunch of
images to yasmin's definition flying
across the screen
really quickly and so you can see this
even old school style for instance let
me go ahead and open up on my screen
uh a short video that represents a flip
book so you might have made one of these
as a kid or maybe your teacher did or
you saw them at least
in person somewhere where if you take a
whole bunch of pieces of paper
and staple or clip them together in some
way draw a whole lot of pictures
all of which are similar but slightly
different on each
page you can create an animation or

Italian: 
 ehm come cambiare rapidamente il 
 rgb di singoli pixel 
 esattamente per abbinare l'immagine 
 del di quel secondo del video o 
 parte del video 
 perfetto quindi se pensi a come il 
 schermo rettangolare che è il tuo telefono o 
 il tuo laptop o il tuo monitor desktop 
 se continui a cambiare i colori di 
 quei punti 
 una volta al secondo o un intero gruppo di 
 volte al secondo otterremo il file 
 illusione che ci sia effettivamente movimento 
 lo schermo ergo video quindi davvero un video 
 in un certo senso è solo un intero gruppo di 
 immagini per definizione di yasmin volando 
 sullo schermo 
 molto velocemente e così puoi vedere questo 
 anche lo stile della vecchia scuola, ad esempio, lascia 
 vado avanti e apro sul mio schermo 
 uh un breve video che rappresenta un capovolgimento 
 prenota così potresti averne fatto uno 
 da bambino o forse il tuo insegnante ha fatto o 
 almeno li hai visti 
 di persona da qualche parte dove se prendi un 
 un intero mazzo di pezzi di carta 
 e pinzarli o agganciarli insieme in alcuni 
 modo disegnare un sacco di immagini 
 che sono tutti simili ma leggermente 
 diverso su ciascuno 
 pagina puoi creare un'animazione o 

Italian: 
 davvero un video e questo è tutto un video 
 è anche nel mondo puramente elettronico 
 anche se questo sembra essere implementato in 
 carta 
 uh, quello che succede nel mondo dei computer è 
 anzi solo un'intera sequenza di immagini 
 volando sullo schermo 
 in una certa misura ed è quello che effettivamente 
 ci fornisce i file video che io e te 
 lo so oggi e c'è ancora più coniglio 
 buchi possiamo andare giù per esempio come 
 potresti rappresentare la musica 
 beh la musica potrebbe essere rappresentata perbacco 
 modi diversi come se suonassi il file 
 pianoforte per esempio potresti saperlo 
 ci sono note come dalla a alla g ma 
 ci sono anche diesis e bemolli e così via 
 via 
 ma sai cosa forse abbiamo solo bisogno di un file 
 numero per rappresentare ciascuno di questi 
 possibili note 
 e forse potremmo anche usarne un altro 
 numero 
 proprio come le immagini usano più numeri per 
 rappresentano punti a cui potremmo usare un numero 
 rappresentano la nota 
 in una canzone ma anche un altro numero a 
 rappresentano la durata di quel nodo come 
 molti secondi o millisecondi o battiti 
 dovresti sentire quella nota per così puoi 
 escogitare anche altre formulazioni ma 
 musica davvero 
 può essere quantizzato nel mondo di 
 computer in piccoli pezzi di 
 informazioni e fintanto che tu ed io 

English: 
really a video and this is all a video
is in the purely electronic world even
though this happens to be implemented in
paper
uh what happens in the computer world is
indeed just a whole sequence of images
flying across the screen
at some rate and that's what actually
gives us the video files that you and i
know today and there's even more rabbit
holes we can go down for instance how
might you represent music
well music could be represented gosh in
different ways like if you played the
piano for instance you might know that
there are notes like a through g but
there's also sharps and flats and so
forth
but you know what maybe we just need a
number to represent each of those
possible notes
and maybe also we could use another
number
just like images use multiple numbers to
represent dots we could use a number to
represent the note
in a song but also another number to
represent the duration of that node how
many seconds or milliseconds or beats
should you hear that note for so you can
come up with other formulations too but
music really
can be quantized in the world of
computers into just small pieces of
information and so long as you and i

Italian: 
 d'accordo su come rappresentarlo 
 è così che funzionano tutte queste cose e se 
 ti sei mai chiesto 
 perché ci sono jpeg e ping e gif 
 e documenti word e file excel e 
 tutti questi diversi 
 formati di file o estensioni di file su 
 computer 
 solo quelle estensioni o formati di file 
 rappresentano un intero gruppo di umani 
 concordare come conservare 
 modelli di zeri e uno in un file così 
 che quando quegli zeri e quelli sono 
 caricato in un computer per la visualizzazione 
 o per interpretazione sa cosa 
 quei modelli rappresentano 
 le immagini sono rappresentate leggermente 
 diversamente lo sono il suono e il video 
 rappresentato in modo leggermente diverso ma 
 sono tutti zeri e uno 
 Alla fine della giornata, quindi è tutto 
 dire fintanto che siamo tutti d'accordo 
 idealmente in tutto il mondo come 
 rappresentano le informazioni 
 ora possiamo rappresentare gli input ai problemi 
 e si spera che risolva i problemi 
 e ottieni le uscite in modo che tutto ciò che rimane 
 problem solving o davvero 
 l'informatica in generale è guardare 
 all'interno di questa scatola nera e da considerare 
 come prendi l'input se si tratta di numeri 

English: 
agree on how to represent it
that's how these things all work and if
you've ever wondered
why there are jpegs and pings and gifs
and word documents and excel files and
all of these different
file formats or file extensions on
computers
those file extensions or formats just
represent a whole bunch of humans
agreeing how to store
patterns of zeros and ones in a file so
that when those zeros and ones are
loaded into a computer for display
or for interpretation it knows what
those patterns represent
images are represented slightly
differently sound and video are
represented slightly differently but
it's all zeros and ones
at the end of the day so this is all to
say so long as we all agree
ideally around the world how to
represent information
now we can represent inputs to problems
and hopefully solve problems
and get outputs so all that remains in
problem solving or really
computer science broadly is to look
inside of this black box and to consider
how you take input whether it's numbers

English: 
letters
images video sound and convert them
into actual solutions and so inside of
this black box is what we would
typically describe as
algorithms algorithms are step-by-step
instructions
for solving problems they don't even
have to involve computers we humans can
execute algorithms
just by following someone else's
instructions if you've ever
prepared something from a cookbook
following a recipe you are executing an
algorithm step by step but unlike a lot
of recipes
or unlike a lot of instructions that we
humans give to each other
there's no room for ambiguity in
computers computers algorithms when
implemented by machines
they really have to be not only correct
so that you get the right outputs that
you care about but they also need to be
precise
you need to be ever so precise because
unlike we humans who can kind of like
read between the lines and yeah i get
what you mean
computers are going to take you
literally and so when programming a
computer
that is translating an algorithm
step-by-step instructions into some

Italian: 
 lettere 
 immagini video audio e convertirle 
 in soluzioni reali e così dentro 
 questa scatola nera è quello che vorremmo 
 tipicamente descrivere come 
 algoritmi algoritmi sono passo dopo passo 
 Istruzioni 
 per risolvere i problemi non neppure 
 dobbiamo coinvolgere i computer che noi umani possiamo 
 eseguire algoritmi 
 semplicemente seguendo quello di qualcun altro 
 istruzioni se mai 
 preparato qualcosa da un libro di cucina 
 seguendo una ricetta stai eseguendo un file 
 algoritmo passo dopo passo ma a differenza di molti 
 di ricette 
 oa differenza di molte istruzioni che noi 
 gli uomini si danno l'un l'altro 
 non c'è spazio per l'ambiguità in 
 computer algoritmi di computer quando 
 implementato dalle macchine 
 devono essere non solo corretti 
 in modo da ottenere le uscite giuste 
 ci tieni ma anche loro devono esserlo 
 preciso 
 devi essere sempre così preciso perché 
 a differenza di noi umani a cui possiamo piacere 
 leggere tra le righe e sì, ottengo 
 Cosa vuoi dire 
 i computer ti prenderanno 
 letteralmente e così quando si programma un file 
 computer 
 che sta traducendo un algoritmo 
 istruzioni passo passo in alcuni 

Italian: 
 lingua che il computer comprende 
 spetta a te assicurarti che il file 
 il computer non può interpretare male 
 quello che vuoi quindi consideriamo uno di questi 
 algoritmo così su tutti i nostri telefoni 
 se ios o Android o simili 
 hai alcune applicazioni di contatti e 
 che contatta le applicazioni probabilmente 
 memorizzare tutti i tuoi amici e familiari 
 membri e colleghi 
 probabilmente in ordine alfabetico forse per primo 
 nome forse per cognome o 
 comunque hai organizzato quel dispositivo 
 bene la vecchia scuola 
 la versione di questo sembra essere su carta 
 forma che sembra un po 'qualcosa 
 come questa una rubrica telefonica e all'interno di un file 
 la rubrica telefonica della vecchia scuola è davvero quella 
 esattamente la stessa idea che è molto più grande 
 molto di piu 
 molto più stampato ma è lo stesso 
 cosa c'è un sacco di nomi e 
 numeri in una tipica rubrica 
 in ordine alfabetico proprio come il tuo 
 telefono Android 
 o il telefono ios potrebbe essere così supponiamo 
 vogliamo risolvere un problema e l'input 
 a quel problema non è solo questo telefono 
 libro 
 ma anche il nome di qualcuno da cercare 
 il numero per così il mio nome per 
 esempio se voglio guardare in alto 
 il mio numero di telefono o potresti aprire 
 su questo libro e inizia a cercare 

English: 
language the computer understands
the onus is on you to make sure that the
computer cannot misinterpret
what you want so let's consider one such
algorithm so on all of our phones
whether ios or android or the like
you have some contacts application and
that contacts applications probably
storing all of your friends and family
members and colleagues
probably alphabetically maybe by first
name maybe by last name or
however you've organized that device
well the old school
version of this happens to be in paper
form which looks a little something
like this a phone book and inside of an
old school phone book really is that
exact same idea it's much larger it's
much more
much more printed but it's the same
thing there's a whole bunch of names and
numbers in a typical phone book
sorted alphabetically just like your own
android phone
or ios phone might be as well so suppose
we want to solve a problem and the input
to that problem is not only this phone
book
but also the name of someone to look up
the number for so my own name for
instance if i want to look up
my phone number or you do you might open
up this book and start looking for for

Italian: 
 David, per esempio, se lo assumiamo 
 è ordinato per nome 
 non vedo David sulla prima pagina quindi io 
 passa alla seconda 
 non mi vedo lì quindi passo a 
 il terzo non mi vedo lì quindi io 
 passa alla quarta 
 e così via una pagina alla volta cercando 
 per il mio nome 
 e a sua volta il mio numero bene se 
 la correttezza è importante 
 lasciami fare prima questa domanda 
 algoritmo 
 sfogliando le pagine passo dopo passo 
 per david 
 correggi quello che pensi dentro 
 zoom dovresti vedere alcune icone sotto il file 
 finestra partecipanti 
 etichettati sì e no se desideri andare 
 avanti e vota 
 virtualmente si o no 
 questo algoritmo è corretto una pagina in un file 
 tempo 
 cercando me stesso non importa il fatto 
 che si tratta di pagine gialle e così 
 non sarò da nessuna parte in 
 rubrica ma in effetti lo assumeremo 
 contiene esseri umani 
 e va bene così sembra 
 l'algoritmo è effettivamente corretto 

English: 
david for instance if we assume that
it's sorted by first name
i don't see david on the first page so i
move on to the second
i don't see myself there so i move on to
the third i don't see myself there so i
move on to the fourth
and so forth one page at a time looking
for my name
and in turn my number well if
correctness is important
let me ask that question first is this
algorithm
turning the pages step by step looking
for david
correct what do you think within
zoom you should see some icons under the
participants window
labeled yes and no if you'd like to go
ahead and vote
virtually yes or no
is this algorithm correct one page at a
time
looking for myself never mind the fact
that this is yellow pages and so
i'm not going to be anywhere in the
phone book but indeed we'll assume it
contains humans
as well all right so it looks like
the algorithm is indeed correct

Italian: 
 ma è terribilmente terribilmente lento e 
 va bene perché una delle idee 
 siamo 
 andando a considerare in cs50 ea sua volta 
 Informatica 
 non è solo la correttezza di un file 
 algoritmo ma anche l'efficienza come 
 ben progettato 
 è l'algoritmo questo è corretto è 
 solo incredibilmente incredibilmente noioso e 
 lento 
 ma mi ritroverò ma ovviamente noi 
 può fare di meglio invece di trovare cercando 
 per me una pagina alla volta 
 perché non faccio una pagina, fammene fare due 
 quattro 
 sei otto dieci i suona più velocemente e 
 è più veloce sto andando due volte più veloce 
 attraverso la rubrica 
 cercare me stesso è questo algoritmo 
 corretto fammi andare da qualcuno in 
 pubblico questa volta 
 è questo algoritmo di ricerca 
 il nome di qualcuno due pagine alla volta 
 corretto perché sostengo che sia di più 
 efficiente, sostengo che sia progettato meglio 
 perché risolverò il problema due volte 
 veloce anika cosa ne pensi 
 no perché potresti saltare il tuo nome 
 sulla pagina sì 
 Potrei saltare il mio nome sulla pagina e permettermelo 
 fai una domanda di follow-up posso risolvere questo problema 
 devo buttare via il tutto 

English: 
but it's terribly terribly slow and
that's okay because one of the ideas
we're
going to consider in cs50 and in turn
computer science
is not only the correctness of an
algorithm but also the efficiency how
well designed
is the algorithm this is correct it's
just incredibly incredibly tedious and
slow
but i will find myself but of course we
can do better instead of find looking
for myself one page at a time
why don't i do one page let me do two
four
six eight ten i it sounds faster and it
is faster i'm going twice as fast
through the phone book
looking for myself is this algorithm
correct let me go to someone in the
audience this time
is this algorithm of searching for
someone's name two pages at a time
correct because i claim it's more
efficient i claim it's better designed
because i'll solve the problem twice as
fast anika what do you think
no because you might um skip your name
on the page yeah
i might skip my name on page and let me
ask a follow-up question can i fix this
do i have to throw out the whole

English: 
algorithm or can we at least fix this
problem do you think i think
it would have like whatever page you
flip to it would help to select what
name is there and maybe see if your name
would come before or after
nice so that's exactly the right
intuition i don't think we have to
completely sacrifice the idea of
speeding up this algorithm by moving
twice as fast
but as you propose if i go too far maybe
i get to the
e section which is one letter too late i
should at least double back
one page because i could get unlucky and
maybe david is kind of sandwiched in
between two pages
at which point i might fly by get to the
end of the phone book say no there's no
david and i just got unlucky with like
50 probability but as you propose i can
at least recover
and sort of conditionally ask myself
wait a minute maybe i just missed it and
double back so i can get the overall
speed improvement
but then at least fix that kind of
mistake or bug
and bug a term of art in programming a
bug is just a mistake in a program or a
mistake more generally in an algorithm
but honestly none of us are going to do
that
when we actually go to search for
someone in a phone book just like our

Italian: 
 algoritmo o possiamo almeno aggiustarlo 
 problema pensi che penso 
 sarebbe come qualunque pagina tu 
 capovolgerlo aiuterebbe a selezionare cosa 
 il nome è lì e forse vedi se il tuo nome 
 sarebbe venuto prima o dopo 
 bello quindi è esattamente quello giusto 
 intuizione non credo che dobbiamo 
 sacrificare completamente l'idea di 
 accelerando questo algoritmo spostandosi 
 due volte più veloce 
 ma come mi proponi se esagero forse 
 arrivo al 
 e sezione che è una lettera troppo tardi i 
 dovrebbe almeno tornare indietro 
 una pagina perché potrei essere sfortunato e 
 forse David è un po 'coinvolto 
 tra due pagine 
 a quel punto potrei volare per arrivare al file 
 fine della rubrica telefonica dire di no non c'è 
 David e io siamo stati sfortunati con il tipo 
 50 probabilità ma come mi proponi posso 
 almeno recuperare 
 e in qualche modo mi chiedo condizionatamente 
 aspetta un minuto forse l'ho perso e 
 doppio indietro così posso ottenere la generale 
 miglioramento della velocità 
 ma poi almeno aggiusta quel tipo di 
 errore o bug 
 e bug un termine d'arte nella programmazione a 
 bug è solo un errore in un programma o in un file 
 errore più in generale in un algoritmo 
 ma onestamente nessuno di noi lo farà 
 quello 
 quando effettivamente andiamo a cercare 
 qualcuno in un elenco telefonico proprio come il nostro 

English: 
phones do
they typically don't start at the top
and go to the bottom
and computers do exactly what you might
do more intuitively they'll probably go
roughly to the middle maybe they'll skew
a little to the left if you know d
is toward the start of an alphabet but
no i open to the middle sort of sloppily
and i'm in the m section
so what do i know when i'm in the m
section about this problem let me call
on one
one more person i'm in the m section
what would you do as a human now taking
this as input to solve this problem
what do i know about the location of
course
my name in the phone book what can i
what decision can i make here
what decision can i make a kyle what do
you think
yeah um so from the m onwards you know
that your name won't be there for sure
yeah so my name's not going to be in the
m section but thanks to the
alphabetization of the phone book i at
least know you know what
i can take a huge bite out of this
problem and tear the problem in half
both
both metaphorically and also literally
in the case of a phone book and i can

Italian: 
 i telefoni fanno 
 in genere non iniziano dall'alto 
 e vai in fondo 
 e i computer fanno esattamente quello che potresti 
 fare in modo più intuitivo probabilmente andranno 
 più o meno al centro forse si inclineranno 
 un po 'a sinistra se sai d 
 è verso l'inizio di un alfabeto ma 
 no, apro alla metà in modo sciatto 
 e io sono nella sezione m 
 quindi cosa so quando sono in m 
 sezione su questo problema fammi chiamare 
 nessuno 
 un'altra persona sono nella sezione m 
 cosa faresti come umano ora prendendo 
 questo come input per risolvere questo problema 
 cosa so della posizione di 
 corso 
 il mio nome nella rubrica del telefono cosa posso 
 quale decisione posso prendere qui 
 quale decisione posso prendere un kyle cosa fare 
 tu pensi 
 sì um così dalla m in poi lo sai 
 che il tuo nome non ci sarà di sicuro 
 sì, quindi il mio nome non sarà nel file 
 m sezione ma grazie al 
 alfabetizzazione della rubrica telefonica i a 
 Almeno sai cosa 
 posso prendere un enorme morso da questo 
 problema e strappare il problema a metà 
 tutti e due 
 sia metaforicamente che letteralmente 
 nel caso di una rubrica telefonica e posso 

Italian: 
 letteralmente buttare 
 metà del problema e quindi se i 
 è iniziato con un migliaio di pagine 
 in questa rubrica o mille 
 contatti nel telefono 
 semplicemente andando al centro approssimativamente e 
 dando uno sguardo a sinistra ea destra 
 posso decidere come noti 
 beh, non è giusto sulla pagina che sono 
 cercando ma posso decidere che è per il 
 a sinistra oa destra 
 So che d viene prima di me quindi ora posso 
 vai a sinistra e sai cosa 
 interessante qui 
 è che posso usare esattamente lo stesso 
 algoritmo non devo pensare a nessuno 
 diversamente 
 posso applicare la stessa logica aperta a 
 metà di questa metà della rubrica 
 e ora lo vedo nella sezione g così 
 Sono ancora un po 'troppo lontano ma di nuovo io 
 può strappare 
 metà del problema buttalo via e 
 ora sono passato da tipo mille pagine 
 a 500 pagine a 250 pagine 
 se lo faccio di nuovo potrei ritrovarmi 
 oh sono arrivato al c 
 sezione ora posso risolvere il problema 
 la metà getta di nuovo la metà sinistra 
 e ora sono solo 125 pagine ora 
 è ancora molto 
 ma mio dio sono passato da mille a 
 Da 500 a 250 a 125 

English: 
literally throw
half of the problem away and so if i
started with some like a thousand pages
in this phone book or a thousand
contacts in my phone
just by going to the middle roughly and
taking a look to the left and the right
i can decide as you note
well it's not right on the page i'm
looking for but i can decide it's to the
left or to the right
i know d comes before m and so now i can
go to the left and you know what's
interesting here
is that i can use that exact same
algorithm i don't have to think any
differently
i can apply the same logic open to the
middle of this half of the phone book
and now i see him in the g section so
i'm still a little too far but again i
can tear
half the problem away throw it down and
now i've gone from like a thousand pages
to 500 pages to 250 pages
if i do this again i might find myself
oh i made it to the c
section now i can tear the problem in
half again throw the left half away
and now i'm down to just 125 pages now
that's still a lot
but my god i've gone from a thousand to
500 to 250 to 125

English: 
that is way faster than going from a
thousand to 999 to 998 and it's even
faster
than going from a thousand to 998 to 996
to 994
both of those algorithms are going to
take me much longer as well
so it turns out when you actually look
up my number it might end up being
949-468-2750
feel free to text hello or call to say
hi but
the point being that i found myself much
more quickly with that
that third algorithm so what then is the
takeaway well we can consider this
actually a bit visually
let me go ahead and rather than tear the
whole phone book in half again and again
we have this visualization made by brian
wonderfully that depicts a thousand
twenty four page phone book
with one page being flipped at a time
and now we're down to nine ninety six
nine ninety five
i mean honestly this isn't all that
enlightening it's going to take forever
to find david or any name in a phone
book when starting
at that kind of pace with that algorithm
but what if instead i'm a little smarter
and i'm a little more intuitive and i
harness the intuition that probably you

Italian: 
 è molto più veloce che passare da un file 
 da mille a 999 a 998 ed è pari 
 Più veloce 
 che passare da mille a 998 a 996 
 al 994 
 entrambi gli algoritmi lo faranno 
 prendimi anche molto più tempo 
 così si scopre quando guardi davvero 
 il mio numero potrebbe finire per essere 
 949-468-2750 
 sentiti libero di inviare un messaggio di saluto o di chiamare per dire 
 ciao ma 
 il punto è che mi sono trovato molto 
 più rapidamente con quello 
 quel terzo algoritmo quindi qual è il file 
 da asporto possiamo considerare questo 
 in realtà un po 'visivamente 
 lasciami andare avanti e invece di strappare il file 
 tutta la rubrica telefonica a metà ancora e ancora 
 abbiamo questa visualizzazione fatta da Brian 
 meravigliosamente che raffigura mille 
 rubrica di ventiquattro pagine 
 girando una pagina alla volta 
 e ora siamo scesi a nove novantasei 
 nove novantacinque 
 Voglio dire, onestamente questo non è tutto questo 
 illuminante ci vorrà un'eternità 
 per trovare David o qualsiasi nome in un telefono 
 prenota all'avvio 
 a quel tipo di ritmo con quell'algoritmo 
 ma se invece fossi un po 'più intelligente 
 e sono un po 'più intuitivo e io 
 sfruttare l'intuizione che probabilmente tu 

English: 
had
and i start with a thousand 24 pages
again and this time
divide and conquer half at a time
splitting the problem in half tearing
the phone book in half
i get down to just one page and if we
actually do out the math if you start it
like a thousand plus pages
it will only take me 10 total tears of
that phone book
in order to get down to my number 949
468-2750 so
that just is to say that the third
algorithm is not only correct just as
the first one definitely was and the
second one could be
with that bug fix but it's also much
better designed it's much more efficient
and so we can see this a little
graphically as well
let me go ahead and propose not a
numerical analysis or anything like that
but just something that's a little
visual
like this so if i have an x-axis here
that represents horizontally
the size of the problem the number of
pages in a phone book and vertically on
the y-axis the amount of time required
to solve a problem what do these
algorithms look like if we just kind of

Italian: 
 aveva 
 e inizio con un migliaio di 24 pagine 
 ancora e questa volta 
 dividi e conquista la metà alla volta 
 dividendo il problema a metà lacerando 
 la rubrica a metà 
 scendo a una sola pagina e se noi 
 in realtà fai i conti se lo inizi 
 come più di mille pagine 
 mi ci vorranno solo 10 lacrime totali di 
 quella rubrica 
 per arrivare al mio numero 949 
 468-2750 così 
 questo è solo per dire che il terzo 
 algoritmo non è solo corretto proprio come 
 il primo sicuramente era e il 
 il secondo potrebbe essere 
 con quella correzione di bug ma è anche molto 
 progettato meglio è molto più efficiente 
 e quindi possiamo vederlo un po ' 
 anche graficamente 
 lasciami andare avanti e non propongo un file 
 analisi numerica o qualcosa del genere 
 ma solo qualcosa che è un po ' 
 visivo 
 in questo modo, quindi se ho un asse x qui 
 che rappresenta orizzontalmente 
 la dimensione del problema il numero di 
 pagine in una rubrica telefonica e verticalmente 
 l'asse y la quantità di tempo richiesta 
 per risolvere un problema cosa fanno questi 
 gli algoritmi sembrano solo un po ' 

English: 
chart them well the first algorithm
depicted here in red
is just a straight line it's a slope of
one because there is this one to one
relationship between number of pages and
the amount of time it takes me to solve
it
for every new page of that phone book
maybe year after year if the phone book
grows
it's going to take me one more step to
look for myself or anyone else
potentially
in that phone book unless i get lucky
and they're early in the phone book
but one more page means one more page
turn
the second algorithm is actually better
it's still a straight line
so it's still a linear relationship
but for every two pages in the phone
book it takes me one more step
two pages one turn two pages one turn so
it's strictly better than the first
algorithm why well if we consider this
if the size of the problem is maybe here
for instance so
if we assume for the sake of discussion
maybe the phone book has this many pages
depicted with this
dotted line well how much time is it
going to take the second algorithm
to find someone in that phone book it's
going to take this amount of time right
where those two lines intersect

Italian: 
 tracciarli bene il primo algoritmo 
 raffigurato qui in rosso 
 è solo una linea retta è una pendenza di 
 uno perché c'è questo uno a uno 
 relazione tra numero di pagine e 
 la quantità di tempo che mi ci vuole per risolvere 
 esso 
 per ogni nuova pagina di quella rubrica 
 forse anno dopo anno se la rubrica telefonica 
 cresce 
 mi ci vorrà un altro passo per 
 cerca me stesso o chiunque altro 
 potenzialmente 
 in quella rubrica a meno che non sia fortunato 
 e sono all'inizio dell'elenco telefonico 
 ma una pagina in più significa una pagina in più 
 girare 
 il secondo algoritmo è effettivamente migliore 
 è ancora una linea retta 
 quindi è ancora una relazione lineare 
 ma per ogni due pagine del telefono 
 prenota mi ci vuole un passo in più 
 due pagine un giro due pagine un giro così 
 è assolutamente migliore del primo 
 algoritmo perché bene se consideriamo questo 
 se la dimensione del problema è forse qui 
 per esempio così 
 se assumiamo per motivi di discussione 
 forse la rubrica ha così tante pagine 
 raffigurato con questo 
 linea tratteggiata bene quanto tempo è 
 andando a prendere il secondo algoritmo 
 per trovare qualcuno in quella rubrica è 
 ci vorrà questa quantità di tempo giusta 
 dove queste due linee si intersecano 

Italian: 
 se stai usando il primo algoritmo 
 sebbene andando una pagina alla volta lo sia 
 in realtà ci vorrà 
 questo tempo che è letteralmente il doppio 
 tanto 
 quindi hanno entrambi ragione supponendo che noi 
 se necessario, se vado troppo lontano 
 passato un nome ma entrambi sono ordinati 
 di fondamentalmente lo stesso che sono 
 stessa forma e onestamente si sentivano entrambi 
 lento a dire e ad agire 
 il terzo algoritmo se dovessimo 
 grafico ha un fondamentalmente diverso 
 relazione 
 tra la dimensione del problema e il file 
 tempo necessario per risolvere il problema 
 la linea sale come dovrebbe 
 perché più pagine ci sono i file 
 più tempo ci vorrà per risolvere 
 ma nota quanto di più 
 lentamente sale questa cosa a malapena 
 inizia a salire 
 man mano che la dimensione del problema aumenta 
 e sempre più grande e perché è così 
 intuitivamente 
 bene qui ciò che è potente è supporre 
 quell'elenco telefonico del prossimo anno per qualunque cosa 
 Motivo 
 raddoppiato di dimensioni forse cambridge e 
 Alston Massachusetts si sono fuse insieme 
 in uno 
 grande rubrica telefonica quindi ci sono 2 000 qualche strano 
 pagine ora invece 
 quanti altri passaggi ci vorranno dopo 
 anno per cercare qualcuno in quel telefono 

English: 
if you're using the first algorithm
though going one page at a time it's
actually going to take
this much time which is literally twice
as much
so they're both correct assuming we
double back as needed if i go too far
past a name but both of those are sort
of fundamentally the same they're the
same shape and honestly they both felt
slow to say and to act
out the third algorithm if we were to
graph it has a fundamentally different
relationship
between the size of the problem and the
time required to solve the problem
the line goes up up up up as it should
because the more pages there are the
more time it's going to take to solve
but notice how much more
slowly it goes up this thing barely
starts to rise
as the size of the problem gets bigger
and bigger and bigger and why is that
intuitively
well here what's powerful is suppose
that phone book next year for whatever
reason
doubled in size maybe cambridge and
alston massachusetts merged together
into one
big phone book so there's 2 000 some odd
pages now instead
how many more steps would it take next
year to search for someone in that phone

Italian: 
 libro 
 un altro passo e così se guardi lontano 
 qui fuori lungo questa linea verde 
 raddoppiando le dimensioni della rubrica telefonica il 
 la linea stessa non potrà che sorgere mai 
 così leggermente perché non è un grosso problema 
 con quel terzo algoritmo che stai prendendo 
 byte molto più grandi 
 fuori dal problema e così anche questo 
 parla di cosa informatica e cosa 
 programmazione 
 in definitiva sono come sfruttare le idee 
 che entri in classe con e 
 che potresti usare nella tua vita quotidiana 
 ma non necessariamente ci pensi 
 come potresti rappresentare 
 problemi nell'utilizzo di questi algoritmi e come 
 potresti tradurli in 
 il computer parla e in effetti in un modo lo faremo 
 inizia a pensarci 
 algoritmi non è solo la loro correttezza 
 ma quanto sono ben progettati e così 
 per esempio qui 
 Ho deliberatamente etichettato questi tre 
 righe nn oltre 2 
 e log in base 2 su n che significa solo 
 che se usiamo n 
 come numero così tendono a fare gli informatici 
 usa n come variabile 
 uh quando molto simile a un matematico potrebbe 
 dire x o y o ze per numero 
 e quindi la prima linea rossa è la corsa 
 tempo il numero di passaggi che potrebbe richiedere 
 risolvere un problema potrebbe essere il peggiore 
 caso n 

English: 
book
one one more step and so if you look way
out here along this green line
doubling the size of the phone book the
line itself is only going to rise ever
so slightly because no big deal
with that third algorithm you're taking
much bigger bytes
out of the problem and so this too
speaks to what computer science and what
programming
are ultimately like harnessing ideas
that you come into the class with and
that you might use in your everyday life
but you don't necessarily think about
how you might represent
problems using those algorithms and how
you might translate them to
computer speak and indeed one way we'll
start to think about
algorithms is not only their correctness
but how well designed they are and so
for instance here
i've deliberately labeled these three
lines n n over 2
and log base 2 over n that just means
that if we use n
as number so computer scientists tend to
use n as a variable
uh when much like a mathematician might
say x or y or z and for number
and so the first red line is the running
time the number of steps it might take
to solve a problem might be in the worst
case n

English: 
if there's n pages in the phone book
maybe i'm looking for someone way at the
end of the phone book and it's going to
take me all n steps to find them
the second algorithm is going to take
half as many steps so we express that as
n divided by 2
because if we're doing two pages at a
time we'll get to the end of the phone
book if we're looking for someone whose
name
starts with z for instance twice as fast
but the third algorithm if you're a
little rusty on the mathematics
is represented as a logarithm with a
base of two
and this just means that this graph the
green line
describes how much time it takes to
solve a problem
when on each pass on each step
you are dividing the problem in this
case by half
the other two algorithms are taking one
or two bytes out of the problem the
third algorithm was taking half of the
whole problem
at a time and that's what made it all
the more powerful
so when it comes to programming now we
need to translate these things called
algorithms
to code or in this case let's call it
pseudocode and in just a bit

Italian: 
 se ci sono n pagine nella rubrica 
 forse sto cercando qualcuno in 
 fine della rubrica e lo farà 
 portami tutti e n passaggi per trovarli 
 il secondo algoritmo sta per prendere 
 la metà dei passaggi quindi lo esprimiamo come 
 n diviso per 2 
 perché se stiamo facendo due pagine in un file 
 tempo arriveremo alla fine del telefono 
 prenota se stiamo cercando qualcuno il cui 
 nome 
 inizia con z, ad esempio, due volte più velocemente 
 ma il terzo algoritmo se sei un file 
 poco arrugginito sulla matematica 
 è rappresentato come un logaritmo con a 
 base di due 
 e questo significa solo che questo grafico il 
 linea verde 
 descrive quanto tempo ci vuole 
 risolvere un problema 
 quando su ogni passaggio su ogni passaggio 
 stai dividendo il problema in questo 
 caso per metà 
 gli altri due algoritmi ne stanno prendendo uno 
 o due byte dal problema il file 
 il terzo algoritmo stava prendendo la metà del 
 intero problema 
 alla volta e questo è ciò che ha reso tutto 
 il più potente 
 quindi, quando si tratta di programmare ora, noi 
 bisogno di tradurre queste cose chiamate 
 algoritmi 
 per codificare o in questo caso chiamiamolo 
 pseudocodice e in poco tempo 

English: 
we'll focus on an actual programming
language albeit a graphical one but for
now let's just consider
some of the constructs or sort of
fundamental ideas that are going to be
useful to leverage here on out
in this class so let me propose that
what i really just did verbally can be
translated into pseudocode
which is like an algorithm implemented
in english or whatever your spoken or
written language is but the key is that
it's got to be correct
and ideally it had better be precise so
that there's no ambiguity
step one was indeed what i did pick up
phone book step two
open to middle of phone book step three
look at page and indeed i did that
and now things got interesting step four
if person david in my case is on the
page
what do i want to do well i should
probably call that person the problem is
solved i've gotten my output the
person's number
but there's another possibility not if
the person's on the page but rather if
the person is earlier in the book and
that is what happened a moment ago if i
ended up on m
but i'm looking for david that's to the
left i should then
do what open to the middle of the left

Italian: 
 ci concentreremo su una programmazione vera e propria 
 linguaggio anche se grafico ma per 
 ora consideriamo solo 
 alcuni dei costrutti o una sorta di 
 idee fondamentali che saranno 
 utile da sfruttare qui fuori 
 in questa classe quindi lasciate che ve lo proponga 
 quello che ho fatto solo verbalmente può essere 
 tradotto in pseudocodice 
 che è come un algoritmo implementato 
 in inglese o qualunque sia il tuo parlato o 
 la lingua scritta è ma la chiave è quella 
 deve essere corretto 
 e idealmente sarebbe meglio essere precisi così 
 che non c'è ambiguità 
 il primo passo è stato davvero quello che ho raccolto 
 rubrica passo due 
 aperto a metà del passaggio tre della rubrica 
 guarda la pagina e in effetti l'ho fatto 
 e ora le cose sono diventate interessanti, passaggio quattro 
 se la persona David nel mio caso è su 
 pagina 
 cosa voglio fare bene dovrei 
 probabilmente chiama quella persona il problema è 
 risolto ho ottenuto il mio output il 
 numero di persona 
 ma c'è un'altra possibilità non se 
 la persona è sulla pagina ma piuttosto se 
 la persona è all'inizio del libro e 
 questo è quello che è successo un momento fa se io 
 finito su m 
 ma sto cercando David che è per il 
 lasciato dovrei allora 
 fai quello che si apre al centro della sinistra 

Italian: 
 metà del libro 
 ed è proprio quello che ho fatto e ho ordinato 
 di aver strappato a metà gratuitamente il problema 
 ma algoritmicamente ho appena guardato il file 
 metà sinistra 
 del libro successivo cosa faccio bene dopo 
 davvero questo è il punto in cui io 
 proponiamo che l'algoritmo ora sia solo 
 ripetibile ancora e ancora e così faremo 
 dì torna alla riga tre perché 
 bene a partire dalla riga tre ho un file 
 algoritmo per cercare qualcuno in un file 
 rubrica telefonica è così che accade il telefono 
 prenota ora 
 è grande la metà ma ce n'è un altro 
 caso cosa succede se la persona è più tardi nel file 
 libro che non stavo cercando David che 
 inizia con d 
 ma il nome di qualcun altro verso 
 la fine dell'alfabeto 
 beh, se quella persona è più tardi nel file 
 libro stessa idea aperta a metà del 
 metà destra del libro e poi di nuovo vai 
 torna al passo 
 tre ma infine c'è un quarto 
 possibilità 
 c'è una quarta possibilità o il file 
 persona è nella rubrica o deve farlo 
 la sinistra 
 o sono a destra o francamente loro 
 sono solo 
 non c'è affatto e questo ultimo punto 
 anche se un po 'sottile è così importante 
 le probabilità sono forse tutti noi sui nostri computer Mac 
 anche i telefoni 
 è stato molto frustrante 

English: 
half of the book
and that's indeed what i did and i sort
of gratuitously tore the problem in half
but algorithmically i just looked at the
left half
of the book next what do i do next well
really that's the point at which i
propose that the algorithm is now just
repeatable again and again and so we'll
say go back to line three why
well starting at line three i have an
algorithm for looking up someone in a
phone book it just so happens the phone
book now
is half as large but there's another
case what if the person is later in the
book i wasn't searching for david which
starts with d
but someone else's name that's toward
the end of the alphabet
well then if that person is later in the
book same idea open to the middle of the
right half of the book and then again go
back to step
three but lastly there's a fourth
possibility
there's a fourth possibility either the
person's in the phone book or they're to
the left
or they're to the right or frankly they
are just
not there at all and this last point
though somewhat subtle is so important
odds are all of us on our macs pcs maybe
even phones
have had that very frustrating

Italian: 
 esperienza dove come il tuo telefono 
 il tuo computer si blocca ottieni il file 
 stupido pallone da spiaggia rotante o clessidra 
 la cosa si blocca o ti riavvia 
 sapere che qualcosa va storto ed è normale 
 di inspiegabile 
 e potresti pensare che sia colpa tua ma 
 in realtà è di solito 
 colpa del programmatore che ha scritto il file 
 software che stai utilizzando sul tuo 
 computer o dispositivo 
 perché molto spesso quel programmatore per 
 qualunque sia la ragione 
 non prevedeva un possibile scenario 
 in questo caso ci sono quattro scenari ma 
 potresti immaginare di dimenticare il file 
 Fatto che vabbè forse David non è nemmeno 
 in questa rubrica ma faresti meglio a 
 gestisci quello scenario e quando hai un file 
 computer che si blocca o si blocca o 
 si riavvia o semplicemente qualcosa va storto 
 questo è abbastanza spesso semplicemente perché 
 un umano no 
 codice per qualche possibile scenario così 
 quali sono i concetti fondamentali che abbiamo 
 visto qui che continueremo 
 vedendo 
 in classe ora ben evidenziata in giallo 
 sono davvero alcuni verbi o 
 azioni che abbiamo esercitato con quello 
 rubrica telefonica questi sono in generale in 
 programmazione chiamata 
 funzioni una funzione è un'azione o un file 

English: 
experience where like your phone
your your computer hangs you get the
stupid spinning beach ball or hourglass
the thing freezes or just reboots you
know something goes wrong and it's sort
of inexplicable
and you might think it's your fault but
really it's usually
the programmer's fault who wrote the
software that you're using on your
computer or your device
why very often that programmer for
whatever reason
did not anticipate a possible scenario
in this case there's four scenarios but
you could imagine kind of forgetting the
fact that oh well maybe david's not even
in this phone book but you'd better
handle that scenario and when you have a
computer that freezes or hangs or
reboots or just something goes awry
that is quite often quite simply because
a human did not
code for some possible scenario so
what are the fundamental concepts we've
seen here that we're going to continue
seeing
in class well highlighted in yellow now
are really some verbs or
actions that we exercised with that
phone book these are in general in
programming called
functions a function is an action or a

Italian: 
 verbo è un'istruzione che ottiene il 
 computer per fare qualcosa 
 i prossimi evidenziati ecco cosa faremo 
 condizioni di chiamata o succursali 
 queste sono le proverbiali forchette 
 sulla strada potresti farlo 
 o questa o forse quest'altra cosa e 
 puoi avere una o due decisioni da prendere 
 o tre o quattro comunque molte condizioni 
 logicamente, li chiameremo 
 condizioni 
 ma come si fa a decidere quale fork del file 
 strada da prendere 
 se fare questo o quello o quest'altro 
 cosa per quello abbiamo bisogno di qualcosa chiamato 
 booleano 
 espressioni un'espressione booleana 
 è solo una domanda la cui risposta è sì 
 o no o 
 vero o falso o francamente uno o zero 
 tutti questi sarebbero equivalenti per il nostro 
 scopi quindi persona sulla pagina che è un sì 
 o nessuna domanda 
 persona all'inizio del libro che due è un 
 domanda persona più avanti nel libro 
 è anche una terza domanda, quindi se tu 
 può immaginare un sì no rispondere a un vero falso 
 risposta 
 una risposta uno zero che è ciò che ci dà 
 queste cose chiamate espressioni booleane 
 e infine in giallo ecco queste 
 le cose tornano alla riga tre 
 questo indurrà quello che chiameremo un ciclo 

English: 
verb it's a statement that gets the
computer to do something
next highlighted here are what we'll
call conditions or branches
these are sort of the proverbial forks
in the road you could either do this
or this or maybe this other thing and
you can have one decision to make or two
or three or four however many conditions
make sense logically we'll call those
conditions
but how do you decide which fork in the
road to take
whether to do this or that or this other
thing for that we need something called
boolean
expressions a boolean expression
is just a question whose answer is yes
or no or
true or false or frankly one or zero
all of those would be equivalent for our
purposes so person on page that's a yes
or no question
person earlier in book that two is a
question person later in book
is a third question as well so if you
can imagine a yes no answer a true false
answer
a one zero answer that is what gives us
these things called boolean expressions
and then lastly in yellow here are these
things go back to line three
this will induce what we'll call a loop

Italian: 
 o un ciclo 
 che è solo un costrutto di programmazione o 
 principio di un algoritmo che ti ottiene 
 fare qualcosa ancora e ancora 
 quindi non devi scriverne cento 
 algoritmo di linea puoi scrivere un tredici 
 algoritmo di linea e riutilizzare parti di esso 
 ancora e ancora e così inizieremo ora 
 e inizieremo 
 cs50 con uno sguardo a un effettivo 
 linguaggio di programmazione uno che potresti 
 hanno usato di più 
 recentemente o come i bambini più piccoli conosciuti come 
 zero che è una programmazione grafica 
 lingua che 
 mentre è tutto, beh, potrebbe essere molto 
 familiare ad alcuni di voi 
 in realtà rappresenta molti di questi 
 fondamenti di programmazione che useremo 
 come questo terreno 
 per passare in una sola settimana a un file 
 più tradizionale 
 lingua più vecchia scuola conosciuta come c 
 che è interamente testo e tastiera 
 basato 
 ma vedremo in tutte le lingue che abbiamo 
 guarda in cs50 
 queste cose chiamate funzioni e 
 condiziona espressioni booleane e loop 
 e oggi tra un attimo lo faremo anche noi 
 vedere alcune altre caratteristiche che descriviamo 
 come variabili non dissimili 
 xy e ze math thread che consentono a 
 computer da fare 
 vedrebbe più cose contemporaneamente 

English: 
or a cycle
which is just a programming construct or
principle of an algorithm that gets you
to do something again and again
so you don't have to write a hundred
line algorithm you can write a thirteen
line algorithm and reuse parts of it
again and again and so we'll begin now
and we'll begin
cs50 with a look at an actual
programming language one that you might
have used more
recently or as younger kids known as
scratch which is a graphical programming
language which
while it's all um well it might be very
familiar to some of you
it actually represents a lot of these
programming fundamentals that we'll use
as this ground
for transitioning in just one week to a
more traditional
more old school language known as c
which is entirely text and keyboard
based
but we'll see in all of the languages we
look at in cs50
these things called functions and
conditions boolean expressions and loops
and today in just a moment we'll also
see some other features that we describe
as variables not unlike
x y and z and math threads which allow a
computer to do
it would see multiple things at once

English: 
events and yet other
features as well and so from
here we transition from pseudocode to
actual code
and what you see on the screen here is
an example of a language called
c where we'll spend a good amount of
time this semester this is the older
school text-based keyboard-based
language
to which i referred earlier but this
language is a bit cryptic and certainly
at first glance
you might wonder why is the hash symbol
there the angled brackets the
parentheses the
curly braces the semicolon the quotes i
mean my god there is so much
syntax to what is on the screen now and
you can probably guess what this program
does let me just go quickly to the
audience what anyone
does this program probably do even if
you've never programmed a computer
before
let's take a quick answer from anyone
what does this program do
uh iris what would you say
um it just prints out hello comma world
exactly it just prints hello world and

Italian: 
 eventi e altri ancora 
 caratteristiche e così via 
 qui si passa da pseudocodice a 
 codice effettivo 
 e quello che vedi sullo schermo qui è 
 un esempio di una lingua chiamata 
 c dove spenderemo una buona quantità di 
 volta questo semestre questo è il più vecchio 
 scuola basata su testo basato su tastiera 
 linguaggio 
 a cui ho fatto riferimento in precedenza ma questo 
 il linguaggio è un po 'criptico e certamente 
 a prima vista 
 potresti chiederti perché è il simbolo cancelletto 
 lì le parentesi angolate il 
 tra parentesi il 
 parentesi graffe il punto e virgola le virgolette i 
 significa mio dio c'è così tanto 
 sintassi di ciò che è sullo schermo ora e 
 probabilmente puoi indovinare cosa questo programma 
 lasciami andare rapidamente al 
 pubblico quello che chiunque 
 questo programma probabilmente lo fa anche se 
 non hai mai programmato un computer 
 prima 
 prendiamo una rapida risposta da chiunque 
 cosa fa questo programma 
 uh iris cosa diresti 
 um stampa solo ciao virgola mondo 
 esattamente stampa solo ciao mondo e 

English: 
my god like look at all of the syntax
and all the keystrokes we had type
just to command the computer to do that
and so by contrast today
is scratch we'll allow ourselves for
just a day to look at something much
more friendly much more graphical
that will allow us to explore these very
ideas and set the stage for more
sophisticated
more uh traditional languages next week
and beyond
but in the context where we don't have
to worry about parentheses semicolons
curly braces and where even these keys
are
on the keyboard so allow me to introduce
you then to scratch developed by some of
our friends down the road here in
cambridge at
mit's media lab you can play along at
home here on out if you would like at
scratch.mit.edu
it's web-based but there's also an
offline version if you tend not to have
the best of internet
but the user interface would typically
look like this and a quick tour
so here on scratch.mit.edu when you go
to create
a project via the button on the
interface you'll see first
scratch the the namesake of the program
of this cat who lives in this little
rectangular world in which you can move

Italian: 
 il mio dio come guarda tutta la sintassi 
 e tutte le sequenze di tasti che abbiamo digitato 
 solo per comandare al computer di farlo 
 e così al contrario oggi 
 è un graffio che ci concederemo 
 solo un giorno per guardare qualcosa di molto 
 più amichevole molto più grafico 
 questo ci permetterà di esplorare proprio questi 
 idee e preparare il terreno per di più 
 sofisticato 
 più uh lingue tradizionali la prossima settimana 
 e oltre 
 ma nel contesto in cui non abbiamo 
 preoccuparsi delle parentesi punto e virgola 
 parentesi graffe e dove anche queste chiavi 
 siamo 
 sulla tastiera quindi permettetemi di presentarvi 
 quindi a zero sviluppato da alcuni di 
 i nostri amici in fondo alla strada qui dentro 
 cambridge a 
 Il laboratorio multimediale di mit in cui puoi suonare insieme 
 a casa qui fuori se vuoi a 
 scratch.mit.edu 
 è basato sul web ma c'è anche un file 
 versione offline se tendi a non averla 
 il meglio di Internet 
 ma l'interfaccia utente normalmente 
 assomiglia a questo e un breve tour 
 quindi qui su scratch.mit.edu quando vai 
 creare 
 un progetto tramite il pulsante sul file 
 l'interfaccia che vedrai per prima 
 gratta l'omonimo del programma 
 di questo gatto che vive in questo piccolo 
 mondo rettangolare in cui puoi muoverti 

English: 
up down left or right
but the cat can be transformed into any
number of other characters or what we'll
call
sprites visual representations thereof
on the left here now
are all of the building blocks that come
with scratch
all of the programming constructs
available to you in the form of puzzle
pieces
and you'll notice that they're
categorized according to color and
description and there's a whole bunch of
puzzle pieces that rather say what they
do
and today the goal is not to go into the
weeds of all of these various puzzle
pieces but to highlight
some of the fundamental ideas that are
possible and we'll explore those ideas
by the middle of the screen here
we'll be able in just a moment to start
dragging and dropping these puzzle
pieces onto this
this larger screen and interlock them
together if it makes logical sense to do
so finally for the most sophisticated
programs we can actually create
yet more characters or sprites and
actually have a lot of interactions
on the screen as well but let's go ahead
and dive in with just an example quite
quickly i'm going to go ahead on my

Italian: 
 su giù a sinistra oa destra 
 ma il gatto può essere trasformato in qualsiasi 
 numero di altri personaggi o cosa faremo 
 chiamata 
 sprite loro rappresentazioni visive 
 a sinistra qui ora 
 sono tutti gli elementi costitutivi che vengono 
 con zero 
 tutti i costrutti di programmazione 
 a tua disposizione sotto forma di puzzle 
 pezzi 
 e noterai che lo sono 
 classificati in base al colore e 
 descrizione e c'è un sacco di 
 pezzi del puzzle che invece dicono quello che dicono 
 fare 
 e oggi l'obiettivo non è entrare nel 
 erbacce di tutti questi vari puzzle 
 pezzi ma da evidenziare 
 alcune delle idee fondamentali che sono 
 possibile ed esploreremo quelle idee 
 al centro dello schermo qui 
 potremo iniziare tra un attimo 
 trascinando e rilasciando questi puzzle 
 pezzi su questo 
 questo schermo più grande e collegarli 
 insieme se ha senso logico farlo 
 quindi finalmente per i più sofisticati 
 programmi che possiamo effettivamente creare 
 ancora più personaggi o sprite e 
 in realtà hanno molte interazioni 
 anche sullo schermo ma andiamo avanti 
 e immergiti solo con un esempio abbastanza 
 rapidamente vado avanti sul mio 

Italian: 
 schermo 
 e vai davvero a scratch.mit.edu 
 e sei il benvenuto a suonare insieme a casa 
 anch'io e farò clic 
 creare per entrare esattamente in questo 
 non è necessario creare un'interfaccia 
 account 
 fin dall'inizio a meno che non lo desideri 
 e lasciami andare avanti e iniziare a creare 
 un programma il primo programma che 
 una volta è stato scritto dalla tradizione 
 era semplicemente ciò che iris proponeva 
 ciao mondo un programma che stampa su 
 schermo ciao mondo 
 bene come possiamo farlo bene io posso 
 probabilmente farlo abbastanza velocemente perché 
 ho già usato l'interfaccia ma il file 
 obiettivo per te a portata di mano se non l'hai mai fatto 
 usato questo prima con il primo del corso 
 problema impostato 
 o l'assegnazione di programmazione è davvero solo 
 per sporcarsi le mani e 
 esplorare e curiosare e le probabilità sono le 
 idee che stai cercando 
 alla fine troverai il pop out e il file 
 il primo che proverò 
 è questo qui questo pezzo di puzzle 
 è un po 'giallo o arancione 
 colore 
 è nella categoria eventi ed è 
 chiamato quando verde 
 flag cliccato questo è di interesse perché 
 se vado al palco di zero qui 
 vedrai in alto a sinistra che c'è un verde 
 bandiera 
 questo significherà andare e un rosso 

English: 
screen
and go indeed to scratch.mit.edu
and you're welcome to play along at home
as well and i'm going to click
create in order to get into exactly that
interface you do not need to make an
account
from the get go unless you would like
and let me go ahead and start creating
a program the very first program that
was once written by lore
was quite simply what iris proposed as
hello world a program that prints on the
screen hello world
well how can we do that well i can
probably do this quite quickly because
i've used the interface before but the
goal for you at hand if you've never
used this before with the course's first
problem set
or programming assignment really is just
to get your hands dirty and
explore and poke around and odds are the
ideas you are looking for
you'll find eventually pop out and the
first one i'm going to try out
is this one here this puzzle piece
that's a little yellow or orange in
color
it's in the events category and it's
called when green
flag clicked this is of interest because
if i go to scratch's stage over here
you'll see a top left there's a green
flag
that's going to signify go and a red

Italian: 
 fermare 
 segno che sta per significare stop quindi se 
 voglio che succeda qualcosa 
 quando clicco sulla bandiera verde vado 
 per iniziare con questo pezzo di puzzle qui 
 ora passerò agli sguardi 
 categoria e nella categoria look 
 c'è un sacco di blocchi ma 
 lo manterremo semplice qui 
 vado avanti e dico solo il 
 canonico come ha notato l'iride 
 ciao mondo virgola, ridurrò lo zoom 
 passerò a grattare qui e lo sono 
 andando a cliccare ora la bandiera verde e 
 Ecco 
 ciao mondo così quello è mio e forse 
 presto il tuo primo programma 
 utilizzando in questa lingua zero ma di 
 Ovviamente questo non lo è 
 terribilmente interessante potrebbe essere gratificante 
 per la prima volta ma non lo è 
 qualcosa che vorresti riprodurre di nuovo e 
 ancora 
 ma possiamo rendere questa cosa molto di più 
 interattivo e possiamo iniziare a stratificare 
 questi elementi costitutivi e hanno 
 un algoritmo più simile alla ricerca 
 rubrica telefonica che ha più passaggi così 
 fammi andare avanti e fermare quel programma 
 e lasciami invece esplorare un po ' 
 lasciami andare sotto rilevamento questa volta 
 questa categoria blu e vedrai questo 
 bloccare qui 
 chiedi come ti chiami e aspetta ma nota 

English: 
stop
sign that's going to signify stop so if
i want something to happen
when i click that green flag i'm going
to start with this puzzle piece here
now i'm going to go over into the looks
category and in the looks category
there's a whole bunch of blocks but
we're going to keep it simple here
i'm going to go ahead and just say the
canonical as iris noted
hello comma world i'll zoom back out
i'll move over to scratch here and i'm
going to click now the green flag and
voila
hello world so that is my and perhaps
soon your very first program
using in this language scratch but of
course this isn't
terribly interesting might be gratifying
for the very first time but it's not
something you'd want to play again and
again
but we can make this thing much more
interactive and we can start to layer
these building blocks and have
an algorithm more like searching that
phone book that has multiple steps so
let me go ahead and stop that program
and let me explore a little bit instead
let me go under sensing this time
this blue category and you'll see this
block here
ask what's your name and wait but notice

Italian: 
 che come ti chiami in questo bianco 
 ovale e questo implica che posso cambiare 
 qual è la domanda se voglio ma lo sono 
 bene con quella domanda per ora 
 e lasciami andare avanti e prima mi sbarazzi di 
 questi blocchi 
 e mi concedo quando la bandiera verde ha cliccato 
 e questa volta 
 inizia con il rilevamento chiedendo qual è il tuo 
 nome e aspetta 
 ma nota che questo è una specie di 
 blocco speciale viene fornito con un secondo 
 bloccare 
 una cosiddetta variabile si scopre che 
 questa domanda 
 il pezzo del puzzle sta letteralmente chiedendo 
 l'umano che sta giocando a questo gioco 
 una domanda e memorizzerà il file 
 rispondere a questa domanda in una variabile 
 raffigurato qui è questo ovale blu chiamato 
 rispondi proprio come in matematica un 
 xay o az quindi cosa potrei fare con 
 quello 
 bene lasciami andare di nuovo agli sguardi lasciami andare 
 dire 
 ciao ma questa volta sai cosa fammi 
 vai avanti e dì 
 ciao virgola e allora tutto bene lasciami 
 darmi un secondo blocco di dire ma io 
 non voglio salutare di nuovo, quindi lo sono 
 andando a eliminarlo 
 ma tornerò al rilevamento e 
 Adesso trascinerò la risposta 
 sembra un po 'troppo grande ma nota se i 

English: 
that what's your name is in this white
oval and that implies that i can change
what the question is if i want but i'm
fine with that question for now
and let me go ahead and first get rid of
these blocks
and give myself when green flag clicked
and this time
start under sensing with ask what's your
name and wait
but notice that this is kind of a
special block it comes with a second
block
a so-called variable it turns out that
this ask
puzzle piece is literally going to ask
the human who's playing this game
a question and it's going to store the
answer to that question in a variable
depicted here is this blue oval called
answer just like in math an
x a y or a z so what could i do with
that
well let me again go to looks let me go
to say
hello but this time you know what let me
go ahead and say
hello comma and then all right let me
give myself a second say block but i
don't want to say hello again so i'm
going to delete that
but i'm going to go back to sensing and
i'm going to drag and drop answer now it
looks a little too big but notice if i

Italian: 
 avvicinarsi ad esso 
 vuole connettersi magneticamente 
 e infatti il ​​graffio crescerà 
 per riempire il pezzo del puzzle per me quindi ora io 
 avere un programma sembrerebbe 
 un programma scritto da zero un pezzo di 
 software scritto in zero 
 questo sarà quando la bandiera verde sarà 
 cliccato chiedi come ti chiami e attendi 
 questa è la nostra funzione dì ciao è 
 un'altra funzione e poi andrà a 
 dire 
 rispondi bene a qualunque cosa l'umano abbia digitato 
 lasciami andare al mondo di graffi qui 
 e fare clic sulla bandiera verde 
 nota che il gatto mi sta chiedendo qual è il tuo 
 nome digito david e 
 entra eh vedo solo David, beh forse io 
 ha fatto qualcosa di sbagliato fammelo fare di nuovo 
 bandiera verde 
 David entra 
 quello che sta succedendo sembra essere un bug 
 perché sono abbastanza sicuro di averne tre 
 chiedono le funzioni 
 dire e dire ma mi sento come se mi mancasse 
 la seconda istruzione qualsiasi pensiero su 
 quale bug ho creato 
 cosa potrebbe spiegare questo 
 uh natalie è 

English: 
get close to it
it sort of magnetically wants to connect
and indeed scratch will grow
to fill the puzzle piece for me so now i
have a program it would seem
a program written in scratch a piece of
software written in scratch
that's going to when the green flag is
clicked ask what's your name and wait
that's our function say hello that's
another function and then it's going to
say
answer whatever the human typed in well
let me go over to scratch's world here
and click the green flag
notice the cat is asking me what's your
name i type in david and
enter huh i only see david well maybe i
did something wrong let me do it again
green flag
d-a-v-i-d enter
what's going on this seems to be a bug
because i'm pretty sure i have three
functions ask
say and say but i feel like i'm missing
the second instruction any thoughts on
what bug i have made
what might explain this
uh natalie is it

English: 
what do you think hi um can you hear me
yes yes we can so um you
replace the output to the same function
yeah i replaced the output with the same
function and honestly
even though we're using a fairly simple
program scratch my mac
is actually pretty fast and your pc or
your mac or your phone is pretty fast
and even though scratch is saying hello
and saying answer
as natalie notes the answer is sort of
overwhelming to say because i didn't so
much as pause
so i could go in and find a block
there's a weight block that could allow
me to insert an arbitrary
pause but i really want this to be one
breath i want it to be hello comma david
all at once
so how can i do that well let me go
under operations and it turns out
there's a whole bunch of math related
things here but also some
some english or language related things
down here
join apple banana now this has nothing
to do with apples and bananas those are
just placeholders but there's this
puzzle piece here that i can drag and
drop
and you know what let me go ahead and do

Italian: 
 cosa ne pensi ciao um mi senti 
 si si possiamo quindi um tu 
 sostituire l'uscita con la stessa funzione 
 sì ho sostituito l'uscita con lo stesso 
 funzione e onestamente 
 anche se stiamo usando un file 
 programma gratta il mio mac 
 è in realtà piuttosto veloce e il tuo PC o 
 il tuo Mac o il tuo telefono è abbastanza veloce 
 e anche se scratch sta dicendo ciao 
 e dicendo risposta 
 come nota natalie, la risposta è più o meno 
 travolgente da dire perché non l'ho fatto 
 tanto quanto una pausa 
 così potrei entrare e trovare un blocco 
 c'è un blocco di peso che potrebbe consentire 
 me per inserire un arbitrario 
 pausa ma voglio davvero che questo sia uno 
 respiro, voglio che sia ciao virgola david 
 tutto in una volta 
 quindi come posso farlo bene lasciami andare 
 sotto le operazioni e si scopre 
 c'è un sacco di matematica correlata 
 cose qui ma anche alcune 
 alcune cose relative all'inglese o alla lingua 
 qui sotto 
 unire mela banana ora questo non ha nulla 
 a che fare con mele e banane quelle sono 
 solo segnaposto ma c'è questo 
 pezzo di puzzle qui che posso trascinare e 
 far cadere 
 e sai cosa lasciami andare avanti e fare 

Italian: 
 questo mi consente di sostituire il primo 
 input per dire e fammi unire ciao virgola 
 e poi non banana ma lasciami trascinare il file 
 rispondi e nota che cadrà 
 sul posto fammi lanciare questo altro blocco 
 per eliminare le cose che puoi semplicemente trascinare 
 loro a sinistra e lasciati andare 
 e ora nota che ho un programma 
 sta chiedendo come ti chiami 
 e poi dirò il risultato di 
 unendo ciao 
 e rispondi e lasciami andare avanti e giocare 
 questo ora dopo aver interrotto quello vecchio 
 come ti chiami, digito david enter 
 e voilà 
 come nota natalie ora non lo è 
 inciampare su se stesso 
 distruggendo ciò che prima c'era ora 
 Sto ricevendo tutto d'un fiato 
 ora il programma sta diventando un po 'di più 
 interessante ma il paradigma è no 
 diverso da prima in effetti 
 lascia che ti proponga tutto ciò che abbiamo 
 appena fatto 
 si inserisce perfettamente in tutto questo 
 modello mentale di ciò che significa risolvere 
 problemi e quale informatica 
 stesso è così per esempio 
 se questo è il problema da risolvere e 
 ho input e output sono il mio obiettivo 
 e l'algoritmo intermedio consideriamo 
 come graffiare si inserisce anche in questo mentale 
 modello 
 il mio contributo al primo programma that 
 abbiamo scritto un attimo fa era letteralmente 

English: 
this let me replace the first
input to say and let me join hello comma
and then not banana but let me drag the
answer and notice that will drop
in place let me throw this other block
away to delete things you can just drag
them over to the left and let go
and now notice that i have a program
that's asking what's your name
and then i'm going to say the result of
joining hello
and answer and let me go ahead and play
this now after stopping the old one
what's your name i type in david enter
and voila
as natalie notes now it's not it's
tripping over itself
clobbering what was previously there now
i'm getting it all in one breath
now the program is getting a little more
interesting but the paradigm is no
different from before in fact
let me propose that everything we've
just done
is fitting perfectly into this whole
mental model of what it means to solve
problems and what computer science
itself is so for instance
if this is the problems to be solved and
i've got inputs and outputs are my goal
and algorithm in between let's consider
how scratch even fits into this mental
model
my input to the very first program that
we wrote a moment ago was literally

English: 
hello world in its own oval
the algorithm was implemented as a
function
in scratch called say so an algorithm
step-by-step instructions a function is
the computer's implementation of an
algorithm
in this case a function called say the
output of course was the cat saying
hello world
but things got more interesting just now
after natalie's remark
whereby when i introduce something like
ask your what's your name
and then wait notice what happens this
time in the model
now the input to the problem is what's
your name that's the string that comes
by default and i could change it but i
didn't
that's being fed now into the ask block
and the ask
block's purpose in life is to get the
cat to give me
an answer like this now that answer is
interesting because
i can now join it in with the word hello
as a prefix so
this block is interesting because notice
the input the white oval
to the say block actually has another
puzzle piece and then two more puzzle
pieces on top of it and what's cool here
is that when programming

Italian: 
 ciao mondo nel suo ovale 
 l'algoritmo è stato implementato come file 
 funzione 
 in zero chiamato diciamo così un algoritmo 
 istruzioni passo passo una funzione è 
 l'implementazione del computer di un file 
 algoritmo 
 in questo caso una funzione chiamata dire il 
 uscita naturalmente era il gatto dicendo 
 Ciao mondo 
 ma le cose sono diventate più interessanti proprio ora 
 dopo l'osservazione di natalie 
 per cui quando introduco qualcosa di simile 
 chiedi come ti chiami 
 e poi attendere notare cosa succede questo 
 tempo nel modello 
 ora l'input per il problema è qual è 
 il tuo nome è la stringa che viene 
 per impostazione predefinita e potrei cambiarlo ma io 
 non lo fece 
 che viene inserito ora nel blocco delle domande 
 e la domanda 
 lo scopo del blocco nella vita è ottenere il file 
 gatto da darmi 
 una risposta come questa ora quella risposta è 
 interessante perché 
 ora posso unirmi con la parola ciao 
 come prefisso così 
 questo blocco è interessante perché avviso 
 l'ingresso l'ovale bianco 
 al blocco dire ne ha effettivamente un altro 
 pezzo di puzzle e poi altri due puzzle 
 pezzi sopra e cosa c'è di bello qui 
 è quello durante la programmazione 

English: 
functions you can have the outputs of
one function
become the input to another function and
so the flow here is quite simply this
now i have two inputs to the function
both hello which i wrote
and answer which came from the ask block
the algorithm in question now is the
join function
which i just used and its output is
hopefully going to be hello comma david
but i don't want to see a white oval on
the screen saying hello
comma david i want the cat to say hello
comma david
so let me go ahead and focus only on the
output make it become the input
to a final function which is that say
block and voila
now the cat says what i want it to so
again even as you start to nest
that is place these puzzle pieces one on
top of the other
all we're doing is passing in inputs and
getting outputs doing something with
those outputs and making them inputs and
so forth
that really is the paradigm ultimately
of what it means to program
but we can make the cat do more
interesting things and just to have a
little bit of fun with this
let me go ahead and dig in to this
bottom icon at the bottom left of the

Italian: 
 funzioni di cui puoi avere gli output 
 una funzione 
 diventa l'input per un'altra funzione e 
 quindi il flusso qui è semplicemente questo 
 ora ho due ingressi per la funzione 
 ciao entrambi che ho scritto 
 e risposta proveniente dal blocco delle domande 
 l'algoritmo in questione ora è il 
 funzione join 
 che ho appena usato e il suo output è 
 si spera che sia ciao virgola david 
 ma non voglio vedere un ovale bianco 
 lo schermo saluta 
 virgola david voglio che il gatto saluti 
 virgola david 
 quindi lasciami andare avanti e concentrarmi solo sul 
 l'output lo fa diventare l'input 
 a una funzione finale che è quella di dire 
 blocco e voilà 
 ora il gatto dice quello che voglio così 
 di nuovo anche quando inizi a nidificare 
 cioè mettere questi pezzi del puzzle uno sopra 
 sopra l'altro 
 tutto ciò che stiamo facendo è passare input e 
 ottenere output facendo qualcosa con 
 quegli output e rendendoli input e 
 così via 
 questo è davvero il paradigma in ultima analisi 
 di cosa significa programmare 
 ma possiamo far fare di più al gatto 
 cose interessanti e solo per avere un 
 un po 'di divertimento con questo 
 lasciami andare avanti e approfondire questo 
 icona in basso in basso a sinistra del 

English: 
screen
scratch has these so-called extensions
where you can really make it do fancier
things as well
and let me go to text to speech at the
top right so this is using a cloud-based
service that is some
internet-based service that's going to
send the words that i type
out on the internet the internet some
server there is going to respond with a
verbalization now
of what it is i just typed so let me go
ahead and try this let me get rid of the
purple save function
and replace it with this speak block and
let me go ahead and drag
in the join puzzle piece here notice
it's going to grow to fill
and i'm not going to use this one
anymore this time i'm going to hit stop
and i'm going to go ahead and hit play
once more and type in my name
and hello david okay not a very natural
cat sound but notice we can set the
voice differently
so notice i can drag this puzzle piece
and you can even squeeze blocks inside
of others notice that it can go wherever
you want i'll put it at the very top
here though i could put it in a couple
of different places
right now the default voice is alto

Italian: 
 schermo 
 scratch ha queste cosiddette estensioni 
 dove puoi davvero renderlo più elaborato 
 anche le cose 
 e lasciami passare alla sintesi vocale al 
 in alto a destra quindi questo sta usando un cloud-based 
 servizio che è un po ' 
 servizio basato su Internet che sta per 
 invia le parole che digito 
 su Internet su Internet alcuni 
 il server risponderà con un file 
 verbalizzazione adesso 
 di quello che ho appena digitato quindi lasciami andare 
 avanti e prova questo fammi sbarazzarmi del file 
 funzione di salvataggio viola 
 e sostituiscilo con questo blocco vocale e 
 lasciami andare avanti e trascina 
 nel pezzo di puzzle di unione qui avviso 
 crescerà per riempirsi 
 e non userò questo 
 più questa volta premerò stop 
 e vado avanti e premo play 
 ancora una volta e digita il mio nome 
 e ciao davide va bene non molto naturale 
 suono del gatto ma nota che possiamo impostare il 
 voce in modo diverso 
 quindi nota che posso trascinare questo pezzo di puzzle 
 e puoi persino spremere i blocchi all'interno 
 degli altri notano che può andare ovunque 
 se vuoi lo metto in cima 
 qui però potrei metterlo in un paio 
 di luoghi diversi 
 in questo momento la voce predefinita è alto 

Italian: 
 superare di poco 
 sembra appropriato proviamo a digitare 
 nel mio nome david 
 ciao davide tutto bene ancora non molto 
 come un gatto ironicamente c'è un gattino 
 voce 
 che se lo cambio in gattino lo farà ora 
 ascolta questo 
 digita il mio nome e inserisci meow meow 
 ok, quindi non importa davvero 
 indica quello che scrivo ma ora questo è 
 incredibile come siamo passati dal solo dire 
 ciao mondo a ciao david che è 
 cambiando dinamicamente se si dovesse digitare 
 il tuo nome ovviamente direbbe il tuo 
 nome invece 
 e ora grazie al cloud che è 
 server su Internet 
 stiamo convertendo automaticamente il testo che 
 l'umano ha appena emesso un suono 
 file 
 note e durate e tutto il resto 
 qualcosa che ora il mio computer può riprodurre 
 beh, facciamo suonare davvero questo gatto 
 un po 'più come un gatto lasciami andare avanti 
 e sbarazzati di quei blocchi qui 
 e lasciami andare e dare me stesso ora da 
 il suono 
 categoria che ne dici di questo gioco suono miagolio 
 fino al termine 
 ora questo è un semplice programma quando il 
 si fa clic sulla bandiera verde riproduce il suono miagolio 
 fino al termine 
 eccoci, vado avanti e colpisco 

English: 
squeak
sounds appropriate let's try that typing
in my name david
hello david all right still not very
cat-like ironically there is a kitten
voice
which if i change it to kitten will now
hear this
type in my name and enter meow meow
okay so it doesn't really matter at that
point what i type in but now this is
amazing like we've gone from just saying
hello world to hello david which is
dynamically changing if you were to type
your name obviously it would say your
name instead
and now thanks to the cloud that is
servers on the internet
we're converting automatically text that
the human has just provided into a sound
file
notes and durations and all of that into
something my computer can now play
well let's actually make this cat sound
a little more like a cat let me go ahead
and get rid of those blocks here
and let me go and give myself now from
the sound
category how about this play sound meow
until done
now this is a simple program when the
green flag is clicked play sound meow
until done
here we go i'm going to go ahead and hit

English: 
play
all right that's it if i want to hear
the cat meow again i got to do it again
okay that's great i could kind of amuse
myself for a while by just clicking
play but surely we can do better than
this you can imagine this uh
getting tedious quickly so how might i
get the cat to do this again and again
well you know what let me go ahead and
let me just kind of grab a few of these
meow
meow meow three times so now that's two
fewer times i have to hit the button
all right it doesn't seem like the
happiest cat so let me actually go to
control
and let me give him a second break in
between wait one second in between
here now let me do it again
okay slightly happier cat but this seems
a little messy now this
this is correct it is meowing three
times but let me go to the audience
let's now consider design recall that we
considered design in the context of the
phone book
the third algorithm was better designed
in that it was

Italian: 
 giocare 
 Va bene, è tutto se voglio sentire 
 il gatto miagola di nuovo devo farlo di nuovo 
 okay, è fantastico, potrei divertirmi 
 me stesso per un po 'semplicemente facendo clic 
 giocare ma sicuramente possiamo fare meglio di 
 questo puoi immaginare questo uh 
 diventando noioso rapidamente, quindi come potrei 
 convincere il gatto a farlo ancora e ancora 
 beh sai cosa fammi andare avanti e 
 fammi solo prendere alcuni di questi 
 Miao 
 miao miagola tre volte, quindi ora sono due 
 meno volte devo premere il pulsante 
 va bene, non sembra il file 
 gatto più felice quindi lasciami andare davvero 
 controllo 
 e lascia che gli dia una seconda pausa 
 tra attendere un secondo in mezzo 
 qui ora lasciami farlo di nuovo 
 ok gatto leggermente più felice ma questo sembra 
 un po 'disordinato ora questo 
 questo è corretto, miagola tre 
 volte ma lasciami andare al pubblico 
 consideriamo ora il design, ricordiamo che noi 
 considerato il design nel contesto del 
 rubrica telefonica 
 il terzo algoritmo è stato progettato meglio 
 in quello era 

English: 
faster it was more efficient but there's
another element to design
which is that you shouldn't repeat
yourself if possible
so those of you who have programmed
before might know what the solution here
might be well
it turns out that go to go back to line
three we called a loop
turns out scratch supports these things
called loops and in fact there's one
staring at me right here
if i zoom in on the left notice that
under the control blocks these orange
blocks there's a repeat block
and even though it says 10 by default i
bet we can change that so let me drag
that over here
let me throw away a lot of this
redundancy this copy paste
let me move these puzzle pieces inside
of the repeat block and it too will grow
to fit them not a problem
let me change the repeat to three and
now let me reconnect everything
and now the program is just tighter it's
using fewer
puzzle pieces or fewer lines of code
fewer steps if you will
to achieve the same result so now if i
click the green flag
it's still working so you could imagine
changing this to any number you want

Italian: 
 più veloce era più efficiente ma c'è 
 un altro elemento da progettare 
 vale a dire che non dovresti ripetere 
 se possibile 
 così quelli di voi che hanno programmato 
 prima potrebbe sapere qual è la soluzione qui 
 potrebbe andare bene 
 si scopre che va a tornare in linea 
 tre abbiamo chiamato un ciclo 
 risulta che scratch supporta queste cose 
 chiamati loop e infatti ce n'è uno 
 fissandomi proprio qui 
 se ingrandisco a sinistra lo noto 
 sotto il controllo questi blocchi arancioni 
 blocchi c'è un blocco di ripetizione 
 e anche se per impostazione predefinita dice 10 i 
 scommetto che possiamo cambiarlo quindi lasciami trascinare 
 quello qui 
 fammi buttare via un sacco di questo 
 ridondanza questa copia incolla 
 lasciami spostare questi pezzi del puzzle all'interno 
 del blocco di ripetizione e anch'esso crescerà 
 per adattarli non è un problema 
 fammi cambiare la ripetizione in tre e 
 ora fammi ricollegare tutto 
 e ora il programma è solo più stretto è 
 utilizzando meno 
 pezzi del puzzle o meno righe di codice 
 meno passaggi se vuoi 
 per ottenere lo stesso risultato quindi ora se i 
 fare clic sulla bandiera verde 
 funziona ancora così puoi immaginare 
 cambiandolo con qualsiasi numero tu voglia 

Italian: 
 c'è anche un blocco per sempre in cui noi 
 potrebbe farlo per sempre 
 se il gatto lo farà dentro 
 perpetuo ma ora è un programma migliore 
 ora è progettato meglio 
 perché se voglio modificare l'importo 
 di tempo il gatto sta aspettando 
 o se voglio cambiare il numero totale 
 di volte il gatto miagola posso cambiare 
 quei dettagli in uno 
 posto non in uno o due o tre come da 
 copiare e incollare quegli stessi puzzle 
 pezzi bene che dire di quello per sempre 
 loop e se vuoi fare qualcosa 
 per sempre cosa potrei voler fare bene 
 alziamo e muoviamo il gatto 
 fammi passare ora alla categoria movimento 
 lasciami andare a 
 punta verso il puntatore del mouse quindi lasciami 
 ingrandisci questo 
 e ogni volta che il gatto indica il 
 puntatore del mouse facciamogli prendere uno 
 passo 
 quindi ho intenzione di afferrare la mossa un po ' 
 numero di passaggi e cambierò 
 il 10 a 1 
 e ora premerò play e ora noi 
 avere il nostro primo programma dove si trova il gatto 
 tipo 
 rispondendo al mio cursore massimo e posso 
 spostalo e posso ottenere un file 
 un po 'stupido ma mi sta prendendo 
 letteralmente 
 punta al cursore del mouse e 
 si muove quindi di un passo 
 ora posso farlo muovere più velocemente lasciami 

English: 
there's even a forever block where we
could do it forever
if the cat's going to do this in
perpetuity but it's a better program now
now it is better designed
because if i want to change the amount
of time the cat is waiting
or if i want to change the total number
of times the cat meows i can change
those details in one
place not in one or two or three as by
copying and pasting those same puzzle
pieces well what about that forever
loop what if you do want to do something
forever what might i want to do well
let's get the cat up and moving
let me go under the motion category now
let me go to
point towards mouse pointer so let me
zoom in on this
and every time the cat points toward the
mouse pointer let's have him take one
step
so i'm going to grab the move some
number of steps and i'm going to change
the 10 to a 1
and now i'm going to hit play and now we
have our first program where the cat is
kind of
responding to my max cursor and i can
move it around and i can kind of get a
little goofy but it's taking me
literally
it's pointing at the mouse cursor and
it's then moving one step
now i can make it move faster let me

Italian: 
 fermalo per un secondo e se mi muovo 
 non 
 un passo alla volta ma due passi alla volta 
 tempo e vedremo che ora il gatto è 
 muovendosi un po 'più velocemente 
 non abbastanza super veloce facciamo 20 passaggi 
 alla volta e vedere cosa succede e questo 
 è davvero l'essenza dell'animazione 
 più si regola il numero di passaggi 
 o il numero di modifiche che si verificano 
 quei pixel al secondo o per unità di 
 tempo 
 più succederà visivamente 
 sullo schermo bene cosa possiamo fare di più 
 dal solo seguire bene sai cosa 
 se ora ho la possibilità di avere il file 
 gatto 
 seguimi fammi provare qualcos'altro 
 del tutto lasciatemi andare avanti e 
 apri un'altra estensione fammi entrare 
 lo strumento penna che me lo consentirà 
 ora per disegnare con come una matita o 
 o penna sullo schermo e lasciami andare avanti 
 e 
 ho ancora il gatto uh seguimi credo 
 in realtà sappiamo cosa cambiamo questo 
 lasciamolo andare dove sono io 
 c'è un altro blocco che dice vai a 
 posizione casuale non lo voglio 
 quindi ho intenzione di cambiarlo un po ' 
 menu triangolo qui per andare a 
 puntatore del mouse così ora per sempre il gatto 
 solo andando dove il mouse 
 il puntatore è 

English: 
stop this for a second what if i move
not
one step at a time but two steps at a
time and we'll see that now the cat is
moving a little faster
not quite super fast let's do 20 steps
at a time and see what happens and this
is really the essence of animation
the more you adjust the number of steps
or the number of changes happening to
those pixels per second or per unit of
time
the more that's going to happen visually
on the screen well what more can we do
from just following well you know what
if i have the ability now to have the
cat
follow me let me try something else
altogether let me go ahead and
open up another extension let me go into
the pen tool which is going to allow me
now to draw with like a pencil or
or pen on the screen and let me go ahead
and
still have the cat uh follow me i think
actually know what let's change this
let's just have him go to where i am so
there's another block that says go to
random position i don't want that
so i'm going to change it by the little
triangle menu here to go to
mouse pointer so now forever the cat's
just going to go to where the mouse
pointer is

English: 
it's not going to glide or do it slowly
or quickly it's just going to go to
wherever the cursor is
and let me go now to this new pen
category down below
and how might i do this you know what i
want i want this cat to be able to draw
for me
when i move the cursor up down left
right i want to actually draw something
with ink
on the screen but i only want to draw
something when the pen
is down notice on the left the two of
the two puzzle pieces
i just introduced over here at left are
pen down
and pen up but there's a mis a piece of
missing logic here let me ask the
audience
how might we go about enhancing this
program so not only does the cat follow
my cursor
but i also draw on the screen nicholas
what kinds of solutions would you
propose
uh so what you could do is uh take
like an if statement so you can control
when the pen is up or when the pen is
down depending on like
some condition that you have like i know

Italian: 
 non scivolerà o lo farà lentamente 
 o rapidamente andrà a 
 ovunque si trovi il cursore 
 e lasciami andare ora a questa nuova penna 
 categoria in basso 
 e come potrei farlo tu sai cosa io 
 Voglio che questo gatto sappia disegnare 
 per me 
 quando sposto il cursore su giù a sinistra 
 giusto, voglio davvero disegnare qualcosa 
 con inchiostro 
 sullo schermo ma voglio solo disegnare 
 qualcosa quando la penna 
 è in basso avviso a sinistra i due di 
 i due pezzi del puzzle 
 ho appena presentato qui a sinistra sono 
 penna verso il basso 
 e penna ma c'è un pezzo di mis 
 logica mancante qui fammi chiedere al 
 pubblico 
 come potremmo migliorare questo 
 programma così non solo il gatto segue 
 il mio cursore 
 ma disegno anche sullo schermo Nicholas 
 che tipo di soluzioni vorresti 
 proporre 
 uh quindi quello che potresti fare è uh prendere 
 come un'istruzione if in modo da poter controllare 
 quando la penna è sollevata o quando la penna è 
 giù a seconda di come 
 qualche condizione che hai come so 

Italian: 
 molte cose come disegnare con il 
 clic del mouse se il mouse è attivato 
 allora puoi dire che la penna è abbassata e 
 quando il connettore del mouse non è sulla penna 
 è su 
 e poi mentre lo segue per sempre 
 rileva anche per vedere se il tuo clic del mouse 
 è acceso o spento 
 Non so davvero, no, lo sai davvero 
 so che era perfetto 
 perché hai preso questo principio di 
 avere il blocco per sempre non solo andare a 
 il puntatore del mouse ma hai proposto 
 fare una domanda da una condizione 
 quindi lasciami andare effettivamente sotto controllo 
 dove mi è capitato di conoscere questo pezzo di puzzle 
 è 
 e nota simile alla nostra rubrica 
 pseudocodice dove ho detto se altro se altro 
 se altro 
 bene qui ci sono solo due domande i 
 pensa come stai proponendo è la penna 
 uh è come il pulsante del mouse su o giù 
 quindi penso che possiamo farla franca solo con un 
 in caso contrario, lasciami andare avanti e trascina questo 
 sotto il puntatore del mouse 
 e poi notare questo piccolo 
 forma trapezoidale nel mezzo qui 
 lasciami andare a rilevare qui e notare 
 se scorro verso il basso sì, eccolo sul file 
 ha lasciato notare questo 
 mouse down punto interrogativo questi sono i nostri 

English: 
a lot of things like you draw with the
mouse click if the mouse is on
then you can like say pen is down and
when the mouse plug is not on your pen
is up
and then while it follows it forever it
also senses to see if your mouse click
is on or off
i don't really know no you really do
know that was like perfect
because you took this principle of
having the forever block not only go to
the mouse pointer but you proposed
asking a question by a condition
so let me actually go under control
where i happen to know this puzzle piece
is
and notice similar to our phonebook
pseudocode where i said if else if else
if else
well here there's only two questions i
think as you're proposing is the pen
uh is the as the mouse button down or up
so i think we can get away with just an
if else so let me go ahead and drag this
below the go to mouse pointer
and then notice this little
trapezoid-like shape in the middle here
let me go to sensing here and notice
if i scroll down yep there it is on the
left notice this one
mouse down question mark these are our

English: 
boolean expressions
let me drag that boolean expression into
that similar shape it's going to grow to
fit it
and then what do i want to do if the
mouse is down i think i want to put the
pen
down else if the mouse is implicitly
up let me go ahead and put the pen up
like this
well let me go ahead and full screen
this just so we can see a little better
let me hit play
and now the cat is following me as
promised but this is now a drawing cat
if i click the mouse button
i can say something like very poorly
in cursive like hello sort of been a
long time since i've
done cursive so we now have the cat
actually drawing something and honestly
it's a little ridiculous that it's a cat
drawing but you know what
scratch has these costumes we could go
at top left here and even though scratch
comes with two cat costumes we could
change it to be a pen
or a marker or really anything we want
because at the end of the day this
sprite
is really just a character on the screen
that can take any form
that we might want well how can we take
this further i like this introduction of
of conditions and loops but there's some

Italian: 
 espressioni booleane 
 lasciami trascinare quell'espressione booleana in 
 quella forma simile a cui crescerà 
 adattarlo 
 e poi cosa voglio fare se il file 
 il mouse è abbassato penso di voler mettere il 
 penna 
 in basso altrimenti se il mouse è implicitamente 
 lasciami andare avanti e metti su la penna 
 come questo 
 bene fammi andare avanti e schermo intero 
 questo solo così possiamo vedere un po 'meglio 
 fammi premere play 
 e ora il gatto mi sta seguendo come 
 promesso ma questo ora è un gatto che disegna 
 se faccio clic con il pulsante del mouse 
 posso dire qualcosa di simile molto male 
 in corsivo come ciao sorta di stato a 
 molto tempo da quando l'ho fatto 
 fatto in corsivo così ora abbiamo il gatto 
 effettivamente disegnare qualcosa e onestamente 
 è un po 'ridicolo che sia un gatto 
 disegno ma sai cosa 
 graffio ha questi costumi che potremmo andare 
 qui in alto a sinistra e anche se si gratta 
 viene fornito con due costumi da gatto che potremmo 
 trasformalo in una penna 
 o un pennarello o davvero qualsiasi cosa vogliamo 
 perché in fin dei conti questo 
 sprite 
 è davvero solo un personaggio sullo schermo 
 che può assumere qualsiasi forma 
 che potremmo desiderare bene come possiamo prendere 
 questo ulteriormente mi piace questa introduzione di 
 di condizioni e loop ma ce ne sono alcuni 

Italian: 
 altri principi che possiamo introdurre qui 
 fammi andare avanti e iniziare un nuovo programma 
 qui del tutto 
 e vediamo se non possiamo iniziare a contare 
 e inizia a tenere 
 traccia delle informazioni così per questa volta 
 facciamolo quando il verde 
 questa volta si fa clic sulla bandiera andiamo sotto 
 variabili e diamoci una nuova 
 lo scratch variabile ti consente di creare puzzle 
 pezzi 
 questa è una variabile e vado 
 chiamarlo contatore 
 solo qualcosa che manterrà 
 contare da uno in su ora questo ha dato 
 me alcuni pezzi di puzzle personalizzati qui 
 chiamato counter e quindi il default my 
 variabile che c'era già 
 e vado avanti e lo farò 
 inizialmente imposterò il contatore 
 uguale a 1 e poi vado a fare 
 qualcosa per sempre 
 fammi prendere uno di quei blocchi per sempre 
 e voglio che il gatto lo faccia adesso 
 per sempre 
 Voglio solo che dica qualunque sia il 
 conteggio corrente 
 è così che non voglio salutarlo 
 due secondi voglio che dica 
 qualcosa per un secondo diciamo così 
 tornerò alle variabili 
 e prenderò questa nuova circolare 
 forma contatore che ho creato 
 e trascinalo lì in modo da poter leggere 

English: 
other principles we can introduce here
let me go ahead and start a new program
here altogether
and let's see if we can't start counting
up and start keeping
track of information so for this time
let's do this when the green
flag is clicked this time let's go under
variables and let's give ourselves a new
variable scratch lets you create puzzle
pieces
this one being a variable and i'm going
to call this a counter
just something that's going to keep
count from one on up now this has given
me some custom puzzle pieces over here
called counter and then the default my
variable which was there already
and i'm going to go ahead and do this
i'm going to set the counter initially
equal to 1 and then i'm going to do
something forever
let me grab one of those forever blocks
and i want the cat now to do this
forever
i want it to just say whatever the
current count
is so i don't want it to say hello for
two seconds i want it to say
something for one second let's say so
i'm gonna go back to variables
and i'm gonna grab this new circular
shape counter that i created
and drag it right there so you can read

Italian: 
 questo contatore letteralmente dall'alto verso il basso 
 a uno 
 poi per sempre dire il contatore per uno 
 secondo ma 
 se non vogliamo che il gatto dica la stessa cosa 
 numero ancora e ancora e ancora 
 andiamo avanti e cambiamo il contatore di 
 uno 
 e questo implicitamente ne aggiungerà uno a 
 il contatore ora se vado avanti e premo 
 giocare 
 vediamo un gatto che conta da uno a 
 Due 
 a tre e sta per contare 
 idealmente fino all'infinito 
 la differenza è che ora abbiamo questo 
 caratteristica 
 di utilizzare effettivamente una variabile una variabile 
 che tiene traccia di una certa quantità di 
 informazione 
 in questo caso un numero che è costantemente 
 in fase di aggiornamento e lo schermo è in fase di aggiornamento 
 ridisegnata 
 ancora e ancora bene ora lasciami andare avanti 
 e inizia ad aprire alcuni programmi 
 che ho scritto in anticipo solo per noi 
 puoi fare un tour di alcuni di questi 
 ho questo programma chiamato bounce that 
 funziona un po 'come questo e 
 anche questo 
 fa parte della programmazione non solo della scrittura 
 il tuo codice ma leggendo il tuo codice 
 e lasciami andare avanti e ingrandisci questo 
 che ho già creato 
 e considera cosa dice prima serie 
 stile di rotazione sinistra destra questo è solo 
 per correggere quello che altrimenti sarebbe un bug 
 dove finisce accidentalmente il gatto 

English: 
this literally top to bottom set counter
to one
then forever say the counter for one
second but
if we don't want the cat to say the same
number again and again and again
let's go ahead and change the counter by
one
and that's implicitly gonna add one to
the counter now if i go ahead and hit
play
we see a cat that's counting from one to
two
to three and it's going to count up
ideally all the way to infinity the
difference being now we have this
feature
of actually using a variable a variable
that's keeping track of some amount of
information
in this case a number that's constantly
being updated and the screen is being
redrawn
again and again well now let me go ahead
and just start opening a few programs
that i wrote in advance just so that we
can get a tour of some of those
i've got this program called bounce that
works a little something like this and
this too
is part of programming not only writing
your own code but reading your own code
and let me go ahead and zoom in on this
which i've already created
and consider what it says first set
rotation style left right this is just
to fix what would otherwise be a bug
where the cat accidentally ends up

English: 
upside down but let me wave my hand at
that this is the interesting part
forever
have the cat move 10 steps and then if
it's touching the edge
then turn around 180 degrees
so now we can reintroduce the idea of
animation but not that's driven by me
the human with my cursor
i can now make a game uh an interactive
piece of art or anything now where the
cat is self-driven because when i hit
play now
notice that it's moving back and forth
back and forth and if it is touching the
edge and the
answer to that boolean question is
actually
uh yes or true or one then it's going to
turn 180 degrees
but this looks kind of stupid admittedly
you know one the cat yes is bouncing off
the screen which is maybe a little
unrealistic but he's not really walking
he's gliding but this is the thing about
animation just as we noted before that
videos at the end of the day
are really just images flying across the
screen
you know what i bet we can create our
own illusion of movement just like in a

Italian: 
 sottosopra ma lasciami agitare la mano 
 che questa è la parte interessante 
 per sempre 
 fai muovere il gatto di 10 passi e poi se 
 sta toccando il bordo 
 quindi ruotare di 180 gradi 
 quindi ora possiamo reintrodurre l'idea di 
 animazione ma non quella guidata da me 
 l'umano con il mio cursore 
 Ora posso creare un gioco interattivo 
 un'opera d'arte o qualsiasi altra cosa ora dove il file 
 gatto è auto-guidato perché quando colpisco 
 Riproduci ora 
 notare che si muove avanti e indietro 
 avanti e indietro e se tocca il 
 bordo e il 
 la risposta a questa domanda booleana è 
 in realtà 
 uh sì o vero o uno allora lo sarà 
 girare di 180 gradi 
 ma questo sembra un po 'stupido, ammettiamolo 
 sai uno il gatto sì sta rimbalzando 
 lo schermo che è forse un po ' 
 irrealistico ma non sta veramente camminando 
 sta planando ma questo è il punto 
 animazione proprio come abbiamo notato prima 
 video alla fine della giornata 
 sono in realtà solo immagini che volano attraverso il 
 schermo 
 sai cosa scommetto che possiamo creare il nostro 
 la propria illusione di movimento proprio come in a 

Italian: 
 video reale 
 prendendo non solo un gatto in costume il 
 gatto con i piedi così 
 e se ci dessimo un secondo 
 costume dove è quasi lo stesso 
 ma i suoi piedi sono leggermente diversi 
 posizionato proprio come il cartaceo 
 libro pieghevole 
 che abbiamo esaminato prima e sai 
 cosa scommetto se passo tra questi due 
 costumi 
 cambiando di nuovo le condizioni del gatto 
 e ancora scommetto che possiamo creare il file 
 illusione di 
 movimento reale ed è quello che abbiamo 
 qui in questo altro esempio di rimbalzo 
 in questo altro esempio di rimbalzo abbiamo il file 
 gatto ora in movimento 
 non solo avanti e indietro, ma notalo 
 pezzo di puzzle viola 
 dopo che rimbalza sul bordo o 
 considera di rimbalzare sul bordo 
 cambia costantemente il suo costume in 
 successivo a quello successivo a quello successivo 
 essenzialmente alternando tra i due 
 così ora 
 non è del tutto perfetto come se avesse cosa 
 questo è un frame rate molto basso 
 come guardare un film davvero brutto 
 gif animata online che ne ha solo due 
 diverso 
 incornicia in esso ma sembra più come lui 
 camminare e molto meno piace 

English: 
real video
by taking not just one costume cat the
cat with his feet like this
what if we gave ourselves a second
costume where it's almost the same
but his feet are slightly differently
positioned just like the paper-based
flip book
that we looked at earlier and you know
what i bet if i toggle between these two
costumes
changing the condition of the cat again
and again i bet we can create the
illusion of
actual movement and that's what we have
here in this other bounce example
in this other bounce example we have the
cat now moving
not only back and forth but notice this
purple puzzle piece
after it bounces off the edge or
considers bouncing off the edge
it constantly changes its costume to the
next one to the next one to the next one
essentially alternating between the two
so now
it's not quite perfect like it has what
we call a very low frame rate this is
like watching a really bad
animated gif online that only has two
different
frames in it but it looks more like he's
walking and much less like

English: 
he's gliding back and forth on the
screen so we can actually have some fun
with this too
scratch support sounds so for instance
here's the meow we've heard before
i can record my own though if i click
this little plus icon down here
click record and allow scratch to access
my microphone
click ok a couple times here we go let
me record my own voice
ouch all right that's what the word ouch
looks like at least when i pronounce it
i can
trim off the beginning here let me save
that i'm going to give this recording a
name
ouch and now let me go back to my code
and under the sound block you know what
let me go ahead and say
this if i'm touching the edge not only
do i want to turn 180 degrees
now i can kind of make this a little
more uh playful
ouch ouch ouch
all right still not very cat-like but
again we're just layering and layering
and the k the takeaway here really is
as these programs get more and more
complicated the goal should never be
when writing code whether it's in
scratch or c
or eventually python in this class or
others to just start and try to

Italian: 
 sta scivolando avanti e indietro sul 
 schermo così possiamo davvero divertirci 
 anche con questo 
 il supporto per lo scratch suona così per esempio 
 ecco il miagolio che abbiamo sentito prima 
 posso registrare il mio anche se faccio clic 
 questa piccola icona più qui sotto 
 fai clic su registra e consenti a zero di accedere 
 il mio microfono 
 fare clic su ok un paio di volte qui andiamo a lasciare 
 registrare la mia voce 
 ahi tutto bene questo è ciò che la parola ahi 
 sembra almeno quando lo pronuncio 
 io posso 
 tagliare l'inizio qui fammi salvare 
 che darò a questa registrazione un 
 nome 
 ahi e ora fammi tornare al mio codice 
 e sotto il blocco del suono sai cosa 
 lasciami andare avanti e dico 
 questo se sto toccando il bordo non solo 
 voglio girare di 180 gradi 
 ora posso fare un po 'questo 
 più uh giocoso 
 ahi ahi ahi 
 va bene ancora non molto felino ma 
 ancora una volta stiamo solo stratificazione e stratificazione 
 e il k da asporto qui è davvero 
 man mano che questi programmi diventano sempre di più 
 complicato l'obiettivo non dovrebbe mai essere 
 durante la scrittura del codice, indipendentemente dal fatto che sia in formato 
 graffiare o c 
 o eventualmente python in questa classe o 
 altri per iniziare e provare a farlo 

English: 
implement your entire vision
notice with every one of these programs
that i wrote from scratch no pun
intended
that i start small and add one or two or
three puzzle pieces
building up from something simple to
something more complex
and you know what i bet if we synthesize
some of these ideas we can do yet other
things too
here's another example that involves
perhaps petting a cats let me go ahead
and see inside this program
this one's relatively simple but it's
not doing anything just yet
i already hit the green flag let me zoom
in on the code and you can perhaps now
read my own code
that i wrote in advance the cat is
forever asking the question
if touching mouse pointer then place
that sound meow
until done well it would seem that even
though the program's running it's not
doing anything but it is it's waiting
for something to happen so let me move
my cursor over the cat
like this
so it would seem and if i leave it on
there he'll keep meowing and it's kind
of like a program that's that's petting
a cat
and so you can imagine now having

Italian: 
 implementa la tua intera visione 
 avviso con ognuno di questi programmi 
 che ho scritto da zero senza giochi di parole 
 previsto 
 che inizio in piccolo e aggiungo uno o due o 
 tre pezzi del puzzle 
 costruire da qualcosa di semplice a 
 qualcosa di più complesso 
 e sai cosa scommetto se sintetizziamo 
 alcune di queste idee possiamo farne altre ancora 
 anche le cose 
 ecco un altro esempio che coinvolge 
 forse accarezzare un gatto mi lascia andare avanti 
 e guarda dentro questo programma 
 questo è relativamente semplice ma lo è 
 non fare ancora niente 
 ho già premuto la bandiera verde fammi ingrandire 
 nel codice e forse ora puoi 
 leggi il mio codice 
 che ho scritto in anticipo il gatto è 
 per sempre fare la domanda 
 se si tocca il puntatore del mouse, posizionare 
 quel suono miagolio 
 fino a quando non è fatto bene sembrerebbe che anche 
 sebbene il programma sia in esecuzione non lo è 
 fare qualsiasi cosa ma sta aspettando 
 perché succeda qualcosa, quindi lasciami muovere 
 il mio cursore sul gatto 
 come questo 
 così sembrerebbe e se lo lascio acceso 
 lì continuerà a miagolare ed è gentile 
 come un programma che è petting 
 un gatto 
 e quindi puoi immaginare di avere 

English: 
conditions inside of loops that are
using boolean expressions to decide
exactly
what you want something to do and even
more powerfully even in a language like
scratch can we do this
let me open up this sea lion here who
has a very distinct bark
but he's demonstrative now of a program
that has multiple scripts so inside of
this scratch project now we're not just
one program but two
notice both of which start with when a
green flag is clicked and then you put
them both onto the screen
and it looks longer but that's just
because the puzzle pieces are growing to
fit each other
let's go ahead and hit play on this play
notice that every second or so the sea
lion is barking
and frankly this gets annoying quickly
but how can i stop it well let me go
ahead and look over here on the left
while it's still barking notice the sea
lion is forever asking a question
if muted equals false start sound c
lines think hi hi hi for two seconds so
what is muted well the shape of it
recall represents
a variable like x or y or z which is

Italian: 
 condizioni all'interno dei loop che sono 
 utilizzando espressioni booleane per decidere 
 Esattamente 
 cosa vuoi che qualcosa faccia e anche 
 più potente anche in una lingua come 
 scratch possiamo farlo 
 fammi aprire questo leone marino qui chi 
 ha una corteccia molto distinta 
 ma ora è dimostrativo di un programma 
 che ha più script quindi all'interno di 
 questo progetto zero ora non siamo solo 
 un programma ma due 
 nota entrambi che iniziano con quando a 
 si clicca la bandiera verde e poi si mette 
 entrambi sullo schermo 
 e sembra più lungo ma è solo 
 perché i pezzi del puzzle stanno crescendo 
 si adattano l'un l'altro 
 andiamo avanti e premiamo play su questo gioco 
 notare che ogni secondo circa il mare 
 il leone sta abbaiando 
 e francamente questo diventa fastidioso rapidamente 
 ma come posso fermarlo bene lasciami andare 
 avanti e guarda qui a sinistra 
 mentre ancora abbaia nota il mare 
 il leone fa sempre una domanda 
 se disattivato equivale al suono di falsa partenza c 
 le linee pensano ciao ciao ciao per due secondi così 
 ciò che è disattivato bene la forma di esso 
 il richiamo rappresenta 
 una variabile come x o y o z che è 

English: 
just some way of retaining information
so this is like saying is the value of
the muted variable
false if so you should bark because if
it's
false muted if it's not muted go ahead
and play the sea lion sound but my god
let's on the right here
notice there's another program when the
green flag is clicked
forever ask the question if the space
bar is pressed
then if muted is true set muted to false
else set muted to true so the program on
the right is going to change the value
of muted
from false to true or true to false my
god
i've hit the space bar and now
it's over the program is still running
but it's no longer playing because muted
is now
true and not false well what else can we
do things can get
pretty fancy pretty quickly let me go
ahead and create one other program here
and i'll go ahead and do one with just
two blocks this one
let me go into the extensions again
video sensing this time
and notice there's different types of

Italian: 
 solo un modo per conservare le informazioni 
 quindi questo è come dire è il valore di 
 la variabile disattivata 
 falso se è così dovresti abbaiare perché se 
 suo 
 false disattivato se non è disattivato, andare avanti 
 e suona il suono del leone marino, ma mio dio 
 andiamo a destra qui 
 notare che c'è un altro programma quando il 
 si fa clic sulla bandiera verde 
 poni sempre la domanda se lo spazio 
 viene premuta la barra 
 quindi, se disattivato è vero, impostare disattivato su falso 
 altrimenti imposta muto a true in modo che il programma si attivi 
 la destra cambierà il valore 
 di disattivato 
 da falso a vero o da vero a falso my 
 Dio 
 ho premuto la barra spaziatrice e ora 
 è finita il programma è ancora in esecuzione 
 ma non è più in riproduzione perché disattivato 
 è ora 
 vero e non falso bene cos'altro possiamo 
 le cose possono andare 
 abbastanza fantasia abbastanza velocemente lasciami andare 
 avanti e crea un altro programma qui 
 e andrò avanti e ne farò uno solo 
 due blocchi questo 
 fammi entrare di nuovo nelle estensioni 
 rilevamento video questa volta 
 e nota che ci sono diversi tipi di 

Italian: 
 modi per avviare i programmi 
 non tutti i programmi devono iniziare quando tu 
 fare clic sulla bandiera verde 
 c'è una forma simile qui ma questa 
 uno in verde che dice quando il movimento del video 
 è maggiore di 10 come il 10 percento di 
 lo schermo si sta muovendo 
 permettetemi di aumentarlo al 50 percento e 
 lasciami andare avanti e fallo 
 fammi andare avanti e trovare il suono uh 
 pezzo del puzzle 
 riproduci il miagolio fino a quando non l'ho fatto così ora ho 
 un due 
 bloccare il programma quando il movimento del video è maggiore 
 di 50 
 riproduci il miagolio finché non hai finito fammi ingrandire 
 su 
 e noterai che in realtà ci sto 
 lo schermo qui mi ha fatto uscire dal palco 
 e ora non sta succedendo niente 
 lasciami andare ad accarezzare il gatto però 
 [Musica] 
 fammelo fare ancora e ancora così è 
 utilizzando la fotocamera del mio computer 
 rilevare il movimento e quindi eseguirlo 
 programma particolare quindi di nuovo con solo 
 questi semplici 
 blocchi di costruzione possiamo ottenere sempre di più 
 cose interessanti che accadono e tu 
 sapere cosa possiamo anche avere 
 più sprite lasciatemi andare avanti e 
 aprire un gioco della vecchia scuola che tu 
 potrebbe aver giocato come un nuoto 
 piscina forse crescendo dove una persona 

English: 
ways to start programs
not every program has to start when you
click the green flag
there's a similar shape here but this
one in green that says when video motion
is greater than 10 like 10 percent of
the screen is moving
let me increase that to 50 percent and
let me go ahead and do this
let me go ahead and find the sound uh
puzzle piece
play sound meow until done so now i have
a two
block program when video motion is more
than 50
play sound meow until done let me zoom
out
and you'll notice that i'm actually in
the screen here let me move off stage
and now nothing is happening
let me go and pet the cat though
[Music]
let me do it again and again so it's
using my computer's camera
detecting motion and then executing that
particular program so again with just
these simple
building blocks can we get more and more
interesting things to happen and you
know what we can even have
multiple sprites let me go ahead and
open up an old school game that you
might have played in like a swimming
pool perhaps growing up where one person

English: 
yells out marco and the other people are
supposed to yell out polo
notice here we have a program with two
sprites so two puppets an orange puppet
and a blue puppet
and down here at the bottom for the very
first time we have two different sprites
abilities to write programs so right now
the orange puppet is selected which
means the program at top left here
up here belongs to the orange puppet and
the orange puppet has been programmed to
say
forever if the keyboard space key is
pressed then say marco for two seconds
and then here's the new feature there's
a way in programming
to have like one program talk to another
or in this case one sprite
talk to another sort of passing a secret
message that you don't see on the screen
but one program can hear from another
and that's called broadcasting an event
and that's what the orange puppet is
doing if i click on the blue puppets
icon here
he's not going to do very much at all
but instead of doing anything when the
green flag is clicked
instead of doing something when the
camera sees motion he instead
is going to when he receives the event

Italian: 
 grida Marco e gli altri lo sono 
 dovrebbe gridare polo 
 nota qui abbiamo un programma con due 
 sprite quindi due pupazzi un pupazzo arancione 
 e un burattino blu 
 e quaggiù in fondo per il vero 
 la prima volta abbiamo due sprite diversi 
 capacità di scrivere programmi così adesso 
 il burattino arancione è selezionato quale 
 indica il programma in alto a sinistra qui 
 quassù appartiene al burattino arancione e 
 il burattino arancione è stato programmato per 
 dire 
 per sempre se la barra spaziatrice è 
 premuto poi dire marco per due secondi 
 e poi ecco la nuova funzionalità che c'è 
 un modo nella programmazione 
 fare in modo che un programma parli con un altro 
 o in questo caso uno sprite 
 parlare con un altro tipo di passaggio di un segreto 
 messaggio che non vedi sullo schermo 
 ma un programma può ascoltare un altro 
 e questo si chiama trasmissione di un evento 
 ed è quello che è il burattino arancione 
 facendo se clicco sulle marionette blu 
 icona qui 
 non farà proprio molto 
 ma invece di fare qualsiasi cosa quando il 
 si fa clic sulla bandiera verde 
 invece di fare qualcosa quando il file 
 la telecamera vede il movimento invece 
 sta andando a quando riceve l'evento 

English: 
say polo for two seconds and so in this
case if i hit play now
nothing happens yet but when i do hit
the space bar
orange says marco blue says polo
but they are written independently i've
written one program for orange one
program for blue
and they're somehow intercommunicating
and speaking of communicating
there's even more things you can do
these days thanks to the internet and
the cloud let me go ahead and open up
one other new canvas here very quickly
give myself a when green flag clicked
let me go ahead and ask that same
question before ask what's your name and
weight
but now let me go into these extensions
and let me find the translate extension
which is again going to use the cloud
to send whatever i type in out on the
internet get back a response
and then say it on the screen here so
let me go ahead and say something on the
screen
like say hello but i don't want to say
hello i want to go back to the translate
category
and i want to go ahead and translate you
know what i like this block translates
something to another language
but let me get one of those join blocks

Italian: 
 diciamo polo per due secondi e così in questo 
 caso se premo play ora 
 non succede ancora niente ma quando colpisco 
 la barra spaziatrice 
 arancione dice marco blu dice polo 
 ma sono scritti indipendentemente io 
 scritto un programma per quello arancione 
 programma per il blu 
 e in qualche modo stanno comunicando 
 e parlare di comunicazione 
 ci sono ancora più cose che puoi fare 
 in questi giorni grazie a Internet e 
 la nuvola lasciami andare avanti e aprirmi 
 un'altra nuova tela qui molto rapidamente 
 dare a me stesso un quando la bandiera verde ha cliccato 
 lasciami andare avanti e chiedi lo stesso 
 domanda prima di chiedere come ti chiami e 
 peso 
 ma ora lasciami entrare in queste estensioni 
 e fammi trovare l'estensione per la traduzione 
 che utilizzerà nuovamente il cloud 
 per inviare tutto ciò che digito nel file 
 Internet riceve una risposta 
 e poi dillo sullo schermo qui così 
 lasciami andare avanti e dire qualcosa sul file 
 schermo 
 come dire ciao ma non voglio dire 
 ciao voglio tornare alla traduzione 
 categoria 
 e voglio andare avanti e tradurti 
 so cosa mi piace traduce questo blocco 
 qualcosa in un'altra lingua 
 ma fammi prendere uno di quei blocchi di join 

Italian: 
 di nuovo e lasciami andare avanti e unirmi 
 la parola ciao e poi il nome quello 
 la persona ha digitato in modo da ottenerlo i 
 ho bisogno di nuovo del blocco risposte, quindi sono solo 
 ricreando alcuni dei nostri blocchi da 
 prima 
 e nota che prima di farlo ho detto 
 il risultato dell'adesione a ciao e risposta 
 anche se l'ultima volta con una virgola 
 ma ora facciamolo, fammi prendere il file 
 output di join 
 rendilo l'input per tradurre lasciami 
 tradurre dire in arabo qui 
 fammi trascinare e rilasciare nel blocco dire 
 così ora abbiamo 
 due input che entrano in join si uniscono all'output 
 entrando nell'input di translate e 
 l'output di translate sta per dire 
 ma il risultato netto sarà lo farò 
 digita il mio nome david e premi invio 
 ciao david ora in arabo tutto grazie a 
 questi principi delle condizioni delle funzioni 
 e loop e ora anche l'aggiunta 
 in Internet ma consideriamo 
 finalmente prima di suonare l'ultima coppia 
 Giochi 
 in conclusione c'è un modo per pareggiare 
 migliorare il design di molto di cosa 
 abbiamo fatto in effetti 

English: 
again and let me go ahead and join
the word hello and then the name that
the person has typed in so to get that i
need the answer block again so i'm just
recreating some of our blocks from
earlier
and notice before i just did this i said
the result of joining hello and answer
albeit with a comma last time
but now let's do this let me take the
output of join
make it the input to translate let me
translate say to arabic here
let me drag and drop into the say block
so now we have
two inputs going into join joins output
going into the input of translate and
the output of translate going into say
but the net result is going to be i'll
type in my name david and hit enter
hello david now in arabic all thanks to
these principles of functions conditions
and loops and now even adding
in the internet but let's consider
finally before we play a final couple
games
in conclusion there's a way to even
improve the design of a lot of what
we've done in fact

Italian: 
 fammi tornare solo un momento a dove siamo 
 interrotto con quel miagolio e in uno di 
 i nostri esempi di miagolio 
 avevamo un codice simile a questo dove 
 ho ripetuto tre volte il ricordo 
 e ho suonato di nuovo il suono miagolare e 
 ancora 
 e di nuovo e ho discusso in quel momento che 
 questo è stato progettato meglio perché perché io 
 non si è limitato a trascinare e rilasciare lo stesso 
 pezzo del puzzle ancora e ancora e ancora 
 ho usato un blocco di ripetizione che ho buttato via tutto 
 della ridondanza e ho probabilmente mantenuto 
 è semplice che sto usando alcune idee più elaborate 
 ma il codice è più semplice ed è meno 
 pezzi del puzzle adesso 
 ma si scopre che c'è un errore 
 opportunità qui per applicare un altro 
 principio dell'informatica 
 e questo è quello che faremmo in generale 
 descrivere come astrazione 
 l'astrazione è così sorprendente 
 tecnica di risoluzione dei problemi che è davvero 
 solo un modo elegante per dire, prendiamo un file 
 idea molto complicata o 
 un'idea leggermente complicata e semplificata 
 esso 
 in modo tale che siamo tutti d'accordo che tu 
 può 
 implementalo in modo complicato ma 
 ora stabiliamo semplicemente uh 
 stabiliamo ora che lo siamo 
 ci penserò 

English: 
let me go back just a moment to where we
left off with that meowing and in one of
our meowing examples
we had code that looked like this where
i repeated three times recall
and i played the sound meow again and
again
and again and i argued at the time that
this was better designed why because i
didn't just drag and drop the same
puzzle piece again and again and again
i used a repeat block i threw away all
of the redundancy and i've arguably kept
it simple i'm using some fancier ideas
but the code is simpler and it's fewer
puzzle pieces now
but it turns out that there's a missed
opportunity here to apply another
principle of computer science
and this is what we would generally
describe as abstraction
abstraction is this amazing like
problem-solving technique that's really
just a fancy way of saying let's take a
very complicated idea or
a slightly complicated idea and simplify
it
in such a way that we all agree that you
can
implement it the complicated way but
let's now just simply uh stipulate
let's now just stipulate that we're
going to think about it

Italian: 
 come a un livello più semplice quindi lasciami andare 
 oltre a 
 questo stesso programma e sai cosa 
 graffiare 
 curiosamente non si aspettava di avere un file 
 blocco miagolare 
 come se ci fosse un blocco di parole uh e c'è 
 a c'è un blocco di pensiero ma non c'è 
 miagolio e questo sembra appropriato 
 per un programma in cui esso 
 viene fornito con un tappo integrato, quindi possiamo farlo 
 così come puoi crearne uno tuo 
 avviso di variabili in basso a sinistra qui 
 puoi creare i tuoi blocchi con questo 
 categoria rosa 
 e se vado qui farò un file 
 blocco e chiamerò questo blocco 
 Miao 
 e semplicemente farò clic su OK 
 ora nota che ricevo questo nuovo pezzo di puzzle 
 che dice definire miao ed è pronto per 
 avere altri pezzi collegati ad esso 
 come definirò miao, sono solo 
 andare avanti e trascinare questo 
 qui perché ho già implementato meow 
 prima 
 e ora nota quello che ho a sinistra 
 lato mano perché l'ho appena fatto 
 blocco personalizzato o pezzo di puzzle 
 ora ho solo un pezzo rosa chiamato miao 
 come se fosse stato graffiato 
 e ora ciò che è convincente in questo è 
 che posso pensare a questo come fuori 
 di vista fuori di testa 

English: 
as on a more simple level so let me go
over to
this same program and you know what
scratch
curiously did not anticipate having a
meow block
like there is a say block uh and there's
a there's a think block but there's no
meow block and that seems appropriate
for a program where it
comes with a cap built in so we can do
this just as you can create your own
variables notice at bottom left here
you can create your own blocks with this
pink category
and if i go here i'm going to make a
block and i'm going to call this block
meow
and quite simply i'm going to click ok
now notice i get this new puzzle piece
that says define meow and it's ready to
have other pieces connected to it
how am i going to define meow i'm just
going to go ahead and drag this over
here because i already implemented meow
before
and now notice what i have on the left
hand side because i've just made this
custom block or puzzle piece
i now have a pink piece called meow just
as though it came with scratch
and now what's compelling about this is
that i can sort of think of this as out
of sight out of mind

English: 
who cares how meow is implemented we
know we implemented it earlier let's now
just stipulate
that we can take for granted it exists
and if i zoom in now on the new program
now it's more readable in some sense
it's a little shorter it has a fewer
puzzle piece
but it also is more self-descriptive i
can read my code i can look at this code
and say okay it's obviously going to
repeat three times
a meow block but let's play that
it's no different to
but i bet we can simplify this one step
further and make it a little more
flexible
let me go ahead and right click or
control click on the meow custom block
and let me actually add an input here
that we'll call
n and let me just add a label that says
times and let me go ahead and click ok
and notice that my puzzle piece now
looks different it looks more like some
of mit's blocks that take input with
these little white ovals
and in fact now notice what i can do i
can change the definition of meow
as scratch already has for me such that
i can now do more inside

Italian: 
 chi se ne frega di come meow è implementato noi 
 sappiamo che l'abbiamo implementato prima, adesso 
 basta stabilire 
 che possiamo dare per scontato che esista 
 e se ingrandisco ora il nuovo programma 
 ora è più leggibile in un certo senso 
 è un po 'più corto, ne ha di meno 
 pezzo del puzzle 
 ma è anche più auto-descrittivo i 
 posso leggere il mio codice posso guardare questo codice 
 e dì ok ovviamente lo farà 
 ripetere tre volte 
 un blocco miagolio ma giochiamo 
 non è diverso da 
 ma scommetto che possiamo semplificare questo passaggio 
 ulteriormente e renderlo un po 'di più 
 flessibile 
 fammi andare avanti e fai clic con il pulsante destro del mouse su o 
 clic di controllo sul blocco personalizzato miao 
 e permettimi di aggiungere effettivamente un input qui 
 che chiameremo 
 ne lasciatemi aggiungere un'etichetta che dice 
 volte e lasciami andare avanti e fai clic su OK 
 e notare che il mio pezzo di puzzle ora 
 sembra diverso sembra più come alcuni 
 dei blocchi di mit che ricevono input con 
 questi piccoli ovali bianchi 
 e infatti ora nota quello che posso fare io 
 può cambiare la definizione di miao 
 come scratch ha già per me tale che 
 ora posso fare di più dentro 

Italian: 
 fammi scollegare effettivamente tutto questo 
 roba fammi spostare il blocco di ripetizione 
 per la definizione di miao stesso lasciatemi 
 vai avanti e suona il suono e aspetta 
 all'interno di quel blocco di ripetizione ma attenzione 
 questo piccolo cerchio intorno alla fine 
 fammi solo ripetere un numero arbitrario 
 di volte ora non devo preoccuparmi 
 hard coding 3 o 10 o qualsiasi altra cosa 
 e ora lontano dagli occhi, lontano dalla mente, no 
 devi più preoccuparti di questo 
 ora riduciamolo 
 programma sempre più complicato che noi 
 scritto in precedenza 
 in solo due pezzi del puzzle quando 
 la bandiera verde viene cliccata miao 
 certo tre volte non devo sapere o 
 si preoccupa più di come viene implementato miao 
 ho solo bisogno di sapere che qualcuno l'ha fatto 
 per me se mit 
 o forse io stesso pochi minuti fa farò clic 
 Gioca di nuovo 
 [Musica] 
 due e tre 
 e così ora abbiamo un'implementazione di 
 astrazione prendendo a 
 un'idea un po 'complicata come ottenere un file 
 gatto a miagolare senza preoccuparsi del 
 cosiddetti dettagli di implementazione e 

English: 
let me actually disconnect all of this
stuff let me move the repeat block
to the definition of meow itself let me
go ahead and play the sound and wait
inside of that repeat block but notice
this little circle around the end
let me just repeat an arbitrary number
of times now i don't have to worry about
hard coding 3 or 10 or anything else
and now out of sight out of mind don't
have to worry about that anymore
let's now just whittle down that
increasingly complicated program that we
wrote earlier
into really just two puzzle pieces when
the green flag is clicked meow
sure three times i don't have to know or
care anymore how meow is implemented
i just need to know that someone did it
for me whether mit
or maybe myself minutes ago i'll click
play again
[Music]
two and three
and so now we have an implementation of
abstraction taking a
somewhat complicated idea like getting a
cat to meow not worrying about the
so-called implementation details and

Italian: 
 semplicemente definendo un pezzo o una funzione del puzzle 
 chiamato miagolio bene ora prendiamo tutto 
 questo insieme 
 e guarda alcune delle creazioni di alcuni di 
 i tuoi predecessori 
 in termini passati qui per esempio è un 
 una specie di 
 storia che uno dei tuoi compagni di classe anni 
 fa fatto 
 che coinvolge un racconto di pan di zenzero lasciami andare 
 avanti e schermo intero questo e fare clic 
 giocare 
 e vedrai ora che abbiamo più 
 sprite già ognuno dei quali ha 
 costumi diversi 
 e mi viene posta una domanda 
 come una mela sì o no così non sono più 
 mi viene chiesto il mio nome mi viene chiesto 
 domande arbitrarie lasciatemi andare avanti 
 e prendi una mela 
 digito sì e premo invio e noto il file 
 movimento che abbiamo visto prima 
 va bene purtroppo era sbagliato 
 decisione di prendere in questa storia così 
 va bene ricominciamo di nuovo rosso 
 segnale di stop 
 bandiera verde ciao cara vorresti un 
 mela no impariamo da quella lezione 
 cupcake suona molto meglio, scriverò sì 
 questa volta 
 nota di nuovo il movimento quindi ce ne sono alcuni 
 animazione lì 
 tocca anche l'altro sprite 

English: 
just defining a puzzle piece or function
called meow well now let's take all of
this together
and see some of the creations of some of
your predecessors
in past terms here for instance is a
sort of
story that one of your classmates years
ago made
involving a gingerbread tale let me go
ahead and full screen this and click
play
and you'll see now that we have multiple
sprites already each of which have
different costumes
and i'm being asked a question would you
like an apple yes or no so i'm no longer
being asked my name i'm being asked
arbitrary questions sure let me go ahead
and have an apple
i type in yes and hit enter notice the
movement we've seen movement before
okay unfortunately that was the wrong
decision to make in this story so
that's okay let's start it again red
stop sign
green flag hello deary would you like an
apple no let's learn from that lesson
cupcake sounds much better i'll type yes
this time
notice again the motion so there's some
animation there
it's touching the other sprite that too

English: 
was unfortunate
let's try one last time with this art
and now we have an apple no learned the
lesson cupcake no learned a lesson
okay now let's see what happens with
that loop
okay surprise ending but this is all to
say that by taking these
building blocks of loops conditions and
functions can you start to make things
that are a little more interactive
in fact i myself did something years ago
the very first thing i myself wrote in
scratch was actually when i was in
graduate school and cross registered for
a class at mit
the professor for which had was the
author of and the originator of scratch
itself and let me go ahead and full
screen this
and propose how i thought about solving
now a fairly large problem
back in the day drag as much falling
trash into the can as you can
so what's happening now a piece of trash
is falling on the screen
you'll see that it's moving from the top
to the bottom and we've seen animations
like that
but watch this i bet using a condition
and a forever loop

Italian: 
 è stato sfortunato 
 proviamo un'ultima volta con quest'arte 
 e ora abbiamo una mela che non abbiamo imparato 
 lezione cupcake no imparato una lezione 
 ok ora vediamo cosa succede con 
 quel ciclo 
 va bene il finale a sorpresa ma questo è tutto 
 dillo prendendo questi 
 elementi costitutivi di condizioni di loop e 
 funzioni puoi iniziare a creare cose 
 che sono un po 'più interattivi 
 infatti io stesso ho fatto qualcosa anni fa 
 la prima cosa in cui ho scritto io stesso 
 zero era in realtà quando ero dentro 
 scuola di specializzazione e croce registrata per 
 una lezione al mit 
 il professore per il quale era stato il 
 autore di e il creatore di zero 
 stesso e lasciami andare avanti e pieno 
 schermo questo 
 e proporre come ho pensato di risolvere 
 ora un problema abbastanza grande 
 indietro nel corso della giornata trascinare tanto cadere 
 spazzatura nel barattolo come puoi 
 quindi quello che sta succedendo ora è un pezzo di spazzatura 
 sta cadendo sullo schermo 
 vedrai che si sta muovendo dall'alto 
 in fondo e abbiamo visto le animazioni 
 come quello 
 ma guarda questo, scommetto usando una condizione 
 e un ciclo per sempre 

English: 
we can make it possible to pick this up
notice now the trash is following my
cursor just like the cat was and notice
if touching this other trash can sprite
maybe we can even get
oscar to pop out of the can and he then
starts counting up my score thereby
using a variable
and indeed as more sprites or more trash
falls i can continue to play a game
in this way but here too even though
things are starting to happen more
quickly there's more on the screen the
song is playing in the background
it all reduces to basic building blocks
and i can't emphasize enough when i
wrote that first
program years ago i did not implement
what you just saw
i think the very first thing i did was i
googled around and found
sesame street's street lamp and i put
that on the screen and that was sort of
version one it didn't do anything but it
looked like what i want
then i added the trash can then i think
i programmed one piece of trash or one
sprite to fall so i changed the cat to a
piece of trash and then i had it animate
from top to bottom
then version four or five i then added a
forever loop and a condition
that checks if the mouse button is down

Italian: 
 possiamo rendere possibile raccoglierlo 
 nota ora il cestino sta seguendo il mio 
 cursore proprio come era il gatto e nota 
 se tocchi quest'altro cestino puoi sprite 
 forse possiamo anche ottenere 
 oscar per saltare fuori dal barattolo e lui poi 
 inizia così a contare il mio punteggio 
 utilizzando una variabile 
 e in effetti come più sprite o più spazzatura 
 cade posso continuare a giocare 
 in questo modo ma anche qui anche se 
 le cose iniziano ad accadere di più 
 rapidamente c'è più sullo schermo il 
 la canzone sta suonando in sottofondo 
 tutto si riduce a blocchi di costruzione di base 
 e non posso enfatizzare abbastanza quando io 
 l'ha scritto per primo 
 anni fa non ho implementato il programma 
 quello che hai appena visto 
 Penso che la prima cosa che ho fatto sia stata io 
 cercato su Google e trovato 
 il lampione di Sesame Street e ho messo 
 quello sullo schermo e quello era più o meno 
 versione uno non ha fatto altro che esso 
 sembrava quello che voglio 
 poi ho aggiunto il cestino quindi penso 
 ho programmato un pezzo di spazzatura o uno 
 sprite a cadere così ho cambiato il gatto in a 
 pezzo di spazzatura e poi l'ho animato 
 da cima a fondo 
 poi la versione quattro o cinque ho poi aggiunto a 
 ciclo per sempre e una condizione 
 che controlla se il pulsante del mouse è premuto 

Italian: 
 e se è così lo faccio seguire 
 il puntatore del mouse così ho preso un grosso 
 problema e si è rotto 
 poco a poco in passaggi molto più piccoli e 
 questo era lo stesso approccio 
 che andrew berry di cs50 ha richiesto anni 
 fa uno dei nostri compagni di insegnamento proprio 
 il primo anno ho insegnato che cs50 ha creato il suo 
 molto proprio 
 primo progetto scratch che pensavo di fare 
 lasciaci qui oggi 
 questo è un programma che ha chiamato 
 uomini in carica potrebbe avere un familiare 
 sintonizzare 
 e ti proporrei di considerare 
 durante la visione 
 questo il nostro ultimo programma gratta e vinci oggi come 
 è quello che andava in giro Andrew 
 programmare tutto quello che vedi adesso 
 andrew è andato nel mondo reale e 
 non ha perseguito l'informatica di per sé 
 attualmente è il direttore generale 
 per i cleveland browns che è un 
 squadra di football americano ma anche questa 
 parla solo a quale tipo di fondazione 
 puoi formare indipendentemente dal tuo 
 previsto maggiore il tuo possibile maggiore 
 considerando dopo tutto che un sacco di 
 idee su cui ci concentreremo in questo 
 classe sono in ultima analisi 
 risolvere i problemi di programmazione essendo solo 
 uno strumento per il commercio 
 e in effetti anche nel mondo di 

English: 
and if so i have it follow
the mouse pointer so i took a big
problem and broke it down
bit by bit into much smaller steps and
this was the same approach
that cs50's own andrew berry took years
ago one of our teaching fellows the very
first year i taught cs50 created his
very own
first scratch project that i thought i'd
leave us with here today
this is a program that he called
reigning men it might have a familiar
tune
and i would propose that you consider
when watching
this our final scratch program today how
it is that andrew went about
programming everything that you see now
andrew went off into the real world and
didn't pursue computer science per se
he's actually now the general manager
for the cleveland browns which is an
american football team but this too
speaks to just what kind of foundation
you can form irrespective of your
intended major your possible major
considering after all that a lot of the
ideas we're going to focus on in this
class are ultimately about
problem solving programming being just
one tool for the trade
and indeed even within the world of

Italian: 
 lo sport ci sono tante opportunità 
 al giorno d'oggi 
 per algoritmi per analisi per video uh 
 simulazioni di ciò e tanti di 
 i mondi di Andrew ei tuoi mondi erano 
 invariabilmente 
 comincerai a scontrarti mentre inizi a farlo 
 crea il tuo kit di strumenti 
 e la tua comprensione di ciò così dentro 
 conclusione daremo uno sguardo a questo 
 programma di andrew 
 nel frattempo questo era cs50 e adesso 
 piovono uomini 
 [Musica] 
 [Applausi] 
 ciao ciao siamo le tue ragazze del tempo 
 e abbiamo notizie per te migliori 
 ascolta 

English: 
sports are there so many opportunities
nowadays
for algorithms for analysis for video uh
simulations thereof and so many of
andrew's worlds and your worlds were
invariably
uh start to collide as you begin to
build up your own toolkit
and your own understanding thereof so in
conclusion we'll take a look at this
andrew's program
in the meantime this was cs50 and now
it's raining men
[Music]
[Applause]
hi hi we're your weather girls
and have we got news for you you better
listen

English: 
get ready for your lonely girls and
leave those umbrellas at home
all right
[Music]
we better hurry up
[Music]
[Applause]
[Music]
is
you

Italian: 
 preparati per le tue ragazze sole e 
 lascia quegli ombrelli a casa 
 Tutto ok 
 [Musica] 
 è meglio che ci sbrighiamo 
 [Musica] 
 [Applausi] 
 [Musica] 
 è 
 tu 
