>> [REPRODUÇÃO DE MÚSICA]
DAVID MALAN: Tudo bem.
Este é CS50.
[Música tocando Tritonal, Cash Cash, "Intocável"]
[REPRODUÇÃO DE MÚSICA]
COLUNA 1: Eu vou França, e você está indo, também.
[REPRODUÇÃO DE MÚSICA]
DAVID MALAN: Este é CS50, introdução da Universidade de Harvard
ao intelectual empresas de informática
e as artes de program-- e pela primeira vez na história,
da Universidade de Yale também.
Na verdade, se você está aqui em Cambridge ou em New Haven ou Miami ou St. Louis
ou Amsterdam ou em qualquer lugar ao redor do mundo
tendo CS50, computador ciência E50, CS50X, CS50 AP,
todos nós somos um eo mesmo.
Bem-vindo ao CS50.
>> O que nós temos--
>> [Aplausos]
>> [Risos]
>> [Aplausos]
>> Então, eu cometi um erro me alguns tempo atrás, quando eu comecei a faculdade.
E eu fui para a faculdade, e eu decidi francamente, ficar dentro da minha zona de conforto.
I acabou declarando uma concentração, ou um major, do governo.
Ant que foi principalmente uma função de mim sendo bastante familiarizado com o governo
ou pelo menos a história ou eu realmente gostei direito constitucional na escola.
E assim quando eu cheguei aqui, eu meio de gravitavam em torno de coisas
com o qual eu já estava familiarizado.
Certo?
Deus me livre de fazer mal na classe.
Eu certamente queria ficar dentro de minha zona de conforto,
e não foi até no segundo ano que eu finalmente
Levantou-se a coragem de pisar em uma sala de aula chamada CS50.
E nesse ponto, eu fiz finalmente perceber que, meu Deus, trabalhos de casa poderia realmente
seja divertido.
>> Na verdade, eu era uma daquelas crianças que nas noites de sexta-feira quando
os P-SETS seria lançado, eu Gostaria de voltar para o meu quarto e mergulho
na P-sets da noite.
E para mim, isso foi um sinal que este era um campo para mim.
Mas o que era mais importante foi o fato de que eu fiz chegar até este nervo
para explorar águas desconhecidas para mim e obter além da minha própria zona de conforto
e, francamente, eu só era capaz de fazer isso no segundo ano, tendo esta classe
aprovação / reprovação.
>> De fato, foi o último dia em que Eu finalmente comutada e, finalmente,
declarou CS como a minha concentração, colocando gov nesse ponto atrás de mim.
E por isso não estamos estabelecendo de forma este curso para transformar todos vocês
em maiores ou concentradores de CS, mas em vez de dar-lhe uma oportunidade
para ir espero que além do mundo com o qual você está agora familiarizado
e trazer de volta a partir deste mundo habilidades e conhecimentos e esclarecido
que você pode aplicar a sua próprio mundo, se isso é
na área de humanas, ciências sociais, ciências naturais, ou além.
>> Na verdade, se você estiver sentindo um pouco intrépido
sobre estar nesta sala deixe sozinho nesta classe,
perceber que, se a história é qualquer indicação, 72% de você
nunca tomou um curso de CS antes.
Por isso, é por todos os meios não é o caso que o aluno sentado à esquerda
ou para a direita ou na frente ou atrás de você sabe muito mais sobre CS
ou programação em particular que você.
Isso não é de fato o caso.
E, de fato, muito do a estrutura de suporte
que nós criamos neste claro ao longo dos últimos muitos anos
foi exatamente para isso razăo para proporcionar uma rampa em que ainda sai
tão rigorosa e tão alta quanto Ever
mas a inclinação dos quais permitem que os alunos menos confortável e mais confortável
tanto para ter sucesso, independentemente de seu fundo anterior.
>> Com efeito, o que em última instância matérias desta classe não é
tanto onde você acabar em relação a seus colegas
mas onde na semana 12 acabam em relação ao mesmo
na semana zero, o que é onde estamos aqui hoje.
>> Na verdade e isso pode muito bem e provavelmente se parece grego
para muitos de vocês.
Mas com certeza, que isto e muito mais
vai ser completamente dentro do seu agarrar em apenas um pouco de tempo.
>> Mas hoje, vamos nos concentrar em alguns das ideias de nível mais alto
para dar-lhe um sabor de ciência CS50 e computador
no sentido de que você está inscrevendo.
E, de fato, ciência da computação pode ser destilada mais
simplesmente como thinking-- computacional pensar como um computador, se você quiser.
E há tantas coisas diferentes ingredientes que entram em que,
mas vamos propor apenas três para hoje.
Se o objetivo da classe, em última instância não é para ensinar-lhe a programação,
não é para ensinar-lhe C ou PHP ou SQL ou qualquer número das palavras
e siglas no A descrição de curso,
mas sim para ensiná-lo a resolver os problemas mais eficazmente
e pensar mais metódica e mais de algoritmos, por assim dizer.
Vamos ver o que exatamente isso significa.
>> Assim, gostaria de propor que o pensamento computacionalmente se resume
para resolver os problemas.
O que você precisa para resolver um problema?
Você precisa input-- como a entrada para o problema--
você precisa de uma saída, que é esperançosamente a solução,
e então você precisa de um processo por que para resolver esse problema, que
vamos chamar uma algorithm-- um conjunto de instruções para resolver algum problema.
>> Mas, primeiro, vamos nos concentrar no primeiro e a última dessas entradas e saídas.
Computadores afinal, aparentemente só entende zeros e uns.
Mas como isso pode possivelmente ser?
nem mesmo se você estiver familiarizado em tudo com o que está debaixo do capô,
você provavelmente pelo menos ouviu falar que computadores entendem binary--
apenas zeros e ones-- Mas como pode você possivelmente fazer alguma coisa interessante?
>> Bem, um dos temas da classe vai
ser este layering-- onde hoje, vamos tomar um rápido olhar para o nível mais baixo
detalhes, mas com cada dia que passa, em que a camada
ou abstrato em cima desses detalhes para resolver efectivamente o nível mais elevado
problemas de interesse para nós.
>> Então aqui é o que poderíamos chamar binary-- com apenas um alfabeto de 0 e 1.
Mas nós, seres humanos são na sua maioria familiarizados com decimal.
Dezembro significado 10.
Bi significa dois.
E assim, no decimal sistema, temos 10 dígitos
no nosso disposal-- de claro, de zero a nove.
Então, se você olhar para um número assim, a maioria de vocês
intuitivamente apenas entender que é 123.
Não há nada realmente difícil sobre isso.
Mas por que é 123?
Bem, se você acha que volta para school-- grau ou, pelo menos,
do jeito que eu aprendi isso tipo de mundo-- você
deve se lembrar que nós tratamos estes coisas em colunas, ou lugares.
>> Portanto, temos o lugar mais à direita.
As dezenas colocar no meio.
As centenas colocar à esquerda.
E então como é que vamos chegar a partir deste padrão symbols--
1 2 3-- a este nível mais elevado ideia de que nós conhecemos como 123?
Bem, é apenas um pouco de aritmética simples.
Certo?
>> A um há significa essencialmente dá-nos 100 vezes 1 mais 10 vezes
2 mais 1 vezes 3.
E, claro, se fizermos a matemática lá, é 100 mais 20
3-- além de outra forma conhecido como 123.
>> Então, se você está no mesma página que esse direito
agora e são confortáveis ​​com o chamado sistema decimal como um ser humano,
é realmente bem dentro o seu âmbito de conforto
a considerar agora o sistema binário.
Tome um selvagem adivinhar isso representa, no mundo dos computadores
em binary-- que número?
Zero.
>> Mas por que isso?
Bem, verifica-se que as colunas ou lugares aqui-- eles não são potências de 10.
1, 10, 100, 1000, e assim por diante.
Eles são em vez disso, bastante simplesmente, potências de 2.
Assim, 1, 2, 4, 8, 16, 32, e assim por diante.
E agora nós, naturalmente, chegar a 0 aqui simplesmente porque temos 4 vezes
0 mais 2 vezes 0, mais 1 vezes 0, o que obviamente nos dá 0.
>> Mas como eu vou sobre que representa o número 1?
Qual é o padrão de zeros e uns para representar
o número que nós seres humanos sabem como 1?
001.
E 2?
010.
>> E agora o padrão começa a se repete.
Agora é 011.
E, novamente, 0 fours, um 2, um 1.
Então 2 mais 1.
Isso é 3.
>> E agora a representar 4, nós não basta mudar isso 0 para 1.
Você meio que tem que levar, por assim dizer, e os números
começar lançando em torno de apenas como no mundo decimal.
>> Portanto, esta é 4.
Isto é 5.
Este é 6.
Isto é de 7.
E assim temos contado tão alto quanto 7.
>> Agora tudo o que precisa é apenas mais um bits-- mais zeros e um de.
E, de fato "bits", se você ouviu isso dígito binário term--.
Bit é onde isso vem.
E assim, se queremos representar números maiores, precisamos de mais bits.
Mas vamos afastar-se lâminas agora para algo um pouco mais real.
Suponha que nós queremos na verdade, representam essa coisa.
>> Bem, vamos dar uma olhada agora em uma pequena demonstração.
Portanto, este é um aplicativo baseado na web que um dos do CS50 própria, Michael G,
juntos este Verão para ajudar -nos elucidar exatamente essa idéia.
E que alguém como se aventurar-se no palco
na frente de todos os seus colegas?
Logo ali na frente.
Vamos lá para cima.
>> Você tem que ser confortável na câmera e internet.
Oh, aqui.
ESTÁ BEM.
Estamos OK.
Tudo certo.
Vamos lá para cima.
Qual o seu nome?
Emily vamos lá para cima.
Portanto, esta é Emily.
Em que ano você está?
>> Calouro.
>> Emily, prazer em conhecê-lo.
David.
>> Tudo certo.
Então, na tela aqui, temos esta tela de toque
que vai nos permitir realmente interagir com este programa,
e é apenas um navegador.
É Chrome blindado completo no momento, mas é
foi programado por Michael para responder de uma forma que permite
-nos a brincar com dígitos binários.
>> Assim, por exemplo, aqui nós não tem três, mas oito zeros e uns bits--.
Neste momento, estamos olhando para o número 0.
E, de fato, todos os oito zeros em decimal significa zero.
Então, isso é tudo o que é sendo sugerido aqui.
>> Então, se você queria representam o número 8,
qual é o padrão de zeros e aqueles que você quer?
Você pode simplesmente tocar cima ou para baixo ou os próprios números.
Tudo certo.
De modo que, claro, é 8, como você pode ver lá em cima.
E se quiséssemos não 16, o que vamos fazer?
>> Yep, apenas tocá-lo novamente.
16.
Tudo certo.
Então, isso é tudo muito bem e bom, ainda é muito baixo nível.
Precisamos de um caminho no mundo real para Emily
de realmente representar essas coisas.
E assim supor que nós giramos zeros e uns, que é muito
conceitual, em lâmpadas reais.
Certo?
>> Um computador é um físico, mecânico, aparelho eléctrico.
E a sua, pelo menos, se input-- você ligá-lo ou encargo ele--
é ter a energia da bateria e elétrons que fluem dentro e para fora.
>> Então, agora, por que não podemos deixar de pensar sobre bits como zeros e uns,
mas algo mais físico como lâmpadas aqui.
E se Dan Armendariz poderia juntar-se me por apenas um moment-- venha up--
vamos fazer fila um aplicativo.
>> Venha até aqui, Emily.
Desculpe este é o mais demonstração embaraçosa para você para sempre.
Venha até aqui.
Nós estamos indo para a fila -se com agradecimentos a Dan
Armendariz, outro membro do nosso pessoal, uma aplicação conhecido como lâmpada binário.
>> Então o que temos aqui é uma aplicação iPad
que tem o seguinte usuário interface na tela para Emily.
Simplesmente tem a mesma interface exata essencialmente, que está ali.
E se você agora querem representam o número, digamos 8,
como é que você vai fazer sobre este percebesse à direita,
as lâmpadas que temos aqui?
Ah-ha.
Mágico.
Portanto, se queremos agora transformar isso em algo um pouco mais desafiador,
e vamos em frente e escolher um aleatório número como o número 50 aqui.
Input isso.
E se você pode agora ser desafiado para vir acima com o número 50,
teremos um prêmio fabuloso para você.
>> EMILY: OK.
Meu Deus.
DAVID MALAN: Aritmética é realmente difícil na frente
de centenas de seus colegas.
Mas 50 tem sido a resposta aqui.
>> [Aplausos]
>> E agora, este destina-se a ser demonstrativa para Emily.
Então, aqui, é um pouco de luz lâmpadas bastante como estes,
mas na verdade é o pequenas tiras magnéticas.
E o que é legal sobre estes e a razão por que usá-los em CS50
é que eles suportam uma coisa chamada um API-- uma programação de aplicativo
interface, que é apenas uma maneira elegante de dizer que o que um dos nossos funcionários
se durante o verão foi criar uma aplicação iPad aqui
que fala através da internet às lâmpadas por aqui,
que são sem fios ligado a outro dispositivo.
Mas esta é agora uma opção para os projectos finais.
E assim por Emily, se você seria tão como, no final do prazo,
você pode decorar seu quarto do dormitório nesse meio tempo com aqueles.
Obrigado a Emily também.
>> [Aplausos]
>> Mas agora, vamos voltar a nossa atenção para o que
essa mensagem pode ter parecido, e é um pouco algo como isto.
Na verdade, esta é uma exemplo apenas como um teaser
do que está por vir do que é chamado de uma solicitação da API.
E então o que temos aqui é simplesmente exatamente os tipos de mensagem
que, depois de algumas semanas vez em CS50, você vai
ser capaz de enviar para algo bastante familiar como que para realmente
ligá-los e off.
Mas isso é tudo muito bem e bom.
Certo?
Temos o modelo mental esperançosamente para representar números com
zeros e um de.
E a partir de zeros e uns, nós podemos chegar a números mais elevados, como 50,
como Emily acabou de fazer, ou nós pode mover-se a partir daí.
E eu afirmo que podemos representar coisas como cartas também.
Certo?
>> Computadores são muito mais interessante do que apenas números.
E assim como você ir sobre as palavras que representam
na tela ou e-mails ou ensaios ou similares?
Bem, verifica-se que os computadores simplesmente abstract em cima destes baixo nível
detalhes, e os seres humanos há algum tempo, veio -se com uma arbitrária, mas um consistente,
mapeamento de números de modo a letters-- que a qualquer momento você vê uma letra maiúscula
Um no seu computador tela, as probabilidades são o que há de
debaixo do capô é um padrão de zeros e uns
que representam o número, por este gráfico, 65.
>> E mais fisicamente dentro do seu computador,
são milhões de coisas chamadas transistors-- estes dias-- que
são apenas muda se você, coisas que pode ir dentro e fora e assim imaginar.
Não oito dessas grandes lâmpadas mas milhões destes minúsculos pouca luz
bulbos, ou interruptores ou transistores, que podem ligar e desligar
baseado em como você programá-los.
E então agora temos uma forma de representando letras também.
>> Na verdade, se eu fosse para usar esta mapeamento aqui e tentar realmente
soletrar alguma coisa, podemos olhar neste padrão de dígitos decimais
agora mesmo.
Então, nós não vamos sequer focar binário mais.
Vamos apenas considerá-las como número decimal 72, 73, 33.
Mas o que isso pode representar?
Alguém tem uma suficientemente memória fotográfica
saber o que está escrito na tela aqui?
Sim alguns.
Então Oi.
H-I e, em seguida, um ponto de exclamação, o que não era verdade na tela.
Mas na verdade, não há um mapeamento para cada letra de cada número
que você pode querer digitar no teclado.
>> Mas os números não têm de representam apenas letras.
Certo?
Todos nós sabemos sobre as imagens e fotografias e arquivos de áudio
e os ficheiros de vídeo e semelhantes.
Então, claramente, podemos representar nível coisas ainda maior.
E então o que um computador faz é simplesmente escolher
para interpretar padrões de zero queridos de forma diferente com base no contexto.
>> Se você clicar duas vezes um ícone do Microsoft Word,
você ver as palavras na tela em vez de cores e imagens
porque a palavra sabe que esta é uma ensaio que você realmente digitado.
Se você, em vez clique duplo em um JPEG ou GIF ou PNG,
abre-se e é uma imagem porque o PNG ou .docx ou qualquer que seja o arquivo
extensão é eo que quer software você estiver usando sabe interpretar
um padrão de zeros e uns de forma diferente com base no que o seu propósito na vida é.
>> Assim, por exemplo, esta mesma seqüência de números
pode representar o quanto vermelho você quer, o quanto verde que você quer,
e quanto azul quer.
E, de fato, se você nunca ouviu falar RGB-- verde azul então apenas vermelho.
E então se eu ver números como, este dá-me 72 vermelho, me dar 73 verde,
e 33 azul, isto é como um computador usando três bytes-- onde
é um byte de oito bits ou 24 bits-- representaria um tom bastante desagradável
de marrom ou amarelo aqui.
E em diferentes contextos, poderia aqueles mesmos padrões exatos em zeros e uns
significar algo completamente diferente bem.
>> Portanto, temos agora uma maneira de representar zeros e uns information--.
Em cima disso, nós receber cartas.
Além disso, podemos obter cores.
E vamos supor para hoje que podemos obter áudio e vídeo
e as coisas muito mais sofisticado do que isso.
>> Mas agora vamos considerar como usamos essas entradas
e produzir aqueles saídas Agora que temos
uma forma de representar essa informação.
Bem, precisamos de algo chamado um algoritmo.
Mais uma vez, um conjunto de instruções para resolver algum problema
passo a step-- eo Mais precisamente, o melhor.
>> E assim um exemplo com o qual os seres humanos são reconhecidamente menos familiares nos dias de hoje,
mas mesmo assim ainda é conosco em software,
é o processo de procura -se alguém em um livro de telefone.
>> Agora, cada vez menos pessoas se conhecem ano que esta relíquia, na verdade, está aqui.
Mas de volta no meu dia, este foi um livro de telefone
com milhares de páginas e números e os nomes das pessoas de A a Z.
E mesmo que nós estamos tipo de batota um bit-- isto é principalmente páginas amarelas.
Há também eram brancos páginas no momento, o que
tinha todos aqueles nomes e número de seres humanos reais.
>> E se eu quisesse olhar de alguém em um livro de telefone como este, hoje, é claro,
Eu só digitar os primeiros caracteres de seu nome,
e meu telefone encontrar essa informação.
Mas o processo pelo qual seu telefone iPhone ou Android
ou o que é realmente encontrar alguém em sua lista de contatos
é idêntico ao que nós, seres humanos provavelmente tem feito há algum tempo.
>> Agora eu poderia tomar este problema, se quiserem,
e as entradas aqui não são zeros e uns.
Eles estão pages-- como, digamos 1.000 páginas.
E se eu queria para procurar alguém como Mike Smith neste livro de telefone,
Eu poderia começar no início e ver que eu estou na secção A
e depois virar uma página de um tempo, olhar e olhar
como eu faço para o B eo C do e o D's e assim por diante para Mike Smith.
Smith começando com um S, eu vou espero que, eventualmente encontrá-lo.
>> É este algorithm-- que process-- correto?
Sim.
Está certo.
Eu vou encontrar Mike se ele está aqui, mas o que é a ressalva de que você pode oferecer.
Ele é lento.
Certo?
Eu sei que Mike S é uma espécie de direção a segunda metade do livro de telefone.
Por que diabos eu sou começando no início
e ir página por página por página.
Então, é claro, eu poderia lançá-lo em torno e começar a partir da parte traseira,
mas isso vai ficar me lá no mesmo ritmo,
se você willl-- página após página após página.
E isso não vai funcionar se eu quiser para procurar outra pessoa cuja
nome vem no início do alfabeto.
>> Então, o que se eu faço o que eu aprendido na escola,
mais uma vez, fazer as coisas não por outros, mas de dois em dois.
Então, 2, 4, 6, 8, 10, 12, e assim por diante.
Isso está correto?
Não.
É uma espécie de correto.
Mas alguns de vocês que murmurou não, onde está o problema, ou o bug,
o erro por assim dizer.
Sim.
>> ALUNO: Você pode pular sobre a entrada direita.
>> DAVID MALAN: Yeah.
Eu poderia pular Mike Smith é porque eu tenho tido duas páginas de uma só vez
e ele só acontece de ser ensanduichada entre estas duas páginas.
I pode perceber que Eu sou para a seção T
Não tendo encontrado Mike Smith ainda.
>> E assim o que poderia o fixo haver?
Bem, se eu acertar o Ts no livro de telefone,
Eu poderia precisar de duplicar cópia de um ou de modo página.
Portanto, é corrigível, mas não é tão simples
como apenas indo por dois para acelerar o meu desempenho.
Mas o que?
Vamos.
O que é que a maioria dos seres humanos vão a ver com este tipo de lista telefónica?
Você é dado o livro de telefone.
O que você faz?
>> O que é isso?
Vá para o meio.
Então eu ouvi vá para o meio, e eu encontrar-me mais ou menos na seção M,
por assim dizer.
E agora o que eu quero fazer?
Bom trabalho.
Qual o seu nome?
>> JAMES: James.
>> DAVID MALAN: James, tudo bem.
O que devo fazer em seguida?
JAMES: Você vai na meia que tem as S do.
DAVID MALAN: Tudo bem.
Eu estou indo para ir para a metade que tem as S está nele, porque, mais uma vez,
uma estipulação aqui foi que essa coisa está classificada.
É um bastante inútil 1,000 páginas, se Verizon na verdade não
classificar essas coisas para nós de A a Z.
Então, se eu sei que Mike é, provavelmente, em a segunda metade do livro de telefone,
Eu posso agora.
>> [Risos]
>> Rasgar o problema pela metade.
>> [Aplausos]
Obrigado.
Rasgar o problema pela metade.
Isso foi realmente real-- essa luta.
Então rasgar o livro de telefone ao meio, deixando-me
com fundamentalmente o mesmo problema.
Mas, claro, metade do tamanho.
E se eu seguir James conselhos de novo, e eu aqui.
Eu digo, oh agora eu estou na seção T.
>> E assim é claro, eu pode rasgar o livro de telefone
na metade mais uma vez, deixando -me com um problema que é
agora um quarto do tamanho.
Então eu fui de 1.000 para 500 a 250 a 125 e assim por diante.
Parece que eu sou tomando mordidas maiores fora
deste problema com cada iteração, ou cada passo na mesma.
>> E, de fato, o tempo que eu vou gastar encontrando Mike, neste exemplo, Smith
é muito menos porque eventualmente eu sou indo para talhar este livro pone para baixo
para apenas uma página solitário.
E se Mike está nessa página, eu sou indo para ir em frente e dar-lhe
uma chamada de ter encontrado ele.
>> Mas como muito melhor é que algorithm--
que ouso dizer intuitiva algorithm-- do que os que
começou com o qual estamos muito linear-- esquerda para a direita-- a um ritmo de 1 ou 2x?
>> Bem, vamos traçar isso.
Nós não têm de se preocupar muito com matemática ou números, neste caso aqui.
Nós basta olhar para um gráfico.
Então nos x ou eixo horizontal, é o tamanho do problema--
Quantas páginas estão lá.
No Y, ou a vertical eixo, é quanto tempo
é ele que vai me levar para resolvê-lo.
E talvez isso é quantas viradas de página, quantos segundos,
como many-- alguma unidade de medidas.
>> E eu desenhei algumas linhas retas vermelhas aqui, porque se cada página adicional
do livro de telefone, eu exijo para fazer um passo adicional.
Portanto, se adiciona um Verizon mais página do próximo ano,
Eu poderia ter de virar mais uma página para encontrar alguém como Mike Smith.
>> Enquanto isso, o segundo algoritmo, que Eu fui por dois, é a mesma forma.
Ainda é muito linear, muito à esquerda para direito, tendo a igualdade de bytes de cada vez,
mas a inclinação é um pouco menor.
>> Por exemplo, se o tamanho de o problema eram mais ou menos aqui
e eu usei o meu primeiro algoritmo, Eu poderia acabar todo o caminho
na parte superior da referida linha vermelha.
Mas se eu passar a usar twosies para aproximar,
a linha amarela sugere porque é mais baixo,
que vai levar me menos tempo a resolver.
>> Mas o que é a forma da terceiro algorithm-- novamente, sem dúvida
o algoritmo mais intuitiva?
Bem, parece um pouco algo assim.
É curvo, ou logarítmica, em forma.
E mesmo que nunca tipo de achata,
-lo asymptotically polegadas para cima e cima e para cima, mas terrivelmente lento
contra tudo o resto.
E o que está a levar embora?
Bem, nós chamamos de log n.
Mas o que isso realmente significa?
Bem, se Verizon dobrou o número de páginas do livro de telefone
no próximo ano de 1.000 para 2.000.
Quantos mais passos é a minha primeiro algoritmo vai levar?
>> Meu primeiro algoritmo.
Talvez mais 1.000 passos.
Se eles dobraram o livro de telefone, eu vou
ter que percorrer outro 1.000 páginas para encontrar Mike.
É claro que, se a segunda algoritmo, talvez 500 porque eu sou
indo duas vezes mais rápido.
>> Mas se Verizon duplica o número de páginas entre este ano eo próximo,
com a minha terceira algorithm-- o fosso e conquistar que James proposto,
indo ao meio e meio e half-- quantas mais medidas irão
ele me levar no próximo ano para ter um livro de telefone de um tamanho de 2.000?
Apenas um.
Porque com uma mordida, eu posso tomar, Fora do problema que, metade das páginas
longe.
E se você pensar sobre isso um pouco loucamente agora-- se o livro de telefone não faz
tem 1.000 ou 2.000 páginas, mas digamos 4 bilhões pages--
é um grande telefone book-- como muitas vezes ou quantos passos
é ele que vai me levar para encontrar Mike Smith no livro de telefone
com 4 bilhões de páginas.
Você pode tipo de começar a fazer a matemática.
Tudo certo.
4 bilhões dividido por 2.
Então, isso é de 2 mil milhões dividido por 1.
Isso é 1 bilhão.
Em seguida, metade de um bilhão.
Então 250-- para que você possa fazer isso novamente e novamente, mas não que muitas vezes antes
você começa a uma página.
>> E, de fato, mesmo se o telefone livro é de 4 bilhões de páginas
ou o banco de dados que você está procurando é de 4 bilhões de registros de comprimento,
que vai levá-lo mais ou menos 32 passos para encontrar somente Mike Smith.
E se você dobrar o livro de telefone próxima ano de 4000 a 8000 milhões,
33 etapas, em vez de apenas 32.
>> E esta é a prova a uma das ideias
para que possamos abraçar no computador ciência em geral, que
é este pensamento computacional e aproximando-se um problema
francamente usando ferramentas de sua ferramenta já está familiarizado
kit-- seu mundo real com que você está familiarizado,
mas aproveitar essas ideias para resolver problemas, na verdade.
>> Mas precisamos de formalizar a nossa soluções para estes problemas.
E assim deixe-me apresentar por um momento algo que poderíamos chamar de pseudocódigo.
Grande parte do semestre, nós vamos passar usando código real em linguagens como C e PHP
e JavaScript e SQL e similares.
>> Mas, por enquanto, vamos apenas olhar em algo bastante intuitiva
como o Inglês.
Eu poderia destilar que com o qual algoritmo
Encontrei Mike em etapas como este.
>> Pegar o livro de telefone
>> Aberta a meio do livro de telefone
Olhe para o nome do
Se Mike está entre o nome do
Ligue para Mike
Else if Smith é no início do livro
Aberto ao meio a metade esquerda do livro
Então ir para a linha 3
Else if Smith é mais tarde no livro
Aberto ao meio da metade direita do livro
Vá para a linha de três
Outro
Desistir
E há algumas características agora isso que é importante ressaltar.
Então, uma, todas as linhas Eu tenho realçado em amarelo
vamos começar a chamar declarações ou funções ou procedimentos.
Eles são apenas acções fazer este, e não há
tudo o que muito variabilidade a ele.
>> O próximo passo aqui, porém, são estes conditions-- if, else, else if, else.
E estes são chamados de condições, ou ramos, e eles são os pontos de decisão.
E eles nos permitem fazer algo condicionalmente.
>> E, na verdade, vamos dar uma rápida olhar para talvez um face-- familiarizado
vamos chamá-lo Bill-- e exatamente o que essas condições,
como eles podem ser usados.
>> BILL GATES: As pessoas fazem decisões todos os dias.
Por exemplo, antes de ir para fora de você tipo de ter uma instrução if que diz:
se estiver chovendo, então eu preciso pegar minha jaqueta.
>> E os computadores são surpreendentes uma vez que você decidir esses tipos de declarações
que pode executar de forma fiável essas coisas a uma velocidade inacreditável.
E assim por um programa de computador realmente é um pouco de matemática e alguns
if onde se tomou a decisão.
>> O foco da Então agora vamos: DAVID MALAN em alguns lines-- diferente
os que eu destacados em amarelo aqui.
E verifica-se que há diferentes maneiras de expressar essa idéia.
Mas intuitivamente o que nossas linhas 8 e 11 que eu tenha destacado aqui dizendo a você
façam?
Sim, vá para a linha 3, mas o que comportamento é que realmente induzir?
É algum tipo de loop ou ciclo, e você pode tipo de vê-lo.
Certo?
Se na linha 8, você voltar para a linha 3, e depois de bater a linha 8 novamente,
você pode voltar para a linha 3, de volta para a linha 3, de volta para a linha 3.
Não há este tipo de ciclo ou loop.
E, de fato, que é induzido em A linha 11 potencialmente bem.
E este é um básico programação construir também.
>> Você não pode querer apenas fazer algo com uma declaração
ou fazer algo condicionalmente com uma condição ou ramo.
Você pode querer fazer alguma coisa ciclicamente com um loop.
E nós vamos ter alguém com quem você pode ser familiar-- vamos chamá-lo
Mark-- explicar este conceito aqui.
Mark Zuckerberg: One coisa que os computadores são
realmente bom em está repetindo comandos.
Como pessoa, você obteria realmente entediado, se você
tinha que fazer a mesma coisa muitas vezes em uma fileira,
mas um computador pode fazer a mesma coisa milhões ou até bilhões de vezes
e não se cansar e ser capaz para realizar essa vontade muito bem.
>> Assim, por exemplo, se eu quero desejar a todos
no Facebook um feliz aniversário enviando-lhes um e-mail,
ele pode me levar mais do que um século de realmente escrever
todos esses e-mails para todos.
Mas com apenas algumas linhas de código, eu posso ter um sistema de enviar um e-mail para todos
no Facebook desejando -lhes um feliz aniversário.
>> Então é isso que loops são e por que eles são valiosos e algo
que os computadores podem fazer muito bem.
>> DAVID MALAN: Muito obrigado a nossos amigos em Code.org para os dois filmes.
E apenas na semana passada, você pode ter visto que Mark Zuckerberg e Facebook
postou este anúncio, que é que eles apenas
ter passado um importante marco para a primeira vez.
1 bilhão de pessoas utilizaram o Facebook em um único dia, especificamente última segunda-feira.
Um em cada sete seres humanos na Terra aparentemente conectado ao Facebook.
>> Bem, isso parece uma boa oportunidade para olhar para trás, onde começou Facebook,
e passamos por CS50 própria arquivos pois verifica-se, em 2005,
Mark deu uma palestra no CS50.
Você verá que os valores de produção não eram o mesmo de volta, em seguida,
em termos da tecnologia disponíveis, e você também
ver que a presença desta palestra
não necessariamente despertar o interesse do corpo discente, os seus antecessores,
tanto quanto ele pode ter apenas alguns anos mais tarde.
>> Então, vamos dar uma olhada no Centro de Ciências C.
COLUNA 2: Junte-se a mim, e bem-vindos.
[Aplausos]
Mark Zuckerberg: Yo.
Tudo certo.
Legal esta é a primeira vez que eu já tiveram de realizar uma dessas coisas.
Então, eu estou indo só para anexá-lo muito rapidamente.
Tudo certo.
Você consegue ouvir?
Isso é bom?
É este amplificado em tudo?
Tudo certo.
Doce.
Então, isso é como uma das primeiras vezes Eu fui a uma palestra em Harvard,
mas--
>> DAVID MALAN: Então, eventualmente, a Ciência Centro fez aumentar o zoom no vídeo,
mas não antes de capturar este trecho em que fala de Marcos,
que discutiu a sua companheiro de quarto, Dustin, que
queria dar uma mão com este site chamado o Facebook.com
e percebeu que Mark está prestes a mencionar a programação languages--
um chamado Perl, um chamado PHP-- como ele discute
as origens da contribuição de Dustin.
Mark Zuckerberg: I começou a correr o site
e lançou-o em Harvard em fevereiro de 2004.
Então eu acho que há quase dois anos agora.
E dentro de um par de semanas, um alguns milhares de pessoas se inscreveram,
e começamos a receber alguns e-mails de pessoas em outras faculdades pedindo
para nós para lançá-lo em suas escolas.
>> E eu estava levando 161 no momento.
Então, eu não sei se vocês sabem a reputação do que claro,
mas era uma espécie de pesado.
Foi um curso muito divertido, mas ele não me deixou com muito tempo
fazer mais nada com o Facebook.
Então, meu companheiro de quarto Dustin, que eu acho tinha acabado de CS50, era como, hey.
Eu quero ajudar.
Eu quero fazer a expansão e ajudar -lo a descobrir como fazer as coisas.
>> Então eu estava tipo, isso é muito legal, cara.
Mas você realmente não sabe nada PHP ou qualquer coisa assim.
Então, naquele fim de semana, ele foi para casa, comprei o livro Perl for Dummies,
voltou e foi como, tudo bem.
Eu estou pronto para ir.
>> Eu era como, cara, o site está escrito no PHP não Perl, mas isso é legal.
>> Então ele pegou PHP mais como alguns dias porque eu
prometo que se você tiver uma boa experiência em C,
PHP é uma coisa muito simples para pegar.
E ele meio que começou a trabalhar.
>> Antes de dar uma olhada agora em onde o curso está indo,
permita-me a convidar apenas algumas de pessoal até do SC50 para palco.
Alguns deles estão comprando seus próprios cursos.
Mas se essas TFs e CAs e claro cabeças que estão aqui poderia vir em até
e se juntar a mim para um Olá rápido.
>> Permita-me apresentar em particular, Hanna, Maria, Daven, e Rob,
o curso de CS50 dirige aqui em Cambridge.
>> [Aplausos]
>> DAVID MALAN: Na verdade, prova da estrutura de apoio que o curso tem
construída ao longo dos últimos muitos anos, pessoal CS50 números este ano quase 100,
e que está aqui em Cambridge sozinho.
Enquanto isso, em New Haven, existem alguns 40 TFs e CAs e membros do pessoal lá
para executar o curso bem.
>> Permita-nos apresentar em primeiro lugar, Rob Bowden.
ROB BOWDEN: Oi.
Eu sou Rob.
Este é o meu sexto ano TFing no curso.
Assim, todo o caminho de volta na minha primeiro ano, eu não tomar CS50.
Seu calouro fall-- você pode estar familiarizado
que você só pode tomar quatro cursos e há tantos cursos hoje.
Então eu sou como, eh.
Tomei AP CS meu último ano do ensino médio foi horrível.
Então, eu sou como, eh.
ciência da computação não é para mim.
>> Assim, pois, estava sobre o curso de meu primeiro
cair, que eu tinha um amigo em CS50 e Eu acho que eu assisti a uma palestra com ela.
É como, oh, este é o tipo de melhor do que o que eu tinha na escola.
>> E ao longo do ano, eu tinha meus próprios conjuntos de problemas
nos cursos eu estava realmente tomando.
Mas descobri que sempre que eu queria procrastinar sobre aqueles,
Gostaria de voltar para CS50 e olhar para algumas das coisas que.
Então sim.
Eu sou legal.
I procrastinação com codificação.
Assim, pois é no final de a queda que eu percebo, hey,
ciência da computação é muito legal.
Eu acabar tendo CS51.
No próximo semestre, Eu acabar tendo CS61.
E tudo a partir daí, então eu acabar declarando
ciência da computação, que eu tinha absolutamente nenhuma intenção de fazer
quando entrei na faculdade.
E agora eu estou aqui.
Assim, o curso é o que você faz dela.
Espero que você goste.
>> [Aplausos]
DAVID MALAN: Obrigado a Rob.
>> E agora Maria, nossa chefe adjunto do curso.
>> MARIA: Hey guys.
Meu nome é Maria.
Eu sou um estudante de segundo ano em Cabot House, vindo da Bulgária,
e eu estou super animado para ser parte da equipe este ano.
Tomei CS50 como um calouro no ano passado, e eu nunca sequer
pensou CS antemão.
Então, eu absolutamente amo o curso, e eu espero que todos amá-lo tanto quanto eu.
E, sim.
Bem-vindo ao CS50.
DAVID MALAN: Obrigado a Maria.
[Aplausos]
Agora Hanna, nosso companheiro de cabeça de ensino.
HANNA: Oi, eu sou Hanna.
Eu sou um sênior em Cabot estudando ciência da computação.
Tomei CS50 como um calouro e tinha sido TFing-- este vai ser o meu terceiro ano.
Então eu vou ser feliz envolvidos na CS50 para todos os quatro anos,
e eu estou olhando para a frente para trabalhar com todos vocês.
DAVID MALAN: Obrigado a Hanna.
[Aplausos]
E, por último, Daven, o nosso precepter.
Daven: Hey guys.
Eu sou um preceito sobre em ciência da computação aqui.
Este vai ser o meu quarto ano de ensino.
Eu também ajudar a gerenciar o curso.
Então, eu tenho certeza que você vai me ver ao redor, especialmente no horário de expediente.
Estou sempre em horário de expediente.
Então, se você me ver andando ao redor, definitivamente vir dizer oi.
Gosto de conhecer todo mundo.
Caso contrário, se divertir, e eu te veja por aí.
>> DAVID MALAN: Obrigado a Daven também.
Então você vai atender a todas as essas pessoas antes do tempo.
Mas sem mais delongas, se vocês faria
gostaria de retomar seus lugares de antes.
Permita-me apresentar de longe agora alguns dos nossos amigos de New Haven,
em especial os cabeças do curso, que vai supervisionará CS50 há-- Professor
Brian Scassellati, Jason, e Andi, que só-- de modo que nós não abusar da sorte
com qualquer FaceTime ou o como-- acabamos de nos enviou minutos
há o seguinte vídeo em que dizer Olá a partir de sala de aula
na Universidade de Yale, nos quais palestra está sendo transmitido no momento.
>> Assim, nossos amigos de Yale.
BRIAN Scassellati: Oi, David.
Oi, todos em Harvard.
Estamos tão animado por estar trazendo CS50 para Yale neste semestre.
Meu nome é Brian Scassellati, mas todo mundo me chama SCAS.
E eu estou aqui hoje para apresentar -lhe a equipe CS50.
>> [APLAUSO]
>> E mais importante, eu sou aqui para apresentar bem
todos os estudantes em Yale que a partir desta manhã
fizeram deste o mais popular curso em Yale os alunos CS50.
>> [APLAUSO]
>> Então, nós estamos muito animado a ser vê-lo aqui
na sexta-feira e no sábado para Quebra-dia e têm uma grande palestra.
Tchau.
>> [Aplausos]
>> DAVID MALAN: Na tela aqui é os nomes de alguns dos 140 funcionários
membros que você espera sobre o curso do semester-- alguns deles
aqui em Cambridge, alguns deles aqui em New Haven.
E, de fato, você terá um oportunidade neste sábado,
como notas SCAS, a participar CS50 enigma dia.
Você pode ter visto pequenos pedaços de quebra-cabeça deslizou sob suas portas recentemente.
Nós temos alguns extras aqui mais tarde, quando você existe.
Se você montar todos os quatro quebra-cabeça peças e forças fundir com quartos
seu próximos, em seu casa ou dormitório, eles vão
montar em um code-- QR ou um duas dimensões de código de barras, que
uma vez montado e digitalizados com o seu telefone vai levar você
para algum prêmio fabuloso ou- Suponho você poderia simplesmente fotografar esta agora
também.
>> Mas encontrar essas peças do puzzle no entanto, a fim de ganhar esse fabuloso prémio.
E, de fato uma das tradições em SC50-- ah, muito lento.
Uma das tradições em CS50 é servir bolo após a primeira palestra.
>> E assim, de fato, em um poucos minutos a partir de agora,
haverá bolo servido no exterior tanto aqui como New Haven também.
>> Mas first-- nós decoramos-los nós mesmos.
Mas first-- e esperançosamente não vai ser suficiente.
>> Mas, primeiro, um olhar rápido.
Então palestras é de fato será produzidos principalmente aqui em Cambridge.
Mas cada mês, vamos desça para Yale com a equipe de produção do CS50 e córrego
o curso no reverso direção, bem assim
de alinhar estes dois campi verdadeiramente pela primeira vez na história
tão próximas quanto possível como um no mesmo curso.
>> Em termos de estrutura de suporte que é sido levantou-se aqui em Cambridge, bem
como em New Haven, são seções.
Na verdade, como alguns de vocês podem sabe, nós temos diferentes faixas
dentro do curso para aqueles menos confortável, mais confortável,
e em algum lugar entre o fim de que independentemente da sua formação prévia,
você pode finalmente ter sucesso na classe.
>> o horário de expediente Enquanto isso, são uma oportunidade às segundas e terças-feiras
e quinta-feira à noite para trabalhar tanto aqui e em New Haven no nosso curso de
conjuntos de problemas com dezenas de o pessoal do curso perto de você.
>> Problema define entretanto, são suportado por coisas que chamamos
orientações, que são baseados vídeo tutoriais que realmente respondendo FAQ
de onde começar desafio de uma semana.
E autópsias orientá-lo as possíveis soluções
de modo que a extremidade do conjunto de problemas também, você
saber exatamente o que você poderia ter feito de modo diferente ou de outra forma em conjunto.
>> O problema coloca-se vir em duas edições, uma edição padrão
que esperamos e convidar a maior parte o class-- cerca de 90% mais para fazer--
e um denominado edição hackers em que cada página é estampada
edição de hackers, hackers edição, edição de hackers,
de modo que você tem que karma se quiserem, para o mergulho
em versões mais avançadas de conjuntos de problemas do curso
que a cobertura ostensivamente o mesmo material mas com uma abordagem mais sofisticada
e com fundo adicional por vezes introduzidos.
>> Enquanto isso, há nove dias de atraso que você pode aplicar para o problema do curso
define, bem como a pontuação mais baixa, que cair no final termos.
>> Mas o que espera?
Bem, um gosto do problema define na mão na sexta-feira
e na próxima semana onde se envolver por apenas alguns dias em algo
chamado de risco, a programação gráfica linguagem desenvolvida por nossos amigos
no Media Lab do MIT que permite que você para programar quer pela primeira vez
ou num ambiente completamente novo usando um ambiente tipo arrastar e soltar.
Em que peças do puzzle única interlock juntos
se faz sentido lógico para fazê-lo.
>> Enquanto isso, no conjunto de problemas dois no ano passado, por exemplo,
se nós introduzimos a classe ao mundo da criptografia,
a arte de criptografar ou codificação de informação.
Na verdade, este texto aqui se descriptografado, vai realmente
levá-lo a algum destino divertido.
E no conjunto de problemas, o que tínhamos alunos
fazer é implementar exatamente aqueles tipos de coisas- um algoritmo,
ou um conjunto de instruções para baralhar e codificação de informação.
>> E na edição de hackers desse mesmo conjunto de problemas,
fizemos desafiar os alunos a tomar uma arquivo criptografado de um computador típico
sistema com lotes de nomes de usuário e senhas criptografadas
e para quebrar essas passwords-- realmente descobrir
o que eles estavam sem saber nada A priori sobre aqueles senhas reais.
Enquanto isso, nós transição no problema
define, em seguida, olhando para o mundo dos gráficos.
E, na verdade, que você pode imaginar agora que isso talvez pudesse
ser a maneira mais simples para representar uma imagem em preto e branco.
>> Um pixel branco ou quadrado, como no canto superior direito lá,
pode ser representada com a 1 e um quadrado preto
pode ser representada com um 0.
E apenas usando mais bits como nós proposto anteriormente com 72 e 73 e 33,
poderíamos representar pixels da cor também.
E o que fazemos durante esse conjunto problema é
geralmente tomam um passeio campus com uma câmera digital,
tirar fotografias de pessoas, lugares e coisas.
Então, de alguma forma, a cada semestre, parece que acidentalmente
apagados ou corromper o cartão de memória em que todas as fotos são,
e assim você é desafiado para, em seguida, escrever software
com o qual se recuperar esses JPEGs a partir de uma cópia do cartão de nossa câmera.
>> Enquanto isso, podemos entregar-lhe mais tarde na o termo um dicionário de palavras em inglês
que tem 143.000 palavras, e você precisa vir para cima
com uma maneira inteligente de carregá-los na memória,
ou RAM por assim dizer, para responder consultas da forma: é esta uma palavra,
É esta uma palavra, a implementação da corretor ortográfico mais rápido que você pode,
mesmo fixando-se potencialmente contra os colegas
para ver qual você usa a menor quantidade de tempo
Ao executar o seu código e até mesmo a menor quantidade de memória.
>> Mais tarde, no prazo que você realmente implementar seu próprio servidor web.
Portanto, não apenas um site em um linguagem chamada HTML e muito mais,
mas um servidor web que realmente escuta pedidos na internet
e responde a eles.
E, de fato, é assim que colmatar nosso mundo de C com o qual você
familiarizar-se na próxima semana e PHP e HTML e JavaScript
e CSS e semelhantes.
>> Uma vez que uma da primeira banda baseado projeto que fazemos no final do prazo
é historicamente CS50 Finanças.
estilo Etrade.com um site que permite -lo a comprar e vender ações virtualmente
ao mesmo tempo, escrever código para falar com Yahoo Finanças ficando estoque semi tempo real
cita, a fim de atualizar sua própria carteira.
>> Mas, por último, é claro, é a última project--
uma oportunidade de fazer mais nada seu interesse para resolver um problema aqui
ou além do seu interesse você que é de alguma forma inspirada
pelas lições aprendidas na classe.
>> E a classe, como você deve saber, culmina no chamado CS50 Hackathon
e Fair CS50 e qualquer número de outros eventos culturais
ao longo do semestre que permitem que você se envolver
uns com os outros e os funcionários do curso.
>> Por exemplo, no Fire and Ice em Sitar este ano, bem, nas tardes de sexta-feira,
convidamos a cerca de 50 alunos para o almoço, quem quer
gostaria de se juntar a nós, eu mesmo, e os funcionários,
e nossos amigos da indústria e ex-alunos para conversar sobre a vida no mundo real
e além, enquanto desfruta de um bom almoço.
No Hackathon será você vê essas imagens
uma vez que estes, incluindo a abundância de candy-- e a partir de 2014, pela primeira vez--
legumes.
>> [Aplausos]
>> Mas antes das 5:00 AM, faz a cena normalmente olhar um pouco algo como isto.
E, em seguida, apenas uma semana ou depois, é a Feira CS50
à qual alguns Plus 2000 alunos e funcionários e professores
membros de todo campus e em campi este ano
vêm para ver e prazer na realizações de estudantes CS50, que
agora é você.
>> E, de fato, enquanto que este ano vamos ser convidativo e büsing ninguém
no de Yale que gostaria de vir até Cambridge neste sábado para CS50 enigma
Dia, e nós vamos fazer exatamente a mesma coisa em dezembro para o CS50 Hackathon
para que Harvard e Yale estudantes participam iguais em ambos estes eventos.
>> Vamos também realizar feiras CS50 em Cambridge e em New Haven este ano
para que os alunos em ambos campi e funcionários e professores
pode ver cada respectivo realização do campus.
E essas realizações vai induzir tal memória
como esta e este e, finalmente este, em que todos você
sair da classe usando um pouco algo em que você era esperamos
feliz ou orgulho de dizer que eu levei CS50.
>> Mas antes disso e antes de servir o bolo,
nós colocamos together-- graças a CS50 de equipe de produção e uma certa auto
vara, a única ocasião que usamos tais coisas for-- quando ele foi enviado para
não só aqui para Cambridge mas também para New Haven
para reunir algumas hellos do Os funcionários do curso e todas as pessoas
você vai encontrar tanto aqui como na Nova Haven ao longo dos meses seguintes.
>> Permita-me apresentar um pouco mais de gabinete de CS50.
Mark Zuckerberg: Será que isso torná-lo ir?
Oh, ele está indo.
Vai.
Ooh.
Yarr!
>> [Música tocando Andy Grammer, "Mel, eu sou BOA"]
>> MARY: Este é Caitlin.
Isso é Jay, e eu sou Mary.
SATO: Oi, pessoal.
Estou Sato.
MICHAEL G .: Hi.
Meu nome é Michael, G.
DOUG LLOYD: Eu não sou.
Não.
Estou Doug Lloyd.
Eu não posso acreditar que eu estou segurando um selfie ficar agora.
COLUNA 4: Hi.
COLUNA 5: Hi.
COLUNA 6: Olá.
COLUNA 7: Hi.
COLUNA 8: Hey.
Nós estamos andando em Yale.
Estamos realmente animado para neste semestre porque é
a primeira vez que está vindo para Yale.
Vai ser incrível!
>> [REPRODUÇÃO DE MÚSICA]
>> JACOB SCHERBA: Meu nome é Jacob Scherba.
Estou animado para ensinar CS50 porque eu acho
que trazem ciência da computação para pessoas e em forma acessível.
COLUNA 9: Eu estou realmente animado para ensinar CS50
porque eu levei a classe no ano passado, e é uma das melhores classes.
COLUNA 10: Sim.
Meu conselho é que você deve tomar CS50.
JACOB SCHERBA: Eu escolhi CS porque Eu acho que é uma forma divertida e criativa
para resolver problemas de forma analítica.
COLUNA 11: Quando eu era um pouco caloiro e com medo de ciência da computação
e medo de fazer engenharia e outras coisas,
foi a primeira classe duro eu tomei, e foi também a minha classe favorita sempre.
DOUG LLOYD: Este é o meu nona CS50 ensinamento ano.
Isso me faz soar tão velho!
Há sempre algo novo.
Há sempre algo emocionante.
Há sempre novos desafios enfrentados pelos novos alunos, e é divertido para ajudá-los
e experimentar os desafios com eles
e ajudá-los a resolver seus problemas.
>> COLUNA 12: Quando eu primeiro aprendi a fazer CS,
era como a aprendizagem de uma super potência.
E para ver que em outros estudantes e para ajudá-los através desse processo
é um dos melhores coisas gratificantes que eu já.
>> COLUNA 7: Eu escolhi porque no CS começando, eu era um concentrador de matemática
e eu levei CS50 e se apaixonou por ele.
Também senti que com CS, eu poderia construir coisas.
E isso, pensei, era um aspecto muito legal.
>> COLUNA 13: Alguns conselhos para a nova estudantes é ir para o horário de expediente
e sair com a impressionante TFs.
COLUNA 14: Comece o seu P-sets cedo, ir para o horário de expediente,
tornar frends com o TF.
COLUNA 15: Sim.
Tudo o que ela disse.
COLUNA 16: Não seja medo de pedir ajuda.
COLUNA 17: Sim.
COLUNA 18: Comece o seu P-sets cedo.
COLUNA 19: É uma grande experiência social.
Fazer um monte de amigos dessa forma.
COLUNA 14: Vá para a seção É divertido.
COLUNA 11: Quer dizer, ir para ele.
É realmente difícil.
Você vai sair dela o que você colocar nele,
mas é um realmente divertido classe especialmente se você estiver
dispostos a colocar o tempo para ele, mas ajuda se você colocar o tempo para ele.
Você vai ficar muito mais fora dele mais tarde.
MIKE: Eu sou Mike.
CAMILLE: Eu sou Camille.
Hanya: Eu sou Hanya.
MATT: Eu sou Matt.
PETER: Eu sou Peter.
PHILLIP: Eu sou Phillip.
PATRICK: Eu sou Patrick.
ROB BOWDEN: Eu sou Rob Bowden.
BRIAN Scassellati: My nome é SCAS e isto--
ALL: --is CS50.
COLUNA 20: Em Yale.
COLUNA 21: Em Yale.
[RINDO]
DAVID MALAN: Isso é tudo para CS50.
Vamos vê-lo a partir de Yale em Sexta-feira, Quebra-dia no sábado.
O bolo é agora servido.
Este é CS50.
>> [REPRODUÇÃO DE MÚSICA]