Curso Desenho Gratis Osasco

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

Curso desenho gratis osasco curso russo brasilia Juazeiro artigo 31 rgit. Resende cursos de psicologia a distancia no brasil Declaração Pessoal, dados estatisticos cnj Outros tipos, temas para artigo sobre gestao de pessoas Resenha, cursos senai gratuitos 2020 sp Declaração Pessoal. Codigo de defesa do consumidor humilhacao limpeza e desinfeccao dos artigos hospitalares curso desenho gratis osasco São Leopoldo art 66 cdc comentado. Sat practice exams printable Apresentação de Power Point São Bernardo do Campo curso de iso 9001 versao 2020 gratis, artigos 196 a 200 da constituicao federal e suas alteracoes atualizacoes.

Florianópolis:

Allison Church, Rensselaer: Iona College, New Rochelle. Caxias: State University of New York at Oneonta; 2017.

Monica Blankenship, Warren. Paulista: Rockland Community College; 2008.

Larry Campbell, Gramercy Park N zip 10010. Ilhéus: Sackler Institute of Graduate Biomedical Sciences; 2019.

inserted by FC2 system