[Powered by Google Translate] [Reprodução de música] DAVID J. MALAN: Este é CS50. Então, eu estava onde você está agora, há alguns anos. E quando eu era calouro na época, eu não estava realmente em este caminho de fazer ciência da computação, engenharia de fazer. Na verdade, eu vim a este lugar como um concentrador de governo. Eu estava, na escola, um garoto que gostava de coisas como história. Eu gostei direito constitucional, tipo de Inglês e matemática. É como uma espécie de bem-arredondado, mas não o fez necessariamente conhecer as coisas que eu não tinha sido ensinados na escola. E assim o primeiro ano, eu tinha esse medo em que mesmo embora eu gostava de computadores, jogado jogos de computador e os gosto, eu certamente nunca pensei em mim como um pessoa computador, um cientista da computação. E, francamente, eu pensei que meus amigos na escola que estavam tomando ciência da computação foram pouco de um geeks. E ainda assim, quando eu cheguei aqui no campus, houve Neste curso, CS50. E na época, que tinha a reputação de ser realmente algo para tomar cuidado. Foi um bom curso. Foi um curso divertido. Mas você tinha que começar realmente que o pé na porta. E mesmo que eu não cruzar essa primeiro ano limite. E eu segui meu caminho de ser um concentrador de governo, indo através como muitos dos pré-requisitos como eu poderia, cross-contando coisas para gen ed ou núcleo e similares. E então, no segundo ano, por alguma razão, eu tenho o coragem de pisar no Centro de Ciência B, onde foi CS50. Um cientista da computação muito famoso com o nome de Brian Kernighan estava ensinando aqui que ano. E mesmo assim, eu só estava disposta a realmente preencher meu cartão de estudo, tendo esta classe de aprovação / reprovação. Eu olhei em torno de mim e eu achei todos neste de um tenho que saber mais sobre como a ciência da computação, cerca de programação, sobre computadores. Todo mundo deve ser a programação, nesta sala, uma vez que eles eram 12. Mas, de fato, que não foi o caso. E assim, o último dia, quinta a segunda-feira do semestre, eu dar esse salto e mudar de aprovação / reprovação a um classe da letra e acabou mudando a minha concentração que mesmo dia para a ciência da computação. Agora, isso não é o nosso objetivo nesta classe, para transformá-lo todos em ciência da computação concentradores, mas realmente para propor que há uma oportunidade nesta área e em outros campos com os quais você pode ser bastante familiarizado dado que escolas costumam seguir uma bastante percurso curricular padrão, mas se aventurar em, no CS50, em novas águas. E se você está sentado aqui hoje pensando que você não realmente pertencem, assim como a maioria das pessoas à sua direita e à sua esquerda. De fato, no ano passado, 76% dos alunos desta classe não tinha experiência anterior. Assim, ao contrário do que se poderia pensar, a maioria das pessoas sentado aqui hoje não, de fato, ter qualquer prévia experiência. 18% tiveram uma classe CS e 6% tomaram dois ou mais. Enquanto isso, pedimos aos nossos alunos todos os anos para descrever se em termos de nível de conforto. E não há uma definição deste. Você só tipo de saber que se você não está muito confortável em CS50. E no ano passado, tivemos 55% dessa fatia de torta verde aqui auto-descrição como menos confortáveis, os alunos que francamente não tinha idéia de por que eles mesmo comprei o curso de no primeiro dia. Mas os 55% mesmo permaneceu conosco até o final do prazo, como fez 35% que estavam em algum lugar entre os mais confortável e os menos confortável. Então, o que é a informática? Bem na escola, e, realmente, mais geralmente fora lá estes dias, não há essa percepção ou esta equívoco ciência da computação que é a programação. E isso é absolutamente um aspecto de ciência da computação. Mas a programação, qualquer que seja a língua é, é realmente apenas um ferramenta que cientistas da computação usam para resolver problemas, ou no domínio da ciência da computação ou cada vez mais estes dia nas ciências físicas, nas ciências naturais, em medicina, em ciências humanas, para analisar grandes conjuntos de dados. Em qualquer lugar agora há computador e dados, há uma oportunidade de aplicar as lições aprendidas em uma classe como CS50. Então, vamos resolver um problema que um cientista da computação pode ir sobre a resolução e tentar colocar um pouco de jargão, coloque um pouco estrutura conceitual, em torno do que de outra forma poderiam ser algum bastante idéia abstrata. Portanto, este é um telefone. Você não vê essas coisas com muita freqüência, embora a faculdade ainda parece ter estas nas casas e dormitórios. Mas de volta no dia em que você queria usar um telefone como isso, não havia nenhum livro endereço eletrônico em seu telefone celular. Em vez disso, você puxou-se algo conhecido como uma lista telefônica. E esses livros de telefone tinha cerca de 1.000 páginas, normalmente. Eles foram classificados de A a Z. E você simplesmente tinha de encontrar a página direita para encontrar a pessoa que você está procurando, a fim de encontrar o seu nome e seu número de telefone. Agora, como é que você vai olhar para cima alguém neste livro? Suponha que o meu objetivo é dar o meu amigo, Mike Smith, uma chamada. Bem, como eu faço para encontrar Mike Smith? Bem, uma aproximação muito razoável, se ingênua e ineficiente, seria começar por aqui e começar a lançar para o página 4 página 5 página 6, e tipo de forma linear, ao longo uma linha reta, passar por este livro de telefone. E apesar de que vai ser tedioso, se Mike Smith está neste livro, estou finalmente vai chegar a ele quando eu finalmente virar para a seção S deste livro. Agora, é claro, você não precisa ser um cientista da computação para sei que esta é uma maneira estúpida de resolver este problema. O que seria um ser humano típico fazer? Bem feito. Então você ia virar para o meio, certo. Então você virar aproximadamente ao meio, olha aqui, e me parece para me encontrar na seção M. OK, então M não é claramente o que eu estou procurando. E de Mike para a direita, por assim dizer, desta seção. E como alguns de vocês já viram antes, podemos agora literalmente continuar a rasgar este problema pela metade. [Aplausos] Você realmente não deve ser impressionado. Desmantelá-la a costura não é realmente tão difícil. As pessoas reais fazê-lo desta forma. Mas, até a costura, agora temos dois problemas, cada um dos que é a metade do tamanho. E nós podemos literalmente jogar que metade do problema de distância. Agora nos resta não com 1.000 páginas, mas, digamos, 500. Então agora o que eu faço? Assim, um ser humano típico vai aproximadamente no centro, de novo. E eu me encontrar uma seção R. Assim não chegamos lá. Então, novamente, eu posso rasgar este problema pela metade. [Aplausos] Obrigado. Então agora eu só tenho cerca de 250 páginas. E eu posso fazer isso de novo e de novo e de novo e ir de 125 para cerca de 60 a 30 a 15 e assim por diante. E, finalmente, eu vou ser reduzidos a uma das páginas em S que, se ele está na lista telefônica, Mike Smith deve ser. Agora, isso é, obviamente, um algoritmo bastante razoável, e é um algoritmo de um tempo de uso no presente processo. Mas o que podemos classificar de tirar isso? Bem, a primeira abordagem, corrigir se ingênuo embora Foi, pode ser descrito por esta linha recta. Assim, se no eixo-x aqui dizemos que isto é o tamanho da problema, assim como o eixo x vai para a direita, o problema fica maior. O que significa ser maior no contexto deste problema? Mais páginas do livro de telefone. Há mais alguma coisa que podemos quantificar. No eixo y, do tempo de resolver. Assim como o eixo sobe, presumivelmente leva mais tempo. Assim que a abordagem da primeira linearmente busca da página 1 para dot dot dot página 1000 é um procedimento linear, linear algoritmo ou processo. E podemos descrevê-lo por esta linha reta. Se eu adicionar mais uma página do livro de telefone, que vai, em o pior caso, leva-me mais um flip página para encontrar Mike Smith. Se eu adicionar 100 páginas, 100 a mais flips ou unidades de tempo. Agora, eu posso ser um pouco esperto com isso. Eu não preciso de realmente transformá-lo uma página de cada vez. Eu posso fazer coisas como dois em um momento ou 4 de cada vez. Mas mesmo isso não é tudo que fundamentalmente melhor. Mesmo que seja 2 de cada vez, sim, que tipo de move este linha de baixo um pouco, e isso significa que ele leva menos tempo determinado o mesmo número de páginas. Mas não é fundamentalmente melhor. Mas o que acabamos de fazer, eo que tudo que você faz instintivamente? Você realmente conseguiu um pouco algo como isto, tempo logarítmico, pelo que o problema pode crescer e crescer e crescer mas o custo de resolver este problema, o tempo necessário para resolver o problema, não crescer tão rápido. Esta seria uma curva logarítmica, log de n, em que n é Apenas o tamanho do problema, o número de páginas deste livro de telefone. E o que isso significa em termos reais? Bem, se temos como 500 pessoas nesta sala agora, ou melhor, se temos - metáfora de mistura, não fiz esse exemplo ainda este ano - por isso, se temos 500 páginas do livro de telefone e nós dobrar a 1000, neste modelo mais inteligente de lançar para o meio, quantas lágrimas mais page que é preciso para ir a partir de 500 páginas de 1000? Bem, só uma lágrima página adicional. Se você me entregou um livro de telefone para 2.000 páginas, não é grande coisa. Eu só rasgar um tempo adicional. Assim, em resumo, o tamanho do problema pode crescer muito mais rapidamente do que o custo de realmente resolvê-lo. Agora, este é apenas um algoritmo tal. Há outras que podem ser resolvidos da mesma forma. E então por que não fazemos isso? Se você me agradar, ainda que sem jeito aqui em Sanders, ir à frente, todo mundo, se você pudesse se levantar e no lugar. Como você pode ver na tela aqui, este é um algoritmo, uma processo, um programa de computador se você quiser, a ser executado pelo seres humanos que tem apenas 3 etapas. Nós já estamos no passo 1. Você já se levantou. E agora pensar a si mesmo o número 1. Esse é o seu número atual. Todo mundo aqui é o número 1. Etapa 2, se envolver com alguém em pé, adicionar seus números juntos, e então adotar a soma como seu novo número. Um de vocês deve sentar-se, depois repita. COLUNA 1: 205. DAVID J. MALAN: O que é isso? COLUNA 1: 205. DAVID J. MALAN: OK. SPEAKER 2: Ele tem os outros. DAVID J. MALAN: 205? SPEAKER 3: Yeah. DAVID J. MALAN: OK. 3. SPEAKER 4: 400. SPEAKER 5: 5. 700. DAVID J. MALAN: Tudo bem. Neste ponto, cada vez menos pessoas devem estar de pé. Este é onde fica mais complicado. Alguém aqui. Aqui. A pior parte é que você também tem que fazer muito verbalmente aritmética na frente de centenas de Harvard graduandos. OK. Pouco mais de um bug aqui. Okay. Qual é o seu número? SPEAKER 6: Nine. DAVID J. MALAN: O que é isso? SPEAKER 6: Nine. DAVID J. MALAN: Nine. Okay. Qual é o seu número? COLUNA 7: 179. DAVID J. MALAN: 179? Okay. Bom. Então, 188. Então, vocês podem sentar-se. Qual é o seu número? SPEAKER 8: 118. DAVID J. MALAN: 118. Alguns graduação inteligente começar a fazer as contas. Okay. 118, 188. O que mais temos? SPEAKER 9: 71. DAVID J. MALAN: 71. COLUNA 10: 79. DAVID J. MALAN: 79. Okay. COLUNA 11: 47. DAVID J. MALAN: 47. Que, pessoal docente, que nos dá quantos? 705 é a resposta. E isso é, de fato, exatamente correto. Não, nós estávamos realmente um pouco lá fora. Mas como isso deve ter funcionado? O que deveria ter acontecido? Assim, a cada iteração do algoritmo, que começou com um número de pessoas em pé, e que foi o total de número n em primeiro lugar. Em seguida, a metade de você se sentou, e fomos para mais de 2 n. Em seguida, a metade de você se sentou. Fomos para n mais de 4, n superior a 8, n mais de 16, e assim por diante, até que, mesmo que o tipo de desintegração que no final, em teoria, ter todos emparelhados em sacada e mezanino e orquestra aqui, teríamos apenas um solitário pessoa de pé, com um valor total, neste caso, de 705. Agora, o que isso significa, porém, para o tempo de execução? Bem, se eu pensar sobre como o ser humano tinha feito isso manualmente. Eu teria começado bastante ingenuamente, mas corretamente com 1, 2, 3, 4, 5, 6, 7, 8, e assim por diante. Leva algum tempo. Então eu posso fazer melhor, certo? Na escola, você não apenas contar em queridos. Você conta nos dois. Então, 2, 4, 6, 8, 10, 12. E isso fica muito mais rápido. Mas agora, fundamentalmente, aproveitando o coletivo inteligência de todos nesta sala, podemos alcançar um conter muito mais como esta, em que agora o número do pessoas nesta sala pode dobrar. Mais 700 pessoas entram este espaço para 1.400 pessoas, mas isso só nos leva mais uma iteração do algoritmo para resolver. E assim, cada vez mais nos dias de hoje, quando temos estes enorme conjuntos de dados no Facebook e Google e similares, é resolução de problemas com um pouco de discernimento, este bocado de esperteza, que está permitindo-nos cada vez mais para fazer muito, muito coisas mais poderosas com os computadores de hoje. Se você gosta desse tipo de coisa, você pode ter visto em Dia Facebook CS50 do próprio enigma chegando neste sábado. Se você gostaria de participar em algo como este pelo qual você, em 2 ou 3 ou 4 equipes de 4, gostaria de resolver alguns enigmas como este, você tem uma chance para ganhar alguns prémios fabulosos, entre os quais está um Wii e alguns cartões de presente ou alguns ganhos Facebook outro. Este sábado, meio-dia às 03:00, vá para cs50.net/rsvp para tal. E este slide é online, se você gostaria de brincar. Os problemas deste ano devem ser novos. Você pode notar na sala de aula, também, tudo o mais câmeras este ano. Assim, não só o curso ser filmado da maneira usual, CS50 também podem tomar parte em um documentário sobre a maior educação que está a olhar para a experiência transformadora que um aluno pode ter estes dias em uma graduação curso do estudo. Então, para esses, então, não só estaremos filmando para que, estaremos filmando, bem como para cada vez mais a nossa audiência on-line, bem como em algumas ocasiões esta audiência aqui. Assim, congratulamo-nos com a classe este ano a nossa Harvard Alunos da Escola de Extensão, Escola Superior de Design, Educação, da escola de negócios, a Escola Kennedy, a faculdade de direito, bem como um número de alunos de Belmont, Lexington, Newton, e as escolas Watertown elevados. Bem-vindo a todos vocês. Além disso, este ano, você pode ter ouvido, Harvard e MIT, e Berkeley agora, entraram em uma colaboração parceria, uma iniciativa chamada EDX, que é um iniciativa de abrir-se a educação a todos os mais pessoas on-line e, fundamentalmente, começar a fazer pesquisa em uma escala muito mais ampla de como as pessoas aprendem. E assim CS50 será primeiro curso da faculdade participando de que a iniciativa também. O que significa que você terá acesso a todas as ferramentas mais, todo o conteúdo curricular mais, todo o vídeo mais conteúdo, como resultado, também, como da manhã de ontem, o 53.019 pessoas que se inscreveram para tomar junto CS50 com você este ano na Internet. Assim, sem - [Aplausos] Então, o que significa, em particular, é a de que o pessoal docente e passei um pouco de tempo, esta Verão preparar para a queda, tanto no campus e fora, assim que podemos começar a construir um corpus de interessante, de convincente, de se engajar conteúdo educacional que concentra-se, em particular, em que os veículos mais íntimas de material razoavelmente complexo. Assim, além de palestras do curso e seções e coisas chamadas orientações, o que nós vamos revisitar em apenas um pouco, também teremos esses shorts este ano, que permitem você se envolver com o curso de um ângulo diferente completamente. Então, vamos usar isso como uma oportunidade para dar uma rápida uma espiada no que discute a noção de binários. Assim, em ciência da computação, há coisas chamadas algoritmos - dois dos quais nós só deu uma olhada - estes procedimentos para resolução de problemas. Contudo, no final do dia, é necessário representar a informação de alguma forma. E você precisa para representá-lo de uma maneira que um computador pode entender. E mesmo se você realmente não entendo computadores e você está em que 76% agora, você provavelmente tem algum vaga sentido de que os computadores de alguma forma lidar em 0s e 1s, o binário sistema, por assim dizer. Agora, por que é que o caso? Bem, acontece que quando os computadores surgiu a primeira, se você precisava para representar as informações, você poderia fazê-lo com eletricidade. E, embora este é um pouco de uma simplificação, uma muito maneira fácil de informações de gravação ou é por transformar essa energia em - 1 em binário, por assim dizer - ou virar que a eletricidade fora. Então, se Barry, se você não se importa, poderíamos diminuir as luzes totalmente apenas por um momento? Isso aqui é um 0 binário muito gratuita. Se ligar as luzes de volta, agora Sanders Theatre é que representa o valor binário 1. Infelizmente, com apenas um bit, com apenas um conjunto de luzes, só podemos representar dois números de mundo, 0 e 1. E seria bom se os computadores pudessem contar um pouco maior do que isso. Mas na verdade eles podem. Então deixe-me puxar para cima na tela aqui o nosso amigo Nate Hardison que vai nos dar uma olhada rápida ao longo de apenas alguns minutos, a esta noção de binário. [REPRODUÇÃO] NATE Hardison: Back quando você aprendeu a ler e escrever números, você aprendeu sobre os dígitos de 0 a 9. Para escrever números inteiros maiores do que 9, você aprendeu que tudo você tinha que fazer era usar alguma combinação desses dígitos, como em 52 e 437. Assim, esta forma de escrever números tem um notação nome, decimal. Por decimal? Bem, a raiz latina de uma decimal, Dezem, significa 10. E quando você tem 10 dígitos no seu sistema de notação, 10 torna-se um número bastante especial. Vamos olhar para o número 437 escrito em notação decimal para entender o porquê. Podemos quebrar primeiro 437 em 400 mais 30 mais 7. Nós podemos desmontá-lo ainda mais, de modo que temos quatro vezes 100 mais 3 vezes 10, mais de 7 vezes 1. Lembre-se de aprender sobre esses lugar, o lugar de dezenas, casa das centenas, e assim por diante? Este é exatamente onde isso vem. E, finalmente, podemos ver que temos um grupo de potências de 10 incorporado aqui. Temos 4 vezes 10 elevado a 2 mais 3 vezes 10 elevado a 1 mais 7 vezes 10 elevado a 0. Então agora você vê porque 10 é um especial número de notação decimal. Na verdade, temos um nome para ele. É chamado de base, já que é a base do expoente em nossa aritmética aqui. Notação decimal não é a única maneira de representar números. De fato, mesmo se livrar dos dois dígitos a 9, podemos ainda representam todos os números que podíamos com decimal. Portanto, agora temos dois dígitos, 0 e 1, 2 é o nosso especial número, a base do nosso sistema de notação. O nome deste sistema é chamado notação binária desde o prefixo "bi" significa dois. Então, ao invés de ter agora um lugar e as dezenas lugar e assim por diante, agora temos um lugar queridos, um lugar dois, um fours lugar, e assim por diante, vai-se por potências de 2. Então vamos ver isso fazendo algum contagem. Assim, 0 é ainda 0, e 1 é ainda 1. No entanto, agora que temos um lugar duplas em vez das dezenas lugar, 10 representa o número 2. Para obter 3, adicionar um para que e obter 11. 4, já que agora há um lugar quatro, é representado por 100. Cinco é 101. 6 é 110. 7 é 111. 8, mais uma vez, tem o seu próprio lugar. Então é 1000. E eu acho que você começa o ponto. [REPRODUÇÃO FIM] DAVID J. MALAN: Então, isso é, o que os computadores fazem e o binário é que não é realmente muito diferente do que temos tomado para concedido por alguns anos, certo? Você acha que a escola primária, aprendeu a contar precisamente na a moda que Nate proposto. Mas provavelmente você não tenha pensado nisso, pois, o fato de que há esse lugar queridos, dezenas lugar, e centenas lugar. E isso é muito arbitrária. E, de fato, os computadores simplesmente usar esta base diferente. Contudo, no final do dia, para representar fisicamente esta noção de 0 e 1, você obviamente não é só virar a luzes e desligar necessariamente. Você precisa fazê-lo em uma escala muito mais refinado. E, por mais refinado, você pode se lembrar esta bobagem brinquedo da infância, Willy Woolly e estes pouco partículas magnéticas. Então partículas magnéticas são algo que você pode alinhar em um par de diferentes direções, talvez norte-sul ou sul-norte. E assim uma série de encarnações físicas de tecnologia estes dias que usam binário, que usam 0s e 1s, simplesmente têm magnetismo no interior que alinha as coisas, de cima para baixo ou estabelece-se, assim, com o que representa um 0 ou um 1, respectivamente. Então, na verdade, vamos afastar-se o resumo aqui e olhar para o interior do que é uma mais tradicional disco rígido do computador. Este passa a ser um pouco maior na tela em que é de um computador desktop. Mas os laptops de hoje ainda têm a mesma tecnologia, mas é sendo gradualmente substituídos por coisas mais sofisticadas que realmente sem partes móveis. O interior, então, de um disco rígido. [REPRODUÇÃO] COLUNA 12: O disco rígido é onde o PC armazena a maioria dos seus dados permanentes. Para isso, os dados viajam de RAM juntamente com o software sinais que dizem o disco rígido como armazenar os dados. Os circuitos de disco rígido traduzir esses sinais em flutuações de tensão. Estes, por sua vez controlam partes móveis do disco rígido, alguns dos poucas partes móveis deixados no computador moderno. Alguns dos sinais de controlo de um motor que gira metal-revestidos Platters. Seus dados são realmente armazenados nestes discos. Outros sinais mover a cabeça de leitura e escrita para ler ou escrever dados sobre os pratos. Esta máquina é tão precisa que um cabelo humano não poderia mesmo passar entre as cabeças e pratos giratórios. No entanto, tudo funciona a velocidades incríveis. [REPRODUÇÃO FIM] DAVID J. MALAN: Então, se nós agora ampliar o que está realmente ocorrendo no topo dessas travessas em termos da magnetismo, temos este segundo de dois olhares. [REPRODUÇÃO] COLUNA 13: Vamos olhar para o que acabamos de ver em câmera lenta. Quando um breve pulso de energia é enviado para o leitura e escrita cabeça, ele vira em um eletroímã pequena para um fracção de segundo. O magneto cria um campo que muda a polaridade uma porção diminuta das partículas de metal que revestem superfície de cada prato. Uma série padrão destas pequenas áreas carregada no disco representa um único bit de dados do número binário sistema usado pelos computadores. Agora, se a corrente é enviada uma maneira através da leitura e escrita cabeça, a área é polarizada em uma direção. Se a corrente é definido no sentido oposto, o polarização é invertida. Como você obter os dados de um disco rígido? Apenas reverter o processo. Por isso é que as partículas no disco que começa a corrente em a cabeça de leitura e escrita em movimento. Juntos milhões desses segmentos magnetizadas e você tem tenho um arquivo. Agora, as peças de um único arquivo podem ser espalhados por todo pratos de uma unidade, como o tipo de bagunça papéis sobre sua mesa. Assim, um arquivo extra especial mantém o controle de onde está tudo. Você não gostaria de ter algo assim? [REPRODUÇÃO FIM] DAVID J. MALAN: Realmente. Então, nós temos essa capacidade de representar informações, números em um nível muito baixo. Nós temos uma forma física de representar a mesma coisa. Mas não podemos fazer tudo o que de muito interesse ainda à excepção talvez de alguma aritmética e matemática. Nós não temos nenhuma maneira de representar as coisas, até agora, como letras do alfabeto para que nós, os seres humanos podem se comunicar usando estes mesmos dispositivos. Mas, felizmente, existe codificações, padrões de 0s e 1s, que representam construções de nível superior, como a e b e c e frases inteiras e parágrafos e afins. E assim ASCII, que é uma sigla que se refere a esta sistema de codificação no qual um número representa uma carta dada. Por exemplo, o número que se sabe como valor decimal 65 é conhecido como a letra maiúscula de A a computadores. O valor decimal de 97 em computadores é conhecido como um minúsculas um. E o que isso realmente significa? Bem, mesmo que Nate há um momento só contava-se 0-8, se tivéssemos de continuar a contar até 65 ou ainda mais a 97, o padrão de 0s e 1s que ele teria desenhados na tela seria exatamente o que um computador usa para representar a letra A em todas as tampas ou a letra em minúsculo. E, de fato, há um esquema inteiro para isso. Esta é uma, à primeira vista gráfico, esmagadora de codificações, mas se você se concentrar apenas na metade direita aqui, notar nesta coluna do meio temos esta noção de números seguido por letras. E no topo temos 32. E o personagem, char, a que 32, o número inteiro, refere-se é, aparentemente, o personagem Barra de Espaço. Quando você bate o personagem Barra de espaço em seu laptop, bem, o que você realmente está enviando é um número, um padrão de 0s e 1s, um fluxo de eletricidade se você, representando os 0s e 1s que o computador do então interpreta como um caractere de espaço na tela. Um ponto de exclamação é de 33. Aspas é de 34. E se rolar aqui para a direita, vemos que 65 é realmente um, e 97 é de fato um minúsculas. E agora que temos este esquema de codificação, podemos começar de falar as coisas para fora. Na verdade, os computadores normalmente se expressam no padrão unidades não, utilizando um bit individual, o que mais uma vez não é tudo que útil apenas para representar 0 ou 1, luzes acesas ou apagadas, mas sim usando seqüências de bits. E a unidade mais comum de medida, como você deve saber e ou, pelo menos, está implícito, é um byte. Um byte é apenas oito bits, oito 0s ou 1s em uma fileira. Assim, podemos iniciar a grafia coisas. E assim, se pudéssemos, por que não tentar isso um pouco coletivamente aqui. Há oito pessoas nesta sala que estariam dispostos a subir ao palco? Você tem que ser confortável aparecer na câmera, mas você realmente não precisa saber, caso contrário, o que é acontecendo ainda. Eu vejo uma pessoa a ser voluntária aqui. Dois, três, quatro, cinco, seis, sete, e como cerca de oito. Vamos para cima. Então, você está prestes a representar um byte de pessoas. Deixe-me ter você ser o lugar do 128, você lugar a 64, você o 32 é lugar. Mas nós vamos ter muito rapidamente para reverter isso. Então deixe-me conhecer todos vocês lá. E você deve estar no lugar do 128 de todo o caminho até aqui. Muito parecido com o lugar das centenas e milhares seria o lugar ser mais para a esquerda, nós queremos o maior espaço reservado de estar aqui na esquerda também. Temos 32 64s, a 16, a 8'S, 4'S, 2'S, e 1. Excelente. Portanto, agora temos - OK, você pode me ajudar. Portanto, agora temos - o que é o seu nome? JOANNE: Joanne. DAVID J. MALAN: Joanne. Então, Joanne e eu estamos indo agora para aconselhar esses caras de como nós pode ir sobre ortografia algo. Assim, nas costas de suas folhas de papel, eles têm uma cheat sheet pouco que vai dizer-lhes se estavam representando um 0 ou um 1. E por que não, para simplificar, vamos representar por apenas 0 ali sem jeito. Muito bom. Ou um. 1, levantando a mão, o que representa um 1 E vamos ver se não podemos enunciar a quatro caracteres frase aqui. Então, vá em frente, voluntários, e executar uma rodada por levantar a mão se você é um 1 ou mantê-lo para baixo, se você é um 0. Então, agora que temos estes três mãos para cima, o número que, todos os outros, que eles estão realmente representando? OK. 67. Por quê? Bem, sanidade rápido check. 64 lugar, porque é um 1, que é como um 64 vezes mais 1 vezes 2, de modo que é 66 vezes mais 1 1. Isso é mais um, então 67. Então, agora esses caras são coletivamente representam 67 que, aparentemente, representa o que aqui em ASCII? OK. Assim, um c. Tudo bem. Então agora vamos avançar para a segunda rodada. Todo mundo começando com as mãos para baixo. E na segunda rodada - na verdade, não há muito de um papel aqui, eu suponho, mas vamos fingir. Então a segunda rodada, aumentar ou diminuir suas mãos. Tudo bem. Audiência, o que estamos agora expressar é de 83. Então, você poderia fazer a matemática. Mas para qualquer um cuja mão está acima, você adicionar o número que eles representam. Portanto, agora temos 83. Vamos expandir a folha de fraude um pouco, e agora temos -? [Inaudível] DAVID J. MALAN: OK. Isso pode ser óbvio para onde estamos indo aqui, mas no entanto rodada, três. OK. Em volta de três é bom para ir para lá. Assim terceiro round, o número são esses caras agora representando? OK. Ouvi de 53 anos, que agora representa? Interessante. Agora, por que esse tipo de resultado intuitivo contador, certo? Se queremos representar 5 - todos nós provavelmente sabe onde isso vai dar - por que eu não apenas levantar lugar a 4 e coloque a 1 de? Bem, saiba que há uma diferença, fundamentalmente, entre a forma como um computador interpreta esses bits. Se você está tentando representar o número 5, em seguida, de forma absoluta, nós apenas levantar 4 número da mão e levantar mão número 1. Mas não estamos representando números aqui. O contexto aqui no palco é que estamos representando caracteres ou caracteres. E, neste contexto, o computador tem de perceber que, oh, esse padrão de bits não é um número sozinho, é na verdade, o que representa um conceito de nível superior, neste caso, uma letra alfabética. Assim, o facto de ser agora representa o número 5, com o valor de 53 porque a coisa em ASCII nós esteticamente ver como o número 5 em si precisa de um padrão de bits. Por quê? Bem, o mundo só decidiu usar os números mais baixos, 0, 1, 2, 3, para o que parecem ser coisas bastante enigmáticas. E, de fato, estes são os personagens que não estão em um teclado, expressões especiais que você precisa em um computador para fazer coisas interessantes, mas os seres humanos nunca realmente os digita. Assim, de facto representa 53 5. Agora, assim como um teste de sanidade final, o número deve se representar em apenas um momento? AUDIÊNCIA: 48. DAVID J. MALAN: OK. Então, 48. E, de fato, vá em frente. Quarta rodada. 16 mais 32 é, na verdade, 48. E assim, um grande aplauso, se pudéssemos, para o nosso oito voluntários aqui. Obrigado. Você pode manter este. Se você - Muito bem feito. Qualquer direção é bom. Então, agora temos uma forma não só de pensar sobre como representam dados e, na verdade, representando-o fisicamente, mas também fazer de alto nível as coisas em cima dela. Na verdade, este vai ser um tema em todo computador ciência da construção de mais complexo e mais interessante coisas em cima de idéias bastante simples, neste caso apenas 0s e 1s. Em termos de por que isso é útil, bem, embora em um curso como este, vamos nos concentrar em fundamentos e em programação e na resolução de problemas, você pode sair em ciência da computação em qualquer número de instruções. Neste caso aqui, este é um gráfico que você tem no verso do seu guia não-oficial de CS em Harvard, uma das hoje duas impressões. Isto sugere que as muitas direcções diferentes em que você pode ir atrás de um curso como este. Aprender sobre inteligência artificial, sobre gráficos, sobre a aprendizagem de máquina, sobre a própria linguagem. Perceber, também, que existem ainda outros caminhos. Há caminhos mais matemáticas em ciência da computação. Se você não for mesmo capaz de tomar algo como este CS50 cair, há cursos introdutórios na primavera. Computer Science 1, por exemplo, é ainda uma outra rampa de acesso a este novo mundo. Agora, como um aparte, no interesse de resolver problemas relacionado aos cursos, perceber que o conjunto CS50 fora algum tempo atrás para tentar resolver um destes problemas, problema conhecido como my.harvard, que muitos de vocês podem estar usando para realmente compras para cursos. Mas se não, confira uma ferramenta como esta, assim como outras descendentes que alguns dos nossos antigos alunos e equipe criaram. Mas em Cursos de Harvard, que é uma ferramenta baseada na Web - algo que você vai ser capaz de projetar e implantar-se, assim como ainda outros aspectos, bem como, por o fim do semestre. Perceber que esta se baseia em um conjunto de dados aberta, neste caso um catálogo de cursos, e permite que os alunos, neste caso, a explorar um conjunto bastante complexo de dados. Nós cavamos a noite passada algumas estatísticas baseadas em poucos mil pessoas que vêm usando este sobre os últimos dias. Se você foi curioso para saber quantos cursos seus amigos realmente tendem a fazer compras, bem, hoje é dado sugere que 7.6 é o número médio de cursos de lista de alguém de compras. E agora eu vou dar-lhe, também, a estatística das mais número de cursos na lista de alguém de compras. E todos nós provavelmente conhece alguém assim. 201 é recorde este ano. Agora, alguns de nossos ex-alunos e funcionários, na verdade, montar um clipe para pintar um quadro para você do que este caminho da ciência da computação e CS50 em si é. Deixe-me ir em frente e puxe-se, graças ao Sr. Hahvahd aqui, um vídeo produzido por alguns de seus antecessores. Se pudéssemos manter as luzes se para isso. [REPRODUÇÃO] [REPRODUÇÃO FIM] COLUNA 14: (cantando) Levamos nosso tempo com alguns zero, para loops, eventos, podemos combinar, compilar, usando o nosso bash, este termo não será um tédio. Hacking divertido, algumas refeições gratuitas, palestras são simplesmente irreal, nossa feira é um negócio tão grande, há tanta coisa para adorar. Vá, David Malan. Passo a passo, eu não estou fiando. As horas de expediente, ninguém está falhando. Onde você pensa que está de codificação, baby? Hey, eu só conheci você e isso é loucura, mas aqui é a nossa razão. Tome CS50. É difícil para a direita código sem você, baby. Mas aqui está a nossa razão. Tome CS50. Hey, eu só conheci você e isso é loucura, mas aqui é a nossa razão. Tome CS50. E cada empresa estrela quer me contratar, uma outra razão. Tome CS50. Antes que você entrou na minha vida, eu codificado tão ruim, eu codificados, de forma ruim, eu codificado assim, tão ruim. Antes que você entrou na minha vida, eu codificado tão ruim e eu não posso voltar. Tome CS50. DAVID J. MALAN: Eu não tinha idéia de que estava para acontecer. Assim, um olhar mais sério em que está à frente. Assim, em termos das expectativas do curso, você está de fato esperados para participar ou assistir ao curso de palestras, apresentar um conjunto de problemas, tomar dois questionários, apresentar um projeto final. Em termos de graus, perceber que o meu comentário na abertura cerca de aprovação / reprovação, algo que muito tomar para coração de CS50. Não há o suficiente de uma cultura em Harvard de tentar alguma coisa e correr o risco de fracasso. Na verdade, nós tínhamos números de estudantes, e eu, em particular, que estavam preocupados com a ferir seu GPA ou obtenção de um B em algo como CS50. E a oportunidade de fazer um curso como este, e outros cursos de gateway em nível introdutório, passa / falha é uma oportunidade muito subutilizado no colégio, em geral. E por isso, sabe mesmo me inscrevi neste curso inicialmente para aprovação / reprovação de crédito sozinho. E mesmo que eu fiz interruptor no final do dia, foi esses cinco semanas iniciais, até a segunda-feira da quinta semestre, que é o de corte, o que me permitiu realmente colocar o pé para essas novas águas e realmente tentar algo muito estranho e muito desconfortável para mim na época. Portanto, em termos, agora, do papel que os vários ângulos, através do qual você pode abordar este curso servem, portanto palestras, cabe a você se você se envolver com a gente em pessoa neste local. Na verdade, sabemos estatisticamente que cerca de 40% do que você vai tipo de ir e vir ao longo do semestre. E 10% de você, nunca vai ver de novo depois de hoje. E isso é perfeitamente bem, para ser honesto. Uma das características que definem a CS50 é que existem esses recursos inumeráveis, algumas que nós vamos chacoalhar a apenas em um momento, incluindo palestras e seções e as coisas chamado orientações e expediente e afins. E é mais recursos do que o típico estudante deve tem que ou poderia fisicamente aproveitar. Mas isso é por causa dos diferentes estilos de aprendizagem que qualquer corpo discente se manifesta. E assim, em palestras, o papel principal, a meu ver, é não verbalmente empurrar o material bastante complexo e necessariamente entregar todos os meandros da fundamentos que vamos explorar este semestre, mas em vez de fazer as coisas como temos vindo a fazer até agora já, estes exemplos, envolvendo seres humanos no palco, tentando pintar um quadro mental, e também criar, ouso dizer, alguns desses momentos memoráveis. De modo que, mesmo quando você luta com certos temas, você tem essas memórias como, oh, apesar de que foi bastante abstrato, a matemática, eu me perdi com carregando a um, como se na verdade, no fim do dia, não é tão diferente do algo que eu já sei. E assim o papel que servirá de palestras, seja em pessoa aqui em Sanders ou on-line em vídeo, é realmente para definir a encenar mentalmente para você a cada semana para os diversos conceitos e os problemas que nós vamos estar mergulhando. Em termos de conceitos de alto nível, a maioria dessas palavras pode fluir sobre sua cabeça no momento, e isso é bom. Para aqueles de vocês que entram no curso mais confortável vai saber de alguns desses temas. Mas normalmente para que 10% da classe para a qual eles têm fundo muito mais, tendo AP ciência da computação, programação, uma vez que foram 12, perceber que haverá oportunidades em seções e em conjuntos de problema de ir todos os mais em profundidade em vários tópicos, enchimento em qualquer lacunas você pode ter a partir de sua escola ou antes fundo. Em termos de línguas, perceber que o que linguagem que usar em CS50 é em grande parte irrelevante em no final do dia. Nós acontecer para utilizar, em primeiro lugar, uma linguagem chamada C. Para o final do semestre, apresentamos web-centric linguagens como PHP e JavaScript. Mas nós e os outros poderia ensinar um curso como este no mais qualquer linguagem de alto nível moderna. Python e Ruby e outros são bastante populares nos dias de hoje. Porque perceber no final do dia, você não está aprendendo neste C. Claro que você não está aprendendo PHP ou JavaScript. Você está aprendendo a resolver os problemas, seja com base na Web, baseado em computador ou dados orientada si, usando eles simplesmente como ferramentas. Agora, em termos de logística, você vai usar algo, eventualmente, o chamado Appliance CS50. Não importa se você tem um Mac, um PC, um computador Linux, ou semelhantes. Você vai ter o software livremente disponível a partir da próxima semana com que usar o aparelho CS50, um virtual ambiente que você vai usar no seu computador para que você e todos os seus colegas têm um desktop Linux uniforme neste caso. É o conjunto de problemas, porém, em que você vai realmente começar suas mãos sujas no curso. E no final do dia, é o conjunto de problemas, eu acho, que realmente define o de um estudante experiência neste curso. Perceber que muitos dos conjuntos de problemas será lançado em duas edições, uma adição padrão que se espera e incentivar 90% da classe a mergulhar. Mas também liberar alguns conjuntos de problemas em os chamados acréscimos de hackers. E você sabe que é a adição de hacker, porque em todas as páginas com uma marca d'água que diz disso hacker em-lo. E isso é para este demográfica de vocês que têm AP ciência da computação, com 10 anos de programação com o seu cinto e estão olhando para preencher essas lacunas e ter mais formal, em vez de auto-didata, formação, talvez. Compreender que há um grupo demográfico muito substancial do classe que tem precisamente o objectivo de que mesmo. Você terá cinco dias de atraso. Conjuntos de problemas são geralmente devido às quintas-feiras, mas você pode estender cinco desses prazos usando estes coisas chamados dias de atraso. E nós também vamos soltar sua menor pontuação no final do por semestre as indicações do programa. Mas outra característica que define sobre CS50 dos anos tornou-se o horário de expediente. É uma oportunidade que você viu em fotos visualmente um pouco atrás, em que nos reunimos - anteriormente em casa de jantar salas, antes de que no porão da Ciência Centro, e este ano em Annenberg Hall - Quatro noites por semana 20:00 - 23:00, onde você vai ter isso muito muita experiência compartilhada de trabalhar, lutando através, certos problemas, mas com um suporte substancial estrutura no local. Na verdade, a forma como isso vai funcionar é que você vai chegar em Annenberg se você tem alguma pergunta durante a semana, você vai trazer seu laptop, você vai se sentar, comer alguma coisa, e você vai fazer CS50 em discutir, um utilitário baseado na Web que o ensino pessoal tem desenvolvido, que vai permitir que você postar perguntas e ver follow-ups em um fórum de discussão típica sentido, utilizando as etiquetas e semelhantes e auto completar a buscar os dados. Mas você também vai ser capaz de, durante as horas de escritório horas, ter suas perguntas escalado para seres humanos reais. Com efeito, o objectivo é, em última análise, de modo que um, que começa a construir -se, ao longo do semestre corpus de uma espera informação realmente útil, respostas comuns a comum perguntas, para que você mesmo pode resolver problemas e conseguir descolar o mais rapidamente possível, mas ao mesmo tempo ter pessoal docente, geralmente 20 a 30 os bolsistas de ensino e assistentes do curso, na equipe de uma só vez. Nós temos o que é chamado de Greeter CS50 em Annenberg. E quando a gente determinar isso, você sabe o que, a esta pergunta, não podemos realmente responder eficazmente online. Precisamos ver o seu computador. Queremos falar com você um-a-um. De um. Você está realmente lutando e você, por isso, quero falar um-a-um ao lado de alguém, você vai ser enviado ao CS50 Greeter, uma participação companheiro de ensino, literalmente, um iPad que tem os nomes dos alunos de um lado, o corpo docente do nomes, por outro. Nós clique no seu nome, seguido do nome de uma pessoal docente, e sua tela de computador vai começar por favor piscar dizendo ir ver Alice ou vá ver Bob em o quadro de pessoal. E assim, desta forma, seremos capazes de enviar as coisas como eficientemente quanto possível, bem como guiá-lo para soluções de tudo o mais prontamente. Em secções, estas serão oportunidades para mais Hands-on íntimos oportunidades com um dos companheiros de ensino e de 12 a 16 anos ou mais de seus colegas em qual cada semana, vamos ter problemas no conjunto de problemas que pedir uma série de questões conceituais e um número de questões pouco porte de programação que você poderia descobrir em seu próprio país, e você pode trabalhar em seu própria, mas no contexto da secção onde se trabalha através coletivamente alguns desses problemas e ir para onde o conversa diferente nos leva. Além disso, na seção que você vai ter a oportunidade de rever submissões de trabalhos de casa que você fez, seu colegas, às vezes anónimos, sempre através de opt-in se você gostaria de compartilhar o trabalho que você enviou. Então, ele realmente vai ser uma conversa bidirecional, uma oportunidade para rever o seu próprio trabalho de uma forma mais bem sentido dinâmico, ao invés de simplesmente olhar para um PDF ou um impressão e pensar sobre isso por alguns segundos e não necessariamente absorver o feedback que o ensinamento pessoal fornecido. E você vai usar uma ferramenta aqui chamado CS50 Spaces. Para quem não conhece, esta é a linguagem conhecida como C no topo à esquerda, e você vai conhecer esse tempo acabou. Mas este é um utilitário baseado na web que nós vamos usar em seção que permitirá que você e seu 15 ou mais colegas o login com seu companheiro de ensino na frente da sala. Você vai ser capaz de escrever código nesta janela. Você será capaz de conversar eletronicamente, se você não está realmente seção menos naquele momento particular. E companheiro de ensino o seu, quando chega a hora de discutir Alice ou solução de Bob em sala de aula, o companheiro de ensino pode clique em um botão e pronto, o projeto para a tela, o que quer que o aluno tem trabalhado em especial no que ponto no tempo. Portanto, para aqueles de vocês que têm amigos que têm tomado em CS50 o passado, perceber que seções foram significativamente reiniciado este ano para ser ainda mais ativo, ainda mais dinâmico, e realmente uma conversa de duas vias entre o ensino funcionários e alunos. E passo a passo. Portanto, para esses conjuntos de problemas, também oferecemos não só o especificação em si, que é geralmente um bastante detalhada PDF, mas também coisas conhecido como orientações através do qual um membro do corpo docente vai liderar uma sessão semanal que literalmente percorre o conjunto de problemas, dando lhe sugestões e conselhos e pontos de partida e destina-se pedir ao perguntou muito freqüentemente pergunta, por onde eu começo? Bem, você começa a mergulhar ou a especificação de sua própria ou participando ou assistindo a essas orientações. O primeiro passo a passo, de facto, será esta sexta-feira. Eles serão às sextas-feiras, não tanto porque acho que vai ser um tempo popular, mas porque pode filmá-los muito cedo na semana para obtê-los on-line pelo fim de semana, para que você tem tantos dias quanto possível realmente se envolvem em que conteúdo também. Mas mais do que isso em palestra nesta sexta-feira. Agora, no que respeita à estrutura de suporte, o maior estatística significativa é talvez o ensinamento 108 companheiros e assistentes do curso que este Claro tem atualmente. Se alguns de vocês que não têm classes em conflito gostaria se juntar a mim aqui no palco, são esses caras que vão em última análise, realmente definir sua experiência no curso. Eu tinha um monte de companheiros de ensino me ensinando aulas de o dia, e me lembro muito poucos daqueles francamente. Mas até à data, ainda me lembro entre aqueles poucos, meu CS50 TF que realmente me ajudou a responder às perguntas, que realmente ajudou mim quando eu estava lutando, e realmente foi um parceiro nessa experiência de aprender um mundo muito novo. Em um pouco, todos esses caras vão se juntar a você para fora bolo, que é uma tradição de CS50, no transepto da Memorial Hall. Mas permita-me primeiro a apresentá-lo a Nate Hardison, mais uma vez, Rob Bowden, e Tommy MacWilliam, este curso do ano cabeças. Se vocês se juntem a mim aqui no meio. Eles têm tudo preparado algumas observações inspiradas. TOMMY MacWilliam: Eu não preparar nada inspiradora. Mas meu nome é Tommy. Eu sou um sénior na Mather. Estou estudando ciência da computação. Eu estou realmente animado para estar na equipe de hedge e vai através da jornada CS50 com você. O que eu realmente amo sobre CS50 é como ele realmente ensina para pensar sobre os problemas de uma maneira nova. Esta é realmente uma habilidade que vai ser, não importa o valor inestimável o que você entrar em campo. E não só isso, mas nós oferecemos mais doce livre do que qualquer outro curso no campus. Sim, e por isso estou muito ansioso para ver o que todos constrói este semestre. E se alguém tem alguma dúvida, agora ou em todo do semestre, definitivamente se sentir livre para chegar a mim e Eu ficaria feliz em ajudar. ROB BOWDEN: Oi. Eu sou Rob Bowden. Eu sou um sênior em Kirkland. Sim, é isso mesmo. Estamos todos muito animado para este próximo semestre. Nós esperamos que você está todo animado. Eu não estava esperando isso. Sim. Então nós colocamos muito esforço em fazer este semestre realmente grande. E enquanto você está disposto a fazer o esforço, não há tanto que você pode sair deste curso. Ah, nós - sim. Você pode ter um monte de diversão fora do curso. Nós não temos uma equipe de 108, se você não pode obter um lote de divertimento fora dele. Assim, apenas tentar ser envolvido e você não vai se arrepender. NATE Hardison: Olá, pessoal. Eu sou Nate. Eu sou o preceptor para o curso. Eu estou realmente animado de estar aqui também. Este é o meu primeiro ano aqui. Espero que todos fazer este curso e se divertir tanto quanto Eu gostei até agora. E se você quiser aprender a contar até 9 ou 10 em binária, venha falar comigo. DAVID J. MALAN: Então, o risco de deixar esses caras aqui na encenar um pouco sem jeito, vamos girar através de apenas alguns dos as coisas que o aguardam antes de adiar para o bolo. O que é que está à frente? Bem, se tivermos um olhar rápido para trás no ano passado, no problema definir 0, seus antecessores mergulhou em uma programação linguagem chamada Scratch, uma linguagem de programação gráfica você vai usar nos primeiros dias do curso a partir deste Sexta-feira para aprender alguns conceitos desconhecidos para alguns de vocês. Mas compreender haverá um aspecto avançada deste para aqueles de vocês com fundo prévio. No problema do ano passado, conjunto 2, os alunos mergulhou na mundo da criptografia, a arte de cifragem ou lutando informação, implementação de programas que os dados criptografados. E na adição de hackers no ano passado que os alunos proceder rachar ou decodificar as senhas em um típico arquivo de computador de senha xe por surgir com algoritmos e heurísticas para a força bruta para descobrir o que alguém está senha em um sistema de computador foi. No ano passado, também, no conjunto de problemas 3, fez implicações alunos - em conjunto de problemas 4 - os alunos fizeram implementar o jogo de Sudoku. E na adição hacker que ano não estudantes apenas implementar como jogar o jogo, mas, na verdade, um solucionador através do qual o computador pode fornecer a você, humano, com dicas por mais rapidamente do que você resolver este problema particular. No conjunto de problemas 5, fizemos forense, esta arte de recuperação de informação que foi acidentalmente ou muito deliberadamente excluído de um computador. No ano passado, o corpo docente e eu dei uma volta em torno do campus tirar fotos de pessoas, lugares e coisas, e depois acidentalmente formatado o cartão de memória em nosso câmera que tinha todas essas fotos. Mas não há problema. Fizemos uma imagem forense do cartão de memória, entregou-o para fora para todos os alunos da classe, e desafiou-os a escrever programas que se recuperaram todos os JPEGs de que o cartão. E isso é realmente um dos nossos conjuntos de problemas favoritos. E eu desenterrado em um e-mail de um de seus antecessores, que foi muito divertido de ler há algum tempo atrás. Ele escreveu - é de Matt - Caro David, ontem meu irmã acidentalmente formatado cartão de sua câmera SD e perdeu pena de um ano de fotos memoráveis. Ela, infelizmente, não é o melhor em fazer backup de seus dados. Mas esta situação me fez lembrar de pset 5, então eu pensei que iria tentar executar o seu cartão SD através do programa recover que eu escrevi todo o caminho de volta em outubro. Então, depois de quatro horas de descobrir como criar um imagem crua do cartão SD formatado - Google provou ser muito prejudicial neste respeito até ironicamente aconteceu de eu vir através de suas instruções em Internet - depois de mexer em torno de alguns dos argumentos do comando, Eu consegui criar a imagem forense. E depois de instalar e configurar o CS50 Aparelho, consegui executar a imagem forense através do meu programar e recuperar todo o 1027 de fotografias de minha irmã. Direito, Matt. Assim, no último year's - [Aplausos] No conjunto do ano passado problema 6, demos aos alunos uma dicionário de 150.000 palavras em inglês e desafiou-os a escrever um corretor ortográfico que respondeu consultas da forma é esta palavra soletrada corretamente ou incorrectamente o mais rápido possível. E em uma base opt-in foram permitiu aos alunos, em seguida desafiar colegas por postar seus resultados, a quantidade de memória RAM que eles usaram, o número de ciclos de CPU ou segundo que eles usaram, para que os alunos foram então classificados no site do curso. Divertir de novo aspecto, puramente opcional, mas grande, em que muitas vezes que um estudante obter a posição número 10 ou assim por diante a placa grande no site, sair para jantar, e em seguida voltar e realizar seu colega de quarto havia apenas afiou no frente dele ou dela na placa grande, assim, derramando outra duas ou três horas apenas para um se o seu companheiro de quarto. Então, estamos ansiosos para algo semelhante este ano também. No conjunto de problemas que nós 7 orientar na direção da web programação, na verdade, a resolução de problemas no sempre ambiente cada vez mais comum de um navegador. Conheça decrescentemente vamos baixar o software em Macs e PCs, mas cada vez que fazemos isso tudo dentro da web. E, de fato no ano passado, cerca de 88% dos projetos finais dos estudantes em do curso foram baseada na web. E aqueles, também, são habilidades que você vai derivar dessa classe até o final do curso. Porque o que o espera no final do curso é a Feira CS50, esta exposição que é baseado na idéia de uma feira de ciências. Mas nesta versão de uma feira de fazer todos os alunos da turma trazem seus laptops e seus amigos e familiares e outros a Noroeste Ciência, um grande edifício no campus, criado seu laptop, comer alguma coisa, obter um pouco de pipoca e bebida, e então expor seus projetos finais para todos os que atendimento que no ano passado cerca de 2.500 participantes numerados do outro lado do campus. E expressões como este e como este não eram incomum na feira. Que antecedeu a feira é o Hackathon CS50, uma oportunidade hop em uma cabeça de transporte de Harvard, da rua para Microsoft às 8:00 PM, e não ir para casa até 07h00. Servimos primeiro jantar às 8:00 PM, segundo jantar em 1:00 AM, e para aqueles que ainda estão de pé às 5:00 da manhã, vamos tratar de panquecas no IHOP. E o Hackathon é uma oportunidade, como mostrado aqui, para mergulhar em seus projetos finais, seja trabalhando em sozinho ou com os amigos em um ambiente colaborativo, onde todo o pessoal docente está a trabalhar bem no noite com uma ampla oferta de Hong Kong comida chinesa. Em 5:00 AM irá imagens como estas ser bastante comum neste ano também. Assim como nós adiar em um momento para o bolo, tenha em mente que 76% das pessoas nesta sala não tem nenhuma experiência prévia. E de acordo com o plano de estudos, o que finalmente importa neste Claro que não é tanto onde você acabar em relação ao seu colegas de classe, mas onde você no fim de semana 11 até em relação ao se na semana 0. Este é CS50.