[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.