CS101 explora as qualidades essenciais dos computadores, como eles funcionam, o que eles podem e não podem fazer, e não requer nenhum fundo de computador: Obrigado ao Nick Parlante pelos seus materiais. De Nick: “Obrigado ao Google por apoiar a minha pesquisa inicial que ajudou a criar esta aula. Graças a Mark Guzdial que popularizou a idéia de usar mídias digitais para introduzir computadores”
Equação Fundamental dos Computadores
A equação fundamental dos computadores é:
Computador = Poderoso + Estúpido
- Poderoso o suficiente para olhar através das massas de um dado
-Bilhões de “operações” por segundo - Estúpido porque cada operação é simples e mecânica.
-Nada como “insight” ou “pensamento” (vídeo HAL 9000) - Poderoso + Estúpido … sairá em nossos exercícios
- Por que os computadores são úteis apesar de sua limitação?
- É disso que se trata o CS101
-Visitar este mundo engraçado do computador, ver como funciona
-Saber compreender o que eles podem fazer e como os humanos os utilizam
-Não se deixe intimidar - Agenda escondida: olhos abertos para alguns, mais cursos de informática
>
>
Os computadores são muito poderosos para olhar através de grandes quantidades de dados rapidamente. Os computadores podem literalmente realizar bilhões de operações por segundo. No entanto, as “operações” individuais que os computadores podem realizar são extremamente simples e mecânicas, nada como um pensamento ou insight humano. As “operações” típicas incluem a comparação de dois números ou a adição de dois números em conjunto.
Então, embora os computadores sejam rápidos no que fazem, as operações que eles podem fazer são extremamente rígidas, simples e mecânicas. Ou dito de outra forma, os computadores não são como o HAL 9000 do filme 2001: A Space Odyssey: HAL 9000 vídeo.
Um takeaway chave é que um computador não age como um cérebro humano. O computador é uma ferramenta mecânica que pode fazer coisas incríveis, mas requer um humano para lhe dizer o que fazer.
Alto nível – Como funciona um computador?
- O computador segue uma série de instruções de “código”
- Cada instrução é simples (por exemplo adicionar 2 números)
- O computador “corre” uma longa série de instruções
- Pura e mecanicamente
>
>
>
>
>
Os computadores são muito úteis
>
- >
- Pense em todos os recursos úteis do computador (telefone, câmera)
-Mensagens, e-mail
-MP3 áudio
Redução de olhos vermelhos - Se os computadores são tão estúpidos…. como eles são tão úteis?
- O que liga os dois lados?
>
Programadores
- Programadores aproveitam o poder de um computador!
- O programador pensa numa funcionalidade útil
Requer criatividade, visão das necessidades humanas, e conhecimento de computadores - Programadores quebram os passos, escrevendo código para o computador
– Dumbs it down for the computer! - Melhores características de ambos os lados: processamento barato/rápido do computador + visão criativa do programador
- CS101 explorações: algoritmos e código
>
>
Posto que os computadores são totalmente mecânicos e estúpidos, porque são tão omnipresentes? O espaço entre o computador e fazer algo útil é onde o programador humano cria soluções. A programação requer que uma pessoa seja criativa e tenha uma visão sobre um problema, bem como a capacidade de decompor a solução em instruções que um computador pode seguir.
Código refere-se à linguagem que o computador pode compreender. Para estas palestras, vamos escrever e executar pequenos trechos de código para entender quais as qualidades essenciais dos computadores, e especialmente seus pontos fortes e limitações.
Experimentando com código, a natureza dos computadores vai passar muito claramente … poderosos à sua própria maneira, mas com uma qualidade limitada, mecânica. IMHO, esta natureza mista de computadores é algo que todos devem entender a fim de usá-los bem e não se deixar intimidar por eles.
Antes da codificação – Paciência
- Comecemos com alguma codificação simples abaixo
- Código é como tijolos de lego…
- -Peças individuais são super simples
- -Construir geneticamente grandes combinações
- Mas temos de começar com pequenas
>
>
>
>
>
Sombra
>
Em poucas horas de aula, vamos fazer efeitos especiais com imagens como as seguintes:
> >
Mas por agora só temos impressão()!
Patience Vamos começar por aprender alguns elementos de programação bem como as diferentes partes de um computador, e mais tarde vamos recombinar esses poucos elementos para resolver muitos problemas. Estes primeiros elementos são simples, por isso não são muito para se verem por si só. Seja paciente, logo vamos juntar esses elementos — como lego bricks — para fazer projetos bem arrumados.
Javascript Computer Langauge
- Javascript code mais algumas extensões apenas para CS101
- Nossas frases de código são pequenas…
- – Apenas grande o suficiente para experimentar ideias chave
- -Não cheio, programas profissionais
- -Mas grande o suficiente para mostrar os verdadeiros desafios da codificação
Para esta aula, vamos usar uma variante da linguagem conhecida como Javascript, com algumas funcionalidades adicionadas para este curso. A linguagem Javascript funciona no web browser, por isso todas as nossas experiências podem viver directamente no browser, sem mais nada necessário. Usaremos apenas as partes do Javascript necessárias para as nossas experiências, não a linguagem completa que se veria usando o Javascript profissionalmente. Dito isto, o Javascript é uma linguagem real, e o nosso código é código real. Nossos pequenos programas mostram as características importantes do código, mantendo as coisas rápidas e pequenas.
Primeiro Código Exemplo – Imprimir
Aqui está o código que chama a função “imprimir”. Clique no botão Executar abaixo, e o seu computador irá executar este código, e a saída do código aparecerá à direita.
- Executar executa cada linha uma vez, correndo de cima para baixo
- print é uma função, um verbo que representa uma acção que o computador irá tomar.
- Dados dentro dos parênteses são passados para a função de impressão (substantivos)
-estes dados são o objeto do “verbo”
-Dados são chamados de argumentos da função - Valores múltiplos são separados por vírgulas
- Experimentos mudam o código e rodam após cada mudança veja a nova saída:
-Mudar um número
Adicionar mais números separados por vírgulas dentro da impressão(….)
-Copiar a primeira linha, e colá-la duas vezes após a última linha
-Prometo que a saída vai ficar mais interessante! - -Sintaxe estreita não livre
-Sintaxe fina é super rigorosa e estreita
-e.g. não pode deixar de fora o parêntese certo )
-Deflexo da natureza interna, mecânica do computador
-Não seja adiada – “Quando em Roma….”
– Estamos visitando o mundo do computador - Nota esta “impressão” não é uma parte normal do Javascript, eu adicionei para CS101
Print And Strings
- Um comentário começa com // e se estende até o final da linha. Uma maneira de escrever notas sobre o código, ignoradas pelo computador.
Por que os programadores podem usar comentários? - Uma string é uma sequência de caracteres escritos entre aspas para serem usados como dados dentro do código
-e.g. “olá” ou “123”
-Cordas funcionam com a função imprimir, além de números
-Cordas no texto armazenado no computador, como urls ou o texto de parágrafos, etc. - Experimentos:
-Editar o texto dentro de uma string
Adicionar mais cordas separadas por vírgulas
Adicionar a string “imprimir” – complicado!
-Inside the quote marks is just data - Code = instruções que são executadas
- Data = números ou strings; tratado pelo código
Nota que print é reconhecida como uma função no código vs. a string “hello” que é apenas dados passivos (como verbos e substantivos). Os comentários podem ser usados para remover temporariamente uma linha de código — “comentando” o código colocando um “//” à sua esquerda.
Pensando sobre sintaxe e erros (a mensagem chave de hoje!)
- Sintaxe — o código está estruturado para o computador
- Muito erro comum — digite o código, com leve problema de sintaxe
- Profissionais programadores fazem esse tipo de “erro” o tempo todo
- Felizmente, muito fácil de corrigir … não se preocupe com isso
- Não reflexo de alguma falha no programador
- Apenas a natureza da digitação de idéias na linguagem mecânica do computador
- Os iniciantes podem ser descarrilados por passo de sintaxe, pensando que estão cometendo algum grande erro
- Tente fazer um monte de erros de sintaxe típicos e corrigi-los
- Fixar esses pequenos erros é um passo pequeno e normal
- Nota: Firefox dá-lhe as melhores mensagens de erro
Sintaxe A sintaxe mostrada acima deve ser rigidamente seguida ou o código não funcionará: nome da função, parênteses, cada string tem aspas de abertura e fechamento, vírgulas separando valores para uma chamada de função.
A rigidez da sintaxe é um reflexo das limitações dos computadores, uma vez que sua linguagem natural é fixa e mecânica. Isto é importante para absorver quando se trabalha com computadores, e eu acho que é aqui que muitas pessoas se descarrilam ao começar a trabalhar com computadores. Você escreve algo que qualquer humano poderia entender, mas o computador só consegue entender o código onde ele se encaixa na sintaxe mecânica do computador.
Erros de sintaxe triviais e superficiais são muito comuns quando se escreve código. Os programadores mais experientes da Terra cometem esse tipo de erro o tempo todo e não pensam nada sobre isso. Os erros de sintaxe não refletem alguma estratégia defeituosa do autor. É apenas um passo natural na tradução dos nossos pensamentos para a linguagem mais mecânica do computador. Como veremos abaixo, corrigir esses erros é muito rápido.
É importante não ser descarrilado por esses pequenos casos de erro superficial. Para ajudá-lo a ensinar os padrões, abaixo temos muitos exemplos mostrando erros típicos, para que você possa ver como são as mensagens de erro e ver como consertá-los. Para cada trecho de código abaixo, qual é o erro? Às vezes a mensagem de erro gerada pelo computador aponta para o problema com precisão, mas às vezes a mensagem de erro apenas revela que o erro confundiu tão profundamente o computador que ele não pode criar uma mensagem de erro precisa. O Firefox actualmente produz as mensagens de erro mais úteis e muitas vezes diz-lhe a linha específica com problemas.
Exemplos de erros de sintaxe
Estes problemas de sintaxe são rápidos de corrigir.