O COMPUTADOR A PAPEL E OS PRINCÍPIOS BÁSICOS
DO FUNCIONAMENTO DE UM COMPUTADOR

Valdemar W. Setzer
Uma palestra/aula do projeto Embaixadores da Matemática

Departamento de Ciência da Computação, IME-USP
www.ime.usp.br/~vwsetzer – esta versão: 2/3/20

AVALIAÇÕES DE PARTICIPANTES

Nesta página encontram-se, em ordem cronológica reversa, transcrições (somente a partir de 16/5/18) das avaliações de participantes desta palestra, conforme escreveram no One-minute paper no fim da mesma, respondendo: [1] Coisa mais importante aprendida; [2] Maior dúvida que ficou; [3] Comentários. As transcrições são literais (sic), inclusive com erros ortográficos e de redação; as partes ilegíveis são anotadas com [?]. Os originais estão à disposição para exame. Ver na Internet o resumo da palestra (com duração, material necessário etc.), o artigo (com mais detalhes do que a aula) e a apresentação em ppt. Quando se trata de alunos e eles anotaram a série em que estão (sempre do ensino médio), elas são anotadas com chaves {...}. Respostas às dúvidas expressadas pelos alunos estão precedidas por RESP.; infelizmente elas têm que ser breves.

6. 28/2/20, na disciplina MAC2166, para alunos do 1° ano de Eng. Naval da Escola Politécnida da USP, Cidade Universitária, São Paulo, dentro do projeto ; info: Prof. Paulo Miranda, pa_semnada_vmbr no gmail (em 2/3/20, apenas as primeiras 30 avaliações da pilha delas)

  1. [1] Tendo em vista que estou iniciando a disciplina, vejo como mais importante a compreensão de que a programação é um processo cujas técnicas buscam facilitar os empenhos e, ao mesmo tempo, é uma oportunidade de explorar um novo "idioma", pois realmente parece ser uma nova gramática a ser desfrutada... [2] Creio ser muito cedo para eu levantar dúvidas consistentes. [3] Gostaria de parabenizar o trabalho do professor. Profissionais - e, acima de tudo, indivíduos humanos - como o dele são motivadores do interesse em aprender, além de proporcionar experiências agregadoras à própria vida. Definitivamente, não foi só introd. à computação que aprendi nesta aula. Forte abraço ao professor, muito sucesso em suas novas iniciativas e projetos. RESP.: De fato, cada linguagem de programação é um 'idioma', mas diferentemente dos idiomas naturais, ela é estritamente formal, pode ser definida matematicamente e não é ambígua.
  2. [1] Os princípios gerais do funcionamento de qualquer computador. [2] Por que os computadores com código binário são mais eficientes que os demais? [3] Gostei muita da "energia" do professor para dar a aula, ao contrário da maioria dos outros professores, você parece realmente querer passar o conhecimento aos alunos. Além disso, gostei muito das pausas no conteúdo para as "filosofadas" e lições de vida. RESP.: Como eu disse na aula, os computadores empregam internamente um código binário não por uma necessidade, mas por uma conveniência técnica. O uso do sistema binário leva a uma maior simplicidade nos circuitos, maior eficiência na velocidade e maior segurança contra falhas (confiabilidade). Um computador poderia ser construído para fazer exatamente a mesma coisa que os binários, desde que usasse um sistema de numeração, como o ternário, quaternário, decimal, etc.
  3. [1] O modo como o sistema computacional funciona. [2] Todas foram solucionadas durante a aula. [3] Professor que cativa os alunos aos estudos, muito didático. Um exemplo de profissional. RESP.: Cuidado, nós vimos o princípio de funcionamento de um computador não no nível dos circuitos eletrônicos, mas no nível das linguagens de máquina, a forma mais básica de representar um programa que o computador pode interpretar e executar.
  4. [1] A ideia básica da programação. [2] Maior dúvida é em relação à parte química responsável pelo armazenamento e leitura de dados. [3] Professor muito dinâmico, simpático e incentivador. RESP.: Note que foi apresentado algo completamente independente dos circuitos dos computadores.
  5. [1] Certas lógicas que ocorrem dentro do computador, como mudar a posição do apontador antes de executar a ação. [2] Como se desenvolveu o código binário dentro da informática? [3] Muito legal a forma de abordar os conteúdos, muito didático e engajador. RESP.: Aparentemente, os antigos egípcios já usavam um código binário desde 2.400 a.C.; as frações eram expressas como a soma de 1/2, 1/4, 1/8 etc. O Ying e Yang dos chineses (sec. IX a.C.) também indicavam algo binário. Na Europa, o código binário foi introduzido por Francis Bacon em 1605, e pelo grande matemático e filósofo Leibniz em 1703, que falou explicitamente de uma aritmética binária usando os dígitos 0 e 1. Mas foi com George Boole em 1804 que a lógica e a álgebra binária se estabeleceram, o que se tornou a base dos computadores digitais.
  6. [1] O quanto a simplicidade é crucial para o funcionamento de sistemas. [2] Se os avanços em Inteligência Artificial que simulam humanos significam que parecemos cada vez mais com uma máquina, se estamos nos tornando números. Mais diretamente sobre o assunto ainda não possuo grande dúvida. [3] Aula excepcional, fiquei muito mais interessado pelo assunto, e além do conteúdo da aula em si, pude aproveitar informações que carregarei para a vida, obrigado. RESP.: A Inteligência Artificial (nome errado, pois não se sabe o que é a inteligência humana; não se pode defini-la) pode ser de grande utilidade. Por exemplo, na robótica, para fazer robôs que limpem centrais nucleares, o que é danoso para seres humanos. Mas o grande problema aparece quando se relega às máquinas decisões que envolvem indivíduos ou grupos sociais. Isso porque computadores não tomam decisões, fazer estritamente escolhas lógicas (como no nosso exemplo do Computador a Papel, a instrução de verificar se o acumulador tinha um número negativo). Somente seres humanos tomam decisões, e em geral elas não são 100% racionais, dependem de sentimentos e de impulsos de vontade.
  7. [1] Como um computador lê um programa. [2] Para que é usado um computador que trabalha com -1, 0 e 1. [3] Muito boa sua didatica, a forma como você prende a atenção é incrível. RESP.: Eu citei que na década de 1960 os poloneses construíram um computador que usava um sistema de numeração ternário, simbolizado por -1, 0 e 1. A utilidade de um tal sistema é exatamente a mesma que os computadores binários.
  8. [1] Todo programa segue uma linha lógica de comandos, um algoritimo, para executar programas. [2] Qual a diferença do python e o C++, pois vejo muitas semelhanças entre eles. [3] Excelente palestra introdutória, abordando o tema de computação com eventos simples, ao invés de abordar com linguagens mais complexas. RESP.: Sim, a linguagem Python herdou muita sintaxe da linguagem C, como por exemplo os 'horroripilantes' símbolos = para indicar uma atribuição de valor (introduzido em 1954 na linguagem FORTRAN) a uma variável, e == para indicar um teste de igualdade de valores.
  9. [1] Computadores são máquinas complexas, mas que são controlados por linguagem simples. RESP.: Sim, as linguagens de programação são extremamente simples se comparadas com as linguagens naturais (as que falamos).
  10. [1] A aula foi importante para aprender a forma lógica que um computador trabalha. [2] Não há dúvidas. [3] Aula muito boa e construtiva.
  11. [1] Funcionamento de um computador por meio do Computador a Papel. [2] Como realmente começar a programar. [3] A espera das aulas práticas. RESP.: Durante a disciplina MAC-2166 você vai aprender a programar. Ainda bem que não sabe isso, pois assim vai aprender de uma maneira correta.
  12. [1] Como um computador funciona. [2] Se a "memoria" não é uma memoria, o que ela e? RESP.: A erradamente chamada 'memória' dos computadores não tem nada a ver com a nossa memória, pois não sabemos como essa última funciona, mas sabemos perfeitamente como as dos computadores funcionam. O nome correto, usado no início da computação, foi "Storage unit", unidade de armazenamento (de dados). Atenção: o que é armazenado nela são sempre números, isto é, instruções e dados. Não informações! Um dado vira informação para quem o recebe, desde que seja 'compreendido'. Computadores não compreendem absolutamente nada, seguem regras matemáticas rígidas.
  13. [1] A organização e metodologia utilizada pelos computadores para a resolução de comandos. [2] A relação entre cada parte do software.
  14. [1] Computadores necessitam de instruções muito detalhadas e precisas. [2] Nenhuma. [3] Aula bem didática e fácil de entender, muito boa.
  15. [1] Computadores utilizam apenas números e os interpretam para executar o programa. [2] O funcionamento do apontador. [3] A aula foi muito boa e despertou interesse na matéria.
  16. [1] Um computador deve ser prático, rápido e "burro". [2] Para aprender computação é necessário aprender a "tradução"/linguagem binária? Como seria uma programação de subtração? [3] Muito interessante a palestra e acredito que posso conseguir marcar ou perguntar sobre sua palestra na minha antiga escola. Obrigado! RESP.: Não, não é necessário saber o código binário, mas para certas aplicações isso pode ser muito útil. Quase todas linguagens de programação aceitam números binários, por exemplo na Python pode-se escrever em um programa, por exemplo, 0b1011 para representar em binário o número 11 decimal. Veja a seção 2.2 Tipos numéricos na minha Folha de Consulta, em
    https://www.ime.usp.br/~vwsetzer/python-opers-funcoes.html
  17. [1] Aprendi à respeito da lógica de funcionamento de computadores. 3. Professor parece o Rogério Skylab. RESP.: Infelizmente não tenho a mínima ideia de quem é esse tal Rogério Skylab.
  18. [1] É mais importante gastar mais tempo para ter um programa bem documentado do que abreviar tudo e se perder no programa. RESP.: Sim, como eu disse, se um programa é muito bem docomentado, descrevendo-se no programa o que cada parte dele faz, é muito mais fácil testá-lo, achar e corrigir erros de programação, e muda-lo posteriormente.
  19. [1] Como ser uma pessoa melhor, parabéns pela palestra! [2] Você pode ser o professor "oficial" da disciplina? 3. Sua preocupação em relação à nossa aprendizagem é muito importante. Continue sendo esse ótimo professor. RESP.: Não, eu apenas substituí o prof. Paulo Miranda nessa primeira aula. Ele certamente é um excelente professor, como todos no meu departamento.
  20. [1] Aprendi o quão fundamental é o entendimento lógico de como funciona o processo de programação, em especial no exemplo do apontador de instruções. Também aprendi a importância de uma boa documentação, mas essencialmente, gostei da explicação sobre o computador se resume a um sistema numérico, isto é, capaz de trabalhar com dados quantitativos. As reflexões que o professor Valdemar nos leva a ter sobre a existência de um aspecto qualitativo, subjetivo, intrínseco em todas as coisas, foi muito legal pois deixa claro sobre a importância de se considerar os dois aspectos do qualitativo e quantitativo, subjetivo e objetivo, pois um entendimento completo das diversas situações e para se realizar uma ciência mais direta. [2] Não entendi bem como se armazenam as informações dos mnemônicos. 3. Gostei bastante do exemplo do conceito puro do 2, que é algo objetivo, independente dos sentidos e não material. Enquanto as mais variadas representações do 2 expressam esse "conteúdo interno" e invisível de forma "material" ("externa"). RESP.: Eu diria 'situações humanas'; quando se trata simplesmente de controlar uma máquina, sem consequências humanas, os computadores são ótimos. Eu apresentei a Linguagem de Montagem do computador virtual HIPO com códigos mnemônicos das instruções. Por exemplo e, vez de escrever uma instrução +1130, a primeira instrução que ocorreu no nosso programa do HIPO, pode-se escrever CEA Zero, significando "Carregue o que está no Endereço (no caso, no endereço 30, isto é, o conteúdo da posição de 'memória' que foi definida como Zero) no Acumulador," conforme o slide 32 (de título 10. Linguagem de montagem) da apresentação em ppt:
    www.ime.usp.br/~vwsetzer/apresentacoes/computador-papel.pps
    Um programa, o Montador (Assembler) deve traduzir os códigos mnemônicos para a linguagem de máquina, bem como os rótulos como o Zero, usados em lugar dos endereços dos dados. Interessante você ter se interessado pela ideia de um conceito puro, sem representação simbólica; isso mostra maturidade intelectual!
  21. [1] Não preciso ter pressa para realizar o que eu quero, há tempo. Como o computador diferencia uma instrução de um dado para armazenamento. [2] Como programar um computador do zero. Fazer com que ele relacione, por exemplo, zero para sim e um para não. Além dos de+ comandos, "sair/fechar/desligar" poderia ser 00, mas como ele saberia? E se o computador recebe instruções como números e realiza comandos a partir de ordens numéricas, existe um limite para a capacidade do PC, porque facilmente o comando ficaria muito extenso. Exemplo, um comando para repetir a letra V para toda entrada X pode ser 000021010010101 e assim, por diante. (Desculpe pela má organização.) [3] Achei o teatrinho confuso, mas uma boa proposta. RESP.: É ótimo você estar no 'zero' da programação, pois vai aprender a fazê-la da melhor maneira possível. A questão do 0 para 'sim' e 1 para 'não' ou vice-versa é uma questão de convenção. Poderia ser uma coisa ou outra. No HIPO, o código de cada instrução está nos dois primeiros dígitos da instrução. No PC de 64 bits (dígitos binários, tamanho das posições de 'memória'), se não me engano 12 bits são usados para o código da instrução mais alguns detalhes, e 52 bits para o endereço do dado. Não entendi a questão do V e do X. Quanto à pressa, realmente é muito importante criar uma calma interior, reservando alguns momentos do dia para isso.
  22. [1] Aprendi como um computador funciona e o por quê ele opera de tal forma, a partir de exemplos simples e didáticos. Ainda, compreendi como é feita uma programação. [2] Gostaria de saber como O matemático Alan Turing desvendou a máquina alemã ENIGMA, em termos computacionais. Qual foi a genialidade dele nesse processo? RESP.: Turing fez uma análise estatística da ocorrência de palavras em alemão, e daí conseguiu quebrar o código da Enigma. Veja meu artigo Alan Turing e a ciência da computação .
  23. [1] Que antes de tudo, apesar da grande capacidade de funções dos computadores e suas complexidades nelas, a sua lógica parte da simplicidade. [2] Onde que surge a instrução para UCP seguir as outras instruções dadas pelo apontador? RESP.: O apontador é atualizado, apontando sempre para a próxima instrução a ser interpretada, depois que a atual sendo interpretada tiver sua execução finalizada. Ele aponta sempre para uma só posição da 'memória'.
  24. [1] A lógica por trás de uma programação mais primitiva que as atuais. [2] No teatro de papel não ficou claro o que era hardware e software. [3] Comentar mais sobre o hardware do computador. RESP.: De fato, eu devia ter chamado a atenção para isso, desculpem! Hardwareé todo o computador a papel, com as pessoas; software são as instruções que foram 'penduradas' nas posições de 'memória'.
  25. [1] O que aprendi de mais importante foi a lógica na qual o computador funciona. Para reconhecer a diferença entre instruções, dados e códigos depende da lógica computacional. [2] Por trás de todo programa há uma matriz que irá localizar e determinar as instruções de comando? [3] A aula foi muito dinâmica e devido a isso foi muito eficaz para compreendermos os assunto. RESP.: Cuidado, aprendemos a lógica do computador a nível dos programas, e não dos circuitos eletrônicos. A matriz que usei foi só uma maneira de organizar a 'memória' do HIPO. Deve-se distinguir as palavras instrução e comando. Instrução aplica-se à linguagem de máquina; comando às linguagens de programação que são (erradamente, em minha opinião) chamadas de 'linguagens de alto nível', como a Python que ilustrei e vocês vão usar na disciplina.
  26. [1] O funcionamento de um computador. [2] Os códigos de instruções usados nos trabalhos serão inventados pelos alunos ou já existem? [3] Gostei muito de sua aula, professor! Comprarei seu livro! RESP.: Vocês não usarão instruções em linguagem de máquina, mas comandos na linguagem Python. Um programa interpreta cada um desses comandos para instruções em linguagem de máquina e executa o que ele especifica, ou todo o programa é traduzido para linguagem de máquina, por um programa chamado de compilador. Depois dessa tradução, o programa é todo executado em linguagem de máquina.
  27. [1] Os princípios da computação e da programação, assim como o funcionamento dos computadores primitivos. [2] Como o computador integra as várias tarefas (quando submetido a múltiplos comandos)? [3] Ótimo professor, muito dedicado e atencioso. RESP.: Um computador só pode executar mais de uma instrução simultaneamente se tiver várias CPUs.
  28. [1] O mais importante foi o princípio do funcionamento de computadores. [2] Como o computador converte os comandos em binários? [3] A dinâmica do computador de papel foi incrivelmente lúdica e esclarecedora. RESP.: Um programa deve fazer a conversão.
  29. [1] O que aprendi de mais importante foi a sequência lógica do funcionamento do computador, pois, para mim, era algo muito abstrato. [2] Senti dificuldade para entender como o computador diferencia dados de instruções. [3] Gostei muito do "computador de papel", com ele ficou muito mais fácil entender o conteúdo da aula. RESP.: Como mostrei na aula, uma posição de 'memória' é usada como instrução se a UCP estiver no estado de reconhecer e interpretar uma instrução naquela posição. Se a instrução usar algum dado em uma posição de 'memória', a UCP vai usar o conteúdo dessa posição como dado, e não como instrução.
  30. [1] Todas as ações executadas pelas máquina são decorrentes de interpretações numéricas. [2] Gostaria de saber se há algum manual de códigos com as funções do HIPO. [3] Foi uma ótima aula, além de nos introduzir aos conceitos iniciais de computação, o professor apresentou diversas reflexões e dicas de saúde. RESP.: Veja meus artigos sobre o HIPO e a apresentação em Power Point, tudo no meu site.

5. 28/2/20, na disciplina MAC2166, para alunos do 1° ano de Eng. Mecânica da Escola Politécnida da USP, Cidade Universitária, São Paulo, dentro do projeto ; info: Prof. Paulo Miranda, pa_semnada_vmbr no gmail (em 1/3/20, apenas as primeiras 20 avaliações da pilha delas)

  1. [1] O funcionamento de um computador básico e sua estrutura. [2] Por enquanto, nenhuma. [3] Aula engraçada e divertida de assistir/participar. Parabéns, professor.
  2. [1] O funcionamento simplificado de um computador de modo teatral, didático e interativo. [2] Como funcionam os comandos de programação que alfabetizam a partir de números. [3] Aula muito abrangente e que permeia diversos tópicos da computação e da vida. RESP.: Como eu mostrei (infelizmente um pouco rápido, por falta de tempo), no HIPO caracteres como letras poderiam ser representadas por meio de dois dígitos, como por exemplo A por 01, B por 02 etc. Cada 'palavra' (posição de 'memória') do HIPO poderia conter até duas letras. As únicas instruções que empregam caracteres seriam a de entrada e de saída de dados. Por exemplo, para uma saída alfabética a instrução poderia ser "Imprima alfabeticamente a partir do endereço EE", e em seguida a essa instrução uma posição de 'memória' com o número de caracteres a ser impresso, por exemplo +0015 para imprimir 15 caracteres. A partir de EE viriam as posições com os caracteres. Os caracteres podem ser algarismos (0 a 9), letras ou caracteres especiais (como ., ;, +, / etc.). Internamente, posições de 'memória' com caracteres são sempre tratados como números. Isso vale para qualquer computador!
  3. [1] O funcionamento do computador. [2] O código entre as diferentes funções das instruções. [3] Dinâmica incrível para depois vir com dados. RESP.: Nessa aula eu usei uma técnica didática que considero fundamental: primeiro os exemplos, depois a teoria. Se um assunto começa com teoria, os alunos não conseguem se identificar com o assunto, pois não sabem para que serve e como aplicar. Em particular, no ensino da matemática, em minha opinião deve-se sempre começar com exemplos, e depois formular as definições e teoremas que provam o que foi treinado e compreendido antes.
  4. [1] Aprendi o funcionamento de um computador e de suas diversas funções que, apesar de amplamente usadas e conhecidas, não são profundamente compreendidas. [2] Algumas dúvidas remanesceram (não sei se óbvias), mas a principal foi: apesar de entender como funcionam alguns comandos, a linguagem e a programação, não consigo conceber como isso ocorre "fisicamente", nos sistemas elétricos e mecânicos da máquina. [3] A apresentação foi excelente e muito efetiva em captar a curiosidade para a computação, alguns pontos que podem melhorar são: a visualização mais clara do computador de papel e a explicação talvez mais detalhada e lenta. Ótima aula, obrigado! RESP.: Todos os computadores usam o sistema binário. Isto é, qualquer número é representado como uma sequência de dígitos binários, como por exemplo 1 com 0001, 2 como 0010, 3 como 0011, 9 como 1001, 15 como 1111 (com mais dígitos binários, podem-se representar números decimais maiores). Os sistemas eletrônicos são baseados em circuitos 'biestáveis' (veja na Internet) que podem justamente estar um de dois estados diferentes, associando-se um 0 a um dos estados e o 1 ao outro estado.
  5. [1] A lógica do funcionamento de um computador. [2] Como se dá o processo físico de funcionamento, a maneira como o código "vira" uma ação. [3] Gostei muito do teatro, além de divertido ajudou muito no entendimento da aula. RESP.: Veja a resposta anterior.
  6. [1] Como funciona a leitura do programa pelo computador. [2] Como funciona o circuito do computador para ele conseguir entender os comandos. [3] Achei muito legal o computador de papel. RESP.: Veja a resposta dois itens atrás.
  7. [1] Como um computador realmente executa suas instruções. [2] Como são representados os números com mais de 4 dígitos na 'memória'. [3] A dinâmica é realmente boa para leigos conseguirem entender o funcionamento de um computador. RESP.: Por uma questão de simplicidade didática, projetei o HIPO (em 1968...) com 'palavras' (posições de 'memória') com um sinal e 4 dígitos decimais. Na verdade, naquela época ele tinha palavras de sinal e 10 dígitos, para ser usado em disciplinas mais avançadas); mais tarde, em 1972, quando inventei o computador a papel, introduzi um HIPO com palavras de 4 dígitos. Os PCs mais recentes têm palavras de 64 dígitos binários, o que equivale a 16 algarismos decimais. No HIPO, poderia haver instruções especiais usando dados com mais de uma palavra, por exemplo "Some com duas palavras o conteúdo da que começa no endereço EE", "Some com 3 palavras ... etc.".
  8. [1] Como instruções e dados são diferenciados pelo computador. [2] Como as instruções interagem com a parte física do computador? [3] Bastante esclarecedor sobre as linguagens e como o computador as interpreta. RESP.: Não sei se a sua turma terá aulas de eletrônica; se tiver, você verá como implementar os números binários usando circuitos com transistores. Mas você pode aprender sozinho, é só procurar na Internet. Se não entender, consulte algum professor da Engenharia de Computação.
  9. [1] Indagar sempre, a fim de buscar conhecer a razão das coisas, e não só permanecer aceitando que determinado fato acontece, sem ter a curiosidade de saber o porquê. [2] Se as linguagens que utilizamos para programar dependem de números e instruções específicas pré-determinadas em um programa de computador, então os primeiros computadores foram projetados/desenvolvidos para atender a essas instruções e números específicos? RESP.: O normal dos seres humanos é ter curiosidade de associar conceitos aos fenômenos observados. Infelizmente as máquinas tornaram-se tão complicadas que as pessoas simplesmente pensam: "Eu nunca vou compreender isso!", e não procuram estudar e compreender. Isso significa um abafamento da curiosidade, e da ânsia de aprender e compreender, o que é péssimo, pois é uma diminuição de uma de nossas características humanas mais importantes. Isso significa a diminuição de nossa humanidade!
  10. [1] Aprendi a arriscar e a tentar, obrigada. Sim, também fui introduzida a teoria da computação. [2] Se algum dia o senhor irá voltar para nos ensinar mais. [3] Obrigada pela oportunidade, fiquei entusiasmada. RESP.: Não se se terei chance de dar aulas para vocês. Mas eu tenho muitas outras palestras para dar (veja em meu site, por exemplo a lista das dadas e programadas, em
    www.ime.usp.br/~vwsetzer/pals/pals-cursos.html
    Se vocês organizarem uma palestra minha, fora do horário de aulas, sobre assuntos matemáticos, computacionais, filosóficos, educacionais ou de atuação ou organização social, estou à disposição. Apenas gostaria que houvesse pelo menos 10 participantes, pois é sempre um esforço bastante grande. Posso inclusive ir à casa de algum de vocês, ou vocês virem na minha, com prazer!
  11. [1] Em uma programação computacional a unidade central de processamento acompanhada do acumulador lê a instrução e antes de realizá-la o apontador é movido para proxima instrução. [2] Porque o apontador é movido para a proxima instrução. [3] Muito boa a palestra. RESP.: Se o apontador fosse movido para a próxima posição de 'memória' logo de pois de uma instrução ser executada, para poder interpretar a próxima instrução, as instruções de desvios não funcionariam, como mostrei na aula (infelizmente, tive que correr um pouco devido ao limite de tempo).
  12. [1] A base do funcionamento de um programa. [2] Por que o apontador não aponta para a função que vai ser interpretada naquele momento? [3] Gostei de seu entusiasmo e da apresentação. RESP.: Veja a resposta anterior.
  13. [1] Aprendi bastante sobre computadores e suas linguagens, como a linguagem das máquinas e Python. [2] Na utilização da linguagem das máquinas, como determinar os espaços entre as palavras e o quão difícil é isso. [3] A palestra foi muito didática e facilitou o entendimento. RESP.: No HIPO, bastaria representar um espaço em branco por um número de dois dígitos, como 00 ou 99 (que não seriam usados para nenhum outro caractere alfabético).
  14. [1] Os primórdios do funcionamento de um computador e como ele interpreta dados e instruções em uma linguagem própria. [2] Qual o limite do funcionamento de um computador se as instruções variam de 00 a 99, 100? [3] Na página 7 do slide o "por que???" deve vir acertado em "quê". O professor Setzer é incrivelmente entusiasmático. RESP.: Obrigado por tentar melhorar minha apresentação em ppt! Mas, infelizmente, trata-se de uma pergunta, e nas perguntas usa-se "Por que..?", assim mesmo. Nas respostas, "Porque...". Agora, quando se diz "o porquê de tal coisa", aí vai com acento, tudo junto. Ou será que estou errado?
  15. [1] Aprendi sobre a lógica de programação, como os números e letras são interpretados pelo computador e a participação de cada componente da máquina na programação. [2] Nenhuma. [3] Muito legal a introdução do assunto com o computador de papel.
  16. [1] Entendi o modo de funcionamento de um programa, como ele interpreta e executa um comando. [2] Não compreendo a função de um programa, para que ele vai servir. [3] Obrigado pelas dicas acadêmicas e de vida. RESP.: Simplificando, um programa pode servir para muitas coisas, como por exemplo o editor de textos que estou usando neste momento. Ou para você enviar mensagens pelo celular. Ou para controlar outras máquinas, como no caso dos carros autônomos.
  17. [2] Qual sua linguagem de programação predileta? O livro "A matemática pode ser interessante ... e linda!" já está disponível fora das editoras e.g. na Internet? Poderia falar um pouco de sua crítica ao materialismo? Qual a alternativa? [3] Sou muito grato a Deus por ter conhecido o senhor. Muito obrigado pelos ensinamentos, dicas e experiências compartilhadas nesse dia. O senhor é uma pessoa realmente inspiradora! Sucesso com o novo livro, sucesso na vida, no universo e tudo o mais! RESP.: Quanto ao meu novo livro, ele está sendo produzido pela Editora Edgard Blücherr, depois que desisti da Editora da USP; não sei quando estará pronto, mas vai haver uma edição também como e-book. Quatno à minha linguagem de progração predileta, não sou programador profissional. Minhas linguagens de programação prediletas eram as que eram voltadas para processamento de bancos de dados, e eram denominadas 'linguagens de 4a. geração'. Eu gostava muito da linguagem do processador de bancos de dados ZIM; não sei se ainda é usado. Gosto das planilhas eletrônicas, que são voltadas para o problema de cálculo e manipulação de tabelas. Quanto ao materialismo, acabei falando um pouquinho sobre ele porque um de vocês viu na minha home page uma seção com o título Espiritualidade, com artigos sobre o assunto, e fez uma pergunta a respeito antes da aula. Em geral eu não abordo esse assunto, pois espero as pessoas fazerem perguntas. Como veio a pergunta, eu disse a vocês que sou espiritualista, isto é, adoto a hipótese de trabalho (não é crença!) que existem fenômenos no universo que não podem ser reduzidos a fenômenos físicos, como a origem da matéria e da energia, os limites do universo e, dentro de nós, os pensamentos, os sentimentos e os impulsos de vontade, além da própria vida. Dei como exemplo o fato de que podemos determinar nosso próximo pensamento, pois se não fosse assim, não conseguiríamos, por exemplo, efetuar à mão uma conta de soma armada. A capacidade de concentrar o pensamento mostra, por vivência pessoal de cada um (isso não pode ser provado, tem que ser experimentado), que temos livre arbítrio no pensar. Ora, da matéria não pode advir livre arbítrio, ela é sujeita inexoravelmente às condições e 'leis' físicas. Isto é, nesse sentido o ser humano deve ter algum membro que transcende a matéria mas consegue interagir com ela (tenho uma teoria de como isso é possível, sem violar 'leis' físicas. Como eu lhes disse muito brevemente, na minha concepção de mundo e na minha vivência o materialismo não se sustenta. Também chamei a atenção para o fato de que a educação de vocês foi e continuará sendo essencialmente materialista. Gostaria ainda de acrescentar o seguinte: cuidado, quase todas as religiões atuais são essencialmente materialistas! A entidade Deus virou mera abstração.
  18. [1] O mais importante do que aprendi foi a forma que o computador opera, que foi encenada no início da aula. [2] A maior dúvida foi como o computador é capaz de reconhecer diversos códigos. [3] A encenação contribui muito para a compreensão do computador. RESP.: Se você se refere aos códigos das instruções em linguagem de máquina (a que fica na 'memória' do computador), esses códigos disparam as ações eletrônicas que executarão o que a instrução indica que deve ser feito.
  19. [1] A filosofia básica do funcionamento de um computador. [2] Como implementar essa lógica em um circuito elétrico, como nos computadores modernos. RESP.: Essa é uma questão interessante, eu abordo isso em outra palestra.
  20. [1] Conceitos da estrutura de funcionamento de um computador. [2] Como o interpretador "pula" posições que não são instruções? [3] Aula muito interessante e informativa. RESP.: Como eu expliquei, é o estado do processador central é que determina se uma posição de 'memória' será interpretada como instrução ou como dado. Se o estado é o de interpretar uma instrução, o conteúdo da posição de 'memória' apontado pelo apontador de instruções é usado como sendo uma instrução; se o estado é o de usar uma posição de 'memória' como dado, por exemplo para uma soma, essa posição será interpretada como dado, e não como instrução. Essa é uma das características fundamentais dos computadores!

4. 30/10/19,

  1. [1] Como o computador faz o processamento dos dados. [2] Não ficou nenhuma dúvida sobre o conteúdo que fora explanado. [3] Gostei da forma como foi iniciada a palestra, de maneira dinâmica e interacional.
  2. [1] Linguagem de Programação em Python. [2] Em qual momento o apontador pode aprezentar defeito, e qual é o problema mais corriqueiro. [3] A palestra foi totalmente explicativa, embora um pouco cansativa. RESP.: Qualquer circuito do computador pode apresentar um defeito; é uma maravilha da técnica que isso ocorre com muito pouca frequência. O problema mais corriqueiro é um erro de programação, isto é, o programa não executa o que foi previsto pelo programador. Muitas vezes o programador corrige vários erros de uma vez, e acaba não sabendo qual deles fez o computador funcionar. Testa-se um programa dando dados de entrada e vendo os resultados. Por exemplo, no nosso programinha poderíamos dar os números 10, 20 e 30 e ver se a soma é realmente 60. Isso prova que o programa funciona para os dados do teste, e não para quaisquer dados. Não é possível provar matematicamente que um programa de um tamanho que não seja mínimo realmente calcula o que se deseja e que para para quaisquer dados de entrada. Isso é assunto de uma outra palestra minha.
  3. [1] A visualização, através do teatro, a lógica de programação. [2] Não ficou dúvida. [3] Gostei do Python.
  4. [1] Que o computador ou maquina não tem memoria. [2] Nenhuma você explica super bem. [3] Porque não tem mais palestras na faculdade como esta.
  5. [1] Como um computador entende os comandos e que ele só entende através de numeros. [2] Não tenho duvida. [3] Muito bom ter essa palestra e entender como tudo iniciou-se. RESP.: Um computador não entende absolutamente nada. É uma máquina puramente sintática, de seguir estritamente regras formais, matemáticas, e não tem semântica, o que seria necessário para um entendimento. Atenção, eu não dei uma palestra sobre história da computação, o que é também importante.
  6. [1] O computador não tem memoria, e que só consegue ler somente em número. [2] Não tenho, gostei da explicação. [3] Gostei da interação com o grupo. RESP.: Os computadores têm unidades de armazenamento de dados: a unidade central, erradamente chamada de 'memória' (errado pois não sabemos como a nossa funciona, e sabe-se muito bem com a do computador funciona), e as unidades periférica, como os discos magnéticos (HDs(. Estes últimos tendem a desaparecer, pois é uma aberração ter-se um dispositivo mecânico no meio de uma máquina puramente eletrônicam fora as unidades de entrada (como o teclado, leitor óptico de barras etc.)m e de saída (como o monitor de vídeo, impressora etc.). Hoje em dia pode-se trocar um HD por uma unidade de armazenamento de estado sólido, como o SSD (também chamado de SSD-HD); o computador fica muitissimamente mais rápido.
  7. [1] Que tudo no computador é número. [2] Nenhuma. [3] Gostei da interação do teatro.
  8. [1] Que tudo no computador é representado por números. [2] Não tive nenhuma. [3] Gostei do teatro.
  9. [1] Como funciona computado e que o computador é só número. [2] Não tenho duvidas. [3] Não tenho nenhum comentário.
  10. [1] Eu aprendi que o computador é uma máquina de matemática que não aceita infinito e números irracionais. Ele funciona com dados/números. [2] Dúvida: A programador pode trabalhar com Python para qualquer coisa sem saber outras linguagens. RESP.: Sim, é possível programar qualquer processamento de dados com a linguagem Python, pois ela é universal.
  11. [1] Aprender o como funciona o computador durante o processamento. [2] Não houve dúvidas. [3] Excelente palestra, muito esclarecedora.
  12. [1] Como funciona o computador. [2] Como o sistema binario pode executar inumeras tarefas. [3] Muito boa a explicação do funcionamento do computador através do "teatro". RESP.: Como eu disse na palestra, os computadores usam o sistema binário simplesmente por uma conveniência tecnológica (simplicidade, eficiência e confiabilidade dos circuitos eletrônicos). Seria possível construir computadores usando qualquer sistema numérico.
  13. [1] A contribuição de von Neumann, que permite colocar programa e dados juntos. [2] Como funciona o computador eletronicamente? Não existe um apontador mecânico, etc. RESP.: Sim, foi devido ao grande matemático John von Neumann que surgiu a ideia de representar instruções e dados exatamente da mesma maneira na 'memória' do computador. Isso permitiu um grande desenvolvimento dos computadores. Veja
    https://pt.wikipedia.org/wiki/Arquitetura_de_von_Neumann
    Quanto ao funcionamento eletrônico, ele é baseado essencialmente em circuitos biestáveis, isto é, que estão sempre um de dois possiveis estados (e assim podem representar 0 em um estado e 1 no outro), e podem ser mudados de estado. Veja
    https://en.wikipedia.org/wiki/Flip-flop_(electronics)
  14. [1] Aprendi o funcionamento básico da programação de baixo nivel. [2] Nenhuma.
  15. [1] Instrução do computador sendo sequencial. [2] Nenhuma dúvida. [3] Alguns alunos - mesmo que sendo verdade - podem se sentir menos motivados em continuar o curso após as palavras do palestrante que o curso não seria de primeira linha. Uma abordagem diferente teria retorno maior em estes mesmos alunos de um "curso não de primeira linha" poderiam indicar a mais pessoas o curso de pós graduação ou mesmo as palestras. RESP.: Desculpem se me expressei mal. Sabendo que a FMU não tem pós-graduação em matemática, o que eu disse é que, se os alunos forem fazer pós-graduação, deviam procurar uma faculdade de primeira linha, pois o último diploma é o que conta. Não emiti juízo sobre o curso da FMU, pois nem o conheço.
  16. [1] Que por mais sofisticados sejam os resultados do computador, as funções básicas dele são sempre simplificadas. [2] Não tenho dúvidas tão pertinentes que mereçam ser citadas. [3] Achei a palestra um pouco longa e também desnecessário o professor dizer de uma maneira meio rude que nosso curso, na nossa faculdade não é de primeira. Faltou um pouco de "tato". RESP.: Ver a resposta anterior.
  17. [1] A sequência de execução das instruções do computador. [2] Sem dúvidas. [3] Gostei e acho válido organizar em auditório de palco.
  18. [1] Aprendi sobre o funcionamento do computador, de forma divertida (com o teatrinho). [2] A humanidade pode levar o uso dos computadores ao extremo, qual seria, na opinião do professor, algo extremo bom e algo extremo ruim. [3] Gostaria de comentar a respeito da "substituição" do homem pela máquina e gostaria de agradecer e parabenizar pelos comentários pertinentes à respeito disso. RESP.: O computador já foi levado a um extremo: os celulares, que permitem o uso do computador e da Internet em qualquer lugar, em qualquer momento, por qualquer idade. Os resultados terríveis disso estão começando a ser reconhecidos; dou palestras alertando sobre os problemas que os computadores causam há mais de 45 anos. Em 1974 dei a primeira disciplina no Brasil sobre impacto social e individual dos computadores. Ultimamente, apareceu o enorme problema causado por sistemas de 'aprendizado' de máquina (nome errado, pois não se sabe como o ser humano aprende). Leia meu artigo
    www.ime.usp.br/~vwsetzer/IA-problemas.pdf
  19. [1] Aprendemos que todo computador é formado por números, até suas letras, escritas, etc. Entendemos também que o computador trata-se de uma máquina "burra" e funciona através de comandos, coletando dados, etc. [2] Não ficou dúvidas pois tudo foi bem explicado e claro. [3] A maneira interativa a qual ele coloca os participantes para interagir com o assunto, o teatro afim de facilitar o entendimento por meio da vivência.
  20. [1] Que é possível explicar a lógica de forma lúdica. [2] Como aplicar isso em sala de aula. [3] Achei bem dinâmica. RESP.: Eu mostrei como aplicar o que dei em sala de aula. Baixe a apresentação, faça a sua, e monte um 'computador a papel'! Leia os artigos que citei. Teste o simulador do HIPO.
  21. [1] O funcionamento do computador. [2] Não ficou dúvidas. [3] Adorei o teatrinho do computador.

3. 30/8/19 palestra dentro da III Feira do Livro da Unidade Escolar, para alunos do ensino médio da Escola Alexandre von Humboldt, Vila Anastácio, São Paulo, SP, info: Profa. Cassia Rodrigues de Jesus crj-sem-nada-cassia atarr hotmail.com

  1. {2} [1] Eu aprendi como um computador realmente funciona na base de números, e como esse processo acontece. [2] Como um computador funciona com vários acumuladores. [3] Simpático e também fiquei lisonjeado por receber um doutor nessa área de conhecimento. RESP.: Com vários acumuladores, hoje chamados de registradores, cada um deles tem que ter um número. Cada instrução em linguagem de máquina que usa um registrador tem que especificar qual registrador deve ser usado (no fundo, é como se fosse o endereço do registrador). O HIPO, como os primeiros computadores, usava apenas um registrador, que antigamente era chamado de acumulador. Na verdade, o acumulador faz parte da unidade aritmética, onde são executados os cálculos (soma, divisão etc.)
  2. {2} [1] Como funciona uma máquina e a codificação da linguagem Python. [2] Nenhuma. [3] Ótima aula, foram as 2 h mais rápidas do ano.
  3. {2} [1] Tudo foi essencial, tudo foi muito importante. [2] Nenhuma. [3] Gostei muito, muito caristmático, engraçado, e explica super bem amei a sua palestra.
  4. {3} [1] Que a linguagem de computador é feita tudo por números. [3] Apresentação foi muito criativa e muito simples de compreender. RESP.: Atenção, a linguagem de máquina é o conjunto de instruções que a unidade central de processamento (os circuitos dela, em um computador real) interpreta. Um programa é uma sequência dessas instruções.
  5. [1] Aprendi a forma de como um programa se reproduz com base nos códigos. [2] Com base nesses códigos, o que podemos fazer de muito interessante e essencial para a vida? [3] Palestra incrivel e muito interessante. RESP.: O computador penetrou em todas as áreas da vida. Quando seus pais recebem uma conta de consumo de água, ela foi gerada por um computador. O celular (smartphone) é um computador. Hoje muitas funções dos automóveis são controladas por um computador.
  6. {2} [1] Eu aprendi que o computador nunca usa letras, usa só números e como o computador faz uma coisa de cada vez. [2] Programar. [3] Ótima palestra, explica brincando e de um jeito facil de entender. RESP.: Nem todas as pessoas se dão bem com a programação de computadores, pois para isso é preciso usar um tipo especial de pensamento, tecnicamente chamado de 'lógico-simbólico, algorítmico'. Acho que todos devem saber o que é um programa, mas não é necessário que todos saibam programar.
  7. [1] Eu aprendi que no computador é importante ter desvio incondicional e condicional e codificações das instruções. [2] Programar. [3] Deu para entender tudo, uma forma de aprender mais rápido e de um jeito simples. Palestra muito boa e engraçada. RESP.: Sim, com aquelas instruções de desvio pode-se repetir um trecho do programa. Foi por isso que o programa exemplificado na palestra era capaz de somar um número qualquer de números com apenas algumas instruções na linguagem de máquina.
  8. [1] Aprendi como um avião voa pelo livro que esta sendo publicado pelo editora de USP do Setzer. [2] Nenhuma, todo o conteúdo foi muito bem explicado.
  9. {1} [1] Como a CPU funciona e como pode ocorrer alguns erros. [2] Como poderia fazer programa de mais complequicidade. [3] Eu adorei a aula e como foi divertida e educativa. RESP.: Quando você estiver no 3° ano, experimente fazer um curso de programação pela Internet.
  10. {3} [1] Como funcionam os computadores. [2] Sobre códigos de máquina. [3] Muito boa apresentação. RESP.: No caso do HIPO, uma instrução é codificada com sua operação (soma, entrada de dados, desvio etc.) e um endereço da uma posição de memória onde deve ser colocado ou copiado um dado.
  11. {1} [1] Entendi um pouco melhor como funciona um programa dentro do computador, detalhes e dicas que eu não sabia, como tudo o que entra no computador é decodificado. [3] Gostei muito da palestra interativa (teatrinho) já que assim, é mais fácil compreender.
  12. [1] Que o computador é burro e precisa de partes á partes para processar, que cada componente tem a sua função para o funcionamento do sistema e tudo dentro do computador tem que virar números formando códigos para cada frase que é codificada vira número. [2] Não ficou nenhuma dúvida. [3] O Senhor explica muito bem.
  13. [1] Aprendi que o computador precisa de muitas coisas e funções para funcionar. [2] Não tive dúvida, compreendi tudo. [3] Gostei muito da apresentação, obrigado!
  14. {2} [1] Como funciona um computador e como funcionam os códigos. [2] Com o computador identifica o que é instrução e o que é cálculo? [3] A parte interativa da palestra foi muito importante para o meu entendimento.
  15. [1] Não importa se o +0000 tem o + ou o – e se você não colocar um numero negativo não funciona. [2] Não tenho, por enquanto. [3] Você apresenta muito bem!!! RESP.: No HIPO, foi convencionado que as instruções começam com + seguido de 4 dígitos decimais, dois para o código da instrução, e dois para um endereço de uma posição de memória. Um dado usado por uma instrução tem sempre um sinal + ou – e 4 digitos e é interpretado como um número positivo ou negativo, respectivamente.
  16. {1} [1] Com a palestra aprendi de forma simples como funciona um computador; qual a função da Unidade Central de Processamento, do Acumulador e apontador; como uma função ou comando funciona e todo o processo desde a entrada até a saída. [2] Não nenhuma.
  17. {2} [1] Algumas pequenas coisas de python. [2] Não sei. [3] Foi muito boa a palestra mas sobre os registradores eu já sabia e a maioria de python tambem.
  18. {2} [1] Que há varias formas de fazer programas diferentes como a mesma quantidade de "momorias". [2] Nenhuma. [3] Gostei do computador humano. RESP.: Talvez você quer dizer que o programa usado na palestra tinha apenas algumas instruções mas resolvia uma quantidade qualquer de problemas de mesma classe (soma de uma lista de números positivos ou nulos).
  19. {1} [1] Aprendi sobre o funcionamento do programa. [2] Entender as instruções. [3] Bom. RESP.: Reveja a apresentação e veja se consegue compreender como funcionam as instruções.
  20. {1} [1] Que se pularmos qualquer etapa da programação o programa não funciona. [2] Nenhuma duvida. [3] O computador humano é muito legal. RESP.: Sim, se no nosso programa tivéssemos pulado uma instrução, ele não calcularia a soma desejada.
  21. {1} [1] Aprendi que o computador tem um sistema que não é somente aparece na tela e sim que tem todo um processo para chegar na tela. [2] Entender o funcionamento do programa, muitos números. [3] Muito bom. RESP.: Reveja a apresentação.
  22. [1] Sobre a linguagem de computação. [2] Nos exercicios. [3] Muito boa a palestra. RESP.: Os exercícios que passei são muito simples, experimente fazê-los executar seus programas no HIPO.
  23. [1] Como funciona o computador internamente. [2] Nenhuma. [3] Achei interessante a parte dinâmica.
  24. {3} [1] Como funciona um programa de computador. [2] Não ficou dúvidas. [3] Palestra produtiva, que acrescentou no meu conhecimento.
  25. [1] De que um computador é só número e que ele é muito burro. [2] Nenhuma, ficou tudo bem claro. [3] Foi bem legal e espero que continue o projeto. RESP.: Sim, todo computador segue cegamente as instruções de um programa. Se ele não fizesse isso e improvisasse, seria imprestável!

2. 7/8/19 para palestra 82 alunos do ensino médio do Colégio Objetivo de Caieiras, Jd. Sto Antonio, Caieiras, SP, dentro do projeto Embaixadores da Matemática do IME, info: profa. Adriane Galrão Marques adriane at_arrob objetivocaieiras.com.br

  1. [1] Que o computador só funciona com números. [2] Como números exprimem formas ou letra. [3] Palestra muito boa, dinâmica e explicativa. RESP.: Como eu mostrei, no HIPO cada letra é representada por dois algarismos decimais, como por exemplo A por 01, B por 02 etc. Se é necessário usar muitas letras formando uma frase, cada posição de "memória" representa duas letras. Uma posição inicial poderia indicar quantas posições seguintes representam a frase. Se por formas você quer dizer imagens, elas são definidas pelos seus pontos, chamados de pixels (que vem do inglês picture element. Na tela, tem-se a impressão de que as imagens são contínuas, mas na verdade são sempre compostas por pontos.
  2. [1] O básico da programação e como computadores funcionam. [2] Se o alfabeto é codificado em dois digitos cada letra e 4 digitos uma sílaba, uma frase é codificada sempre em 4 dígitos? [3] Aula muito interessante, muitos alunos participaram e gostaram! Aprendi bastante.
  3. [1] Que os computadores funcionam com códigos. [2] Como que trava? [3] Aula boa, pelo motivo de ser participativa. RESP.: Em termos do HIPO, ele "travaria" se a Unidade Central de Processamento (CPU, de "Central Processing Unit" fosse decodificar uma instrução cujo código é inválido, por exemplo 00.
  4. [1] Como um computador funciona. [2] Como o computador trava? [3] Achei a aula super importante para o aprendizado de um jovem.
  5. [1] A programar um programa. [2] Como um computador se comunica. RESP.: a entrega de dados ao computador é feita pelas unidades de entrada, como um teclado, um "mouse", microfone etc. Todas essas entradas têm que ser convertidas em números. A saída de dados pode ser feita em uma tela, em uma impressora, um traçador de gráficos, um alto-falante etc.
  6. [1] A complexidade de simples programas e os meios tão simples para o programador fazer. [2] A transição e execuções realizadas pelo CPU. [3] Muito bom, parabéns!!
  7. [1] Como o PC funciona através dos números e da matemática. [2] Por que existem diversas linguagens de codificação? Por que não tornar uma linguagem programacional apenas em um único programa/processador de dados? [3] Compreendi melhor através do teatro, na prática, boa tática. RESP.: Atenção, nós vimos como o computador hipotético HIPO funciona, não o PC, que é muuuuito mais complicado, isto é, sua linguagem de máquina é muito mais complexa. Cada linguagem de programação tem algumas características diferentes. Mas hoje em dia o que mais distingue uma linguagem de outra é o chamado "ambiente de programação", que é uma coleção de funções já programadas que podem ser usadas.
    [1] Que os computadores são complexos e que eles são muito lógicos. [2] Porque esse tipo de aula não existe na escola? [3] Adorei a palestra e achei muito legal, aprendi muito na vida e nos computadores.
  8. [1] Eles mostraram a partir de um "teatro" o funcionamento do computador. [2] Para mim, os endereços confundem muito. [3] Foi uma palestra muito dinâmica, diferente e interessante. RESP.: A noção de endereço de memória é essencial, pois permite que a CPU faça acesso a alguma posição de memória, ou desvie a execução do programa pulando instruções ou voltando para trás a fim de repetir instruções já executadas antes, agora com novos dados. Quem sabe se você ler o artigo que descreve a aula você compreenderá melhor.
  9. [1] Funcionamento lógico do computador. [2] Linguagem Python. [3] Aprendi muito, foi bastante importante para o meu aprendizado. Sobre a linguagem Python, experimente fazer o curso do prof. Fábio Kon no Coursera (grátis se não precisar de certificado).
  10. [1] Como o computador lê informações. [2] Na parte de "linguagem Python". [3] A palestra é realmente muito boa, porem por não experiência não entendia quase nada, porem adorei.
  11. [1] Eu aprendi que o apontador tem que mudar de endereço, antes do CPU executar a tarefa. [2] A minha dúvida foi a linguagem Python. [3] Achei interessante e didático, informações bem importantes a serem aprendidas.
  12. [1] Que o computador trabalha apenas com número. [2] Se o computador trabalha apenas como nós o mandamos, como ele consegue voltar as casas com seus próprio sistema? [3] Achei a palestra ótima, mas a sala não colabora. Espero poder ser sua aluna na USP. RESP.: Não sei se você se refere a repetir instruções já executadas com outros dados; nesse caso, é executada uma instrução de desvio para uma posição de memória onde começam as instruções a serem repetidas. Isso dá ao computador a possibilidade de, com um certo número de instruções, resolver um número qualquer de problemas de mesma classe. No exemplo da aula, o programa calculava a soma de um número qualquer de números, que podem ser diferentes em cada execução.
  13. [1] Entender como o computador interpreta os dados e sua "linguagem". [2] Com a interpretação de dados pode resultar na conversão de energia (como tocar uma música). [3] Gostei muito da palestra. Muito informativa e detalhada. RESO.: Uma onda sonora é partida em pedacinhos de tempo; a intensidade poderia estar em uma posição de memória do hipo, e a frequência na seguinte. Compondo as frequências consegue-se fazer um alto-falante reproduzir qualquer timbre de som ou de voz.
  14. [1] Posições de memoria. [2] Nenhuma. [3] Achei legal.
  15. [1] Como um computador lê informações. [2] Nenhuma. [3] O teatro foi criativo.
  16. [1] Aprendi como tudo funciona, a linguagem Python que é recente e muito útil, aprendi códigos ex: [EE], ACC, muito interessante. [2] Nenhuma. [3] Gostei muito, ele nos diverte, todos temos que passar por essa experiência.
  17. [1] E aprendi como entender a programação dos computadores. [2] Se é muito complicado aprender programações complicadas. [3] A aula muito boa obrigado por nos ensinar. RESP.: Não é complicado, apenas é preciso desenvolver o raciocínio especial que é necessário para programar, e conhecer bem uma certa linguagem de programação e, hoje, principalmente o ambiente de programação, isto é, as funções já programadas e que podem ser reutilizadas.
  18. [1] Sobre as funções do computador. [2] Sobre o que fizemos no teatro sobre o computador de papel. [3] Gostei muito da aula, ótima interação. RESP.: Leia o artigo sobre a aula, quem sabe você vai compreender melhor.
  19. [1] Aprendi que é bem importante saber como tudo sobre o compumtador funciona. [2] Não tive duvidas. [3] Que é bem (muito) legal pra quem quer seguir essa careira.
  20. [1] Como funciona o computador. [2] Nenhuma. [3] Muito bom.
  21. [1] Como um computador funciona. [2] Não tive dúvida. [3] Gostei da palestra, foi bem educativa e intuitiva.
  22. [1] Aprendi que devemos saber como que um computador funciona. [2] Nenhuma. [3] A cada dia que passa, a tecnologia evolui; futuramente tudo será na base da tecnologia e é importante ter conhecimento de como funciona a computação.
  23. [1] Computadores são complexos e funcionam muito bem. [2] Nenhuma. [3] Adorei a palestra e te achei muito fofo, inteligente e um professor excelente.
  24. [1] A coisa mais importante que aprendi foi um maior conhecimento do funcionamento do computador, como as codificações, as linguagem as posições de memória... [2] De acordo com as explicações não tive dúvidas. [3] Foi muito interessante o modo que ele abordou o funcionamento do PC.
  25. [1] Não aprendi nada, esse ramo não e para mim. [2] Não. [3] Muito bom para quem gosta disso.
  26. [1] Noções básicas sobe programação e leitura de dados. [2] Ficaram algumas dúvidas sobre as funcionalidades do computador. [3] Professor divertido que cativa os alunos; aula muito interessante, porém seria melhor aproveitada por quem deseja prestar/trabalhar com programação. RESP.: Estude o artigo.
  27. [1] Que o computador só le por codigos. [2] Não fiquei com nenhuma. [3] Explica muito bem.
  28. [1] Entendi melhor sobre o computador, como funciona etc. [2] Não tive nem uma dúvida. [3] Achei super interessante essa aula.
  29. [1] O funcionamento do computador. [2] O funcionamento do ponteiro. [3] Poderia passar a informação mais rapido. RESP.: Nós vimos o apontador de instruções. Ele contém um endereço, e indica à unidade central de processamento onde está a próxima instrução a ser executada.
  30. [1] O funcionamento logico dos computadores. [3] Interessante o teatro faz com que a percepção seja melhor.

1. 16/5/18 para 80 alunos dos 1º, 2º e 3º anos do ensino médio, no Colégio Albert Sabin, Parque dos Principes, São Paulo, SP, (11) 3712-0713, dentro do projeto Embaixadores da Matemática do IME, info: prof. Dalson Alves de Lima Graça dlima at.arro.ba.albertsabin.com.br

  1. [3] Achei a aula interessante, a dinâmica do teatrinho fez com que eu entendesse melhor o que foi passado. Muito obrigada pela sua presença.
  2. [1] O funcionamento dos computadores e suas linguagens foram as coisas mais importantes que aprendi. [2] Como o computador "entende/interpreta" uma frase e a "transforma" em um código de dois dígitos? [3] Gostei muito da palestra e de saber como funciona um computador. Parabéns. RESP.: Atenção, no teatrinho o Computador a Papel tinha instruções em forma de texto somente por motivos didáticos, para se entender o que cada instrução devia executar. Os computadores não usam esse tipo de instrução, mas codificadas numericamente, análogamente às do HIPO.
  3. [1] Aprendi o funcionamento de linguagens e comandos como o python. [2] Por que são utilizadas a linguagem binárias nos computadores modernos? [3] Foi um prazer participar, já utilizei programas simples e intuitivos como o RPG-maker para a criação de scripts e foi ótimo saber mais sobre. RESP.: O sistema numérico binário, que emprega apenas os símbolos 0 e 1, é usado na linguagem de máquina dos computadores por uma questão de simplicidade, eficácia (isto é, diminuir a possibilidade de alteração espontânea de dados) e velocidade dos circuitos que interpretam e executam as instruções da linguagem de máquina. Qualquer sistema numérico poderia ser usado. Na palestra "Sistemas numéricos. Por que os computadores usam os sistemas binário e hexadecimal?" explico isso em detalhe.
  4. [1] Eu aprendi como os computadores antigos interpretam as informações fornecidas. [2] Como programar em Python? [3] Achei a aula produtiva. RESP.: Cuidado, computadores processam dados, e não informações. Uma informação requer um ser humano que a recebe e a compreende; se ele não compreende, pode ter recebido apenas dados, como um texto em uma língua que não conhece: pode mudar o formato dos caracteres e dos parágrafos etc. Tudo isso é processamento de dados, e não de informações. Veja meu artigo "Dado, Informação, Conhecimento e Competência" em meu site.
  5. [1] Passo a passo da interpretação de dados e processamento de um computador. [2] Felizmente, todas as dúvidas foram respondidas no momento. [3] Aula irreverente e dinâmica e, mesmo com o curto período de apresentação, provou-se adequada. Mesmo assim, acredito que seria melhor que a aula fosse mais longa para haver maior demonstração e detalhamento.
  6. [1] O que eu aprendi de mais é como funciona um computador. [2] Como funciona o código binário. [3] Aula muito boa e interativa. RESP.: O funcionamento do sistema numérico binário é objeto de outra palestra, veja a avaliação 3 acima.
  7. [1] Unidade central de processamento -> todo computador tem. Capacidade do programa é 9999. Codigos numéricos mais #### [quadradinhos]. [3] Gostei muito do professor! Didatica 10. RESP.: O computador virtual HIPO tem "palavras" (isto é, a menor representação que forma uma unidade) de 4 dígitos decimais por uma questão de simplicidade. Ela permite que o código de uma instrução tenha mais do que 10 valores diferentes e que a unidade central de armazenamento tenha 100 palavras.
  8. [1] Aprendi que com um número contado de instruções, o computador é capaz de realizar qualquer tarefa. [2] Não seria mais fácil o comando das instruções ser dado diferente do dos dados? Se sim, por que é igual? [3] Muito boa a dinâmica utilizada para representar o computador e é incrível pensar como ele trabalha. RESP.: Eu contei que a ideia do famoso matemático Von Neumann de representar dados e instruções da linguagem de máquina exatamente da mesma forma deu um enorme avanço nos computadores; eu disse que dessa maneira pode-se ter naquela unidade mais instruções de um ou vários programas e menos dados ou, ao contrário, mais dados e menos programas. É uma questão de flexibilidade e simplicidade.
  9. [1] Processamento, linguagem e propriedades na interpretação de dados em um computador. [2] Ao final da apresentação, não restaram dúvidas sobre o tema. [3] O teatro como introdução foi de excelente contribuição para a compreensão da palestra como um todo.
  10. [1] Funcionamento do processamento de dados de um computador. [2] Como o computador sabe o que é instrução e o que é dado? [3] Bom teatro de funcionamento do computador. RESP.: Em primeiro lugar, o computador não "sabe" nada, pois não tem consciência. Em segundo, o computador usa o apontador de instruções para localizar a próxima instrução a ser executada; o conteúdo de qualquer posição de memória indicada por esse apontador, quando for a hora de decodificar uma nova instrução, será interpretado pelos circuitos como uma instrução. Por outro lado, uma instrução pode fazer referência a uma posição cujo conteúdo, durante a execução dessa instrução, não será interpretado como instrução, mas como dado.
  11. [1] De mais importante aprendi que qualquer computador tem e segue sempre uma linguagem e sempre interpreta os códigos. [3] Muito boa a explicação por meio do teatro.
  12. [1] Códigos são transformados em letras, dados e comandos específicos. Foi bom entender a causa de algumas falhas no PC. [2] As codificações se repetem, mas como são interpretadas desse modo? [3] Adorei a palestra! Informações muito bem comunicadas. RESP.: Cuidado, letras e outros símbolos são codificados numericamente para manipulação pelo computador. Vimos que com algumas instruções pode-se processar um número grande de dados diferentes, por meio do desvio para o início de uma sequência de instruções cujo processamento é então repetido.
  13. [1] Aprender como os dados e informações estão "escritos" dentro da CPU. Aprender a organização e funções de cada parte. [3] Engraçado e prático, simplifica bastante e isso ajuda (envolvente).
  14. [1] A lógica por trás de programas e computadores e onde são armazenadas as informações. [2] Ficou a curiosidade sobre como são armazenadas as instruções seguidas. [3] Foi muito interessante. RESP.: Em todos os computadores de hoje, s instruções são armazenadas em um código numérico binário. O Computador a Papel e o HIPO usam um código decimal só para ilustração mais simples dos conceitos básicos de como um computador funciona do ponto de vista da linguagem de máquina.
  15. [1] O computador só interpreta números e consegue diferenciar dados pela instrução anterior. [3] A dinâmica de grupo facilitou a compreensão da parte teórica.
  16. [1] Não sabemos como funciona a memória, computador não tem memória, apenas é programado por dados. [2] Quando um computador perde tudo e ele "recomeça" a partir do armazenado no back-up, como ele reinterpreta todos os dados? RESP.: Não sabemos como funciona a memória humana, de modo que não se devia chamar de "memória" a unidade central de armazenamento de dados de uma computador. Como eu disse, na computação usam-se muitas expressões antropomórficas (da natureza humana) indevidamente. Isso pode mistificar tanto o computador como denegrir a visão que se tem do ser humano, associando-se-o a uma máquina.
  17. [1] Aprendi a linguagem "correta" para o uso de programas! E o funcionamento básico de um computador! [2] Não tenho! Muito boa! [3] Não acredito que o "teatrinho" tenha sido muito claro, devia ter sido melhor organizado e preparado! RESP.: Infelizmente o tempo que foi dado foi muito curto, a execução do teatrinho podia ter sido mais vagarosa e com mais explicações.
  18. [1] Como saber programa, o basico do básico, como programa pode ajudar. [2] Como os "hackers" trabalham para buscar a falha e explorá-la? [3] Muito boa a interação, animada, deixando facil uma coisa que aparenta ser dificil. RESP.: Os hackers conseguem ter acesso aos sistemas que controlam os computadores e os programas que são interpretados pela máquina, modificando-os. Por exemplo, se eles descobrem a senha de acesso a um computador ou a uma rede, podem eventualmente modificar os programas existentes e introduzir novos.
  19. [1] O funcionamento e a complexidade de um computador. [2] Não restaram duvidas. [3] Gostei muito do teatro.
  20. [1] Funcionamento básico de um computador. [2] Não fiquei com nenhuma dúvida, o palestrante lecionou muito bem.
  21. [1] Computadores funcionam com diversos tipos de linguagem, como números e letras, e transcrevendo as linguagens em comandos. [2] Como funciona o código binário. RESP.: Costuma-se chamar de instruções os códigos da linguagem de máquina ou de montagem (assembler) interpretados pelo computador, e de comandos as expressões em linguagens de nível mais alto, como a Python que foi ilustrada, infelizmente muito rapidamente devido ao tempo.
  22. [1] A nossa concepção de memória de um computador é errada, o certo seria posições de armazenamento, já que não sabemos como nossa memória funciona.
  23. [1] Linguagem Python, linguagem de montagem, as nomeações incorretas utilizadas. [3] Gostei da palestra.
  24. [1] Computador é burro. [2] Por que a Microsoft é tão boa com computadores? [3] Bacana. RESP.: Computador é "burro" no sentido de executar cegamente as instruções; se um computador não seguisse estritamente essas instruções, não faria o que se espera que ele faça.
  25. [1] Como funciona o computador. [3] Dinâmica do computador físico ficou confusa.
  26. [1] Aprendi o basico da linguagem de programação e como ela era feita antigamente, aprendi um pouco de Python. [2] Um supercomputador pode fazer todas estas coisas mais rapido ou de pez [?] mais. [3] Foi uma aula legal. RESP.: Um supercomputador simplesmente executa os programas mais rapidamente.
  27. [1] O computador não tem memória, computador "le" dados e informações -> é burro. Unidade central de armazenamento é em número. [2] Não ficou duvida. RESP.: Atenção, computadores não leem, o ser humano é que lê. Um computador reconhece símbolos de acordo com o programa que está sendo interpretado.
  28. [1] A importância da codificação para um computador. [2] Como funcionam os computadores mais complexos. [3] Muito boa palestra. RESP.: Por exemplo, os computadores hoje em dia não têm apenas um acumulador, como os primeiros computadores que foram construídos, mas têm vários, chamados de "registradores". Mas no Windows "registry" tem outro sentido, contém dados sobre os programas.
  29. [1] O mais importante do que aprendi hoje foi como os processos lógicos ocorrem "dentro" dos computares. [2] Como ocorre o funcionamento de redes neurais e como isso está relacionado com as aula de hoje? [3] Muito interessante! RESP.: Redes neurais artificiais são dados organizados em forma de redes, com "nós" e "arestas" que os ligam. Cada nó tem algumas entradas pela quais passam dados, que são combinados matematicamente para dar uma saída do nó também em forma de dado. Assim combinam-se os dados fornecidos a uma dessas redes, transformando dados de entrada na rede em uma saída. Fornecendo-se muitos dados de entrada na rede e os dados de saída correspondentes, pode-se calcular quais são os parâmetros que devem entrar nos cálculos em cada nó, o que é chamado indevidamente de "aprendizado de máquina" ("machine learning"; indevidamente pois não se sabe como o ser humano aprende, isso é mais uma antropomorfização indevida). Depois de ajustados os parâmetros, dão-se dados de entrada e a rede calcula os de saída, por exemplo distinguindo um cachorro de um gato. A nomenclatura "rede neural" é indevida pois não se sabe como a rede de neurônios funciona no cérebro.
  30. [1] O mais importante foi aprender como o computador é organizado.
  31. [1] Aprendi um pouco melhor como a CPU trabalha. [2] Como funciona o python, foi a maior dúvida. RESP.: Em um curso de programação, sempre se aprende uma linguagem do nível da Python. Ela foi usada como exemplo pois é moderna e muito usada hoje em dia. Há cursos de Python na Internet, por exemplo a de meu colega Fábio Kon, em
    https://www.coursera.org/learn/ciencia-computacao-python-conceitos/home/welcome
    que é grátis se não se requer um certificado.
  32. [1] Como o computador funciona e como, mesmo sendo uma máquina, tem problemas no funcionamento.
  33. [1] Aprendi o básico do funcionamento dos computadores mais antigos e como interpretavam codigos. [2] Como funcionavam os computadores antigos em geral. [3] Achei a apresentação boa.
  34. [1] Funcionamento da estrutura do computador; representação de letras. [2] Qual o resultado da programação. RESP.: O resultado da programação é um programa escrito em alguma linguagem de programação, e que pode ser introduzido em um computador e os comandos serem interpretados da maneira como o programador desejava.
  35. [1] Acredito que compreendi como um computador funciona superficialmente (já que deve ser bem complicado). [2] A maior dúvida se apresenta em como exatamente com (exemplos variados do cotidiano) esses conceitos poderiam ser aplicados. [3] Obrigada pela palestra. RESP.: Sim, os circuitos eletrônicos são bem complicados. Os conceitos são aplicados em processamento de dados em um computador. A intenção principal foi mostrar como o computador interpreta um programa em linguagem de máquina.
  36. [1] Eu achei muito interessante a maneira com que o computador procura o código e realiza um comando. [2] Como dois sinais iguais são interpretados diferentes. RESP.: Desde a primeira linguagem de nível mais alto do que a linguagem de máquina, FORTRAN, quase todas as linguagens de programação usam o = para atribuição de um dado a uma posição de memória, por exemplo A = 5 produz uma cópia do 5 (na notação interna; no HIPO seria +0005) e coloca-a na posição associada à variável A. Outras linguagens usaram a notação, muito mais clara, A := 5, como ALGOL e PASCAL. Desde a linguagem C usam-se dois sinais == para teste de igualdade, por exemplo, depois de interpretar A = 5, A == 6 dá o valor convencionado como falso, e A == 5 dá verdadeiro. É uma lástima não se ter mudado o sinal de atribuição (=) em lugar de se ter mudado o sinal para teste de igualdade (==).
  37. [1] Unidade central de processamento recebe dados da unidade de entrada, capacidade do programa é 9999. [Desenho da estrutura apresentada.] Códigos numéricos +#### [quadradinhos]. [2] Não fiquei com nenhuma dúvida. [3] Professor muito bom e explica de forma que os alunos entendam!
  38. [1] A maneira como um computador recebe as informações e o que ele é. [2] Não ficou dúvida.
  39. [1] O que aprendi de mais importante foi a linguagem que o computador lê, muito impressionante. [2] Como que se implanta essa linguagem no computador. RESP.: Se um programa for escrito em uma linguagem de montagem (assembly language, ou assembler) ele tem que ser dado a um programa chamado "montador" (ou "assembler) para que cada instrução seja convertida em uma instrução da linguagem de máquina. Já nas linguagens de nível mais alto, como a Python que foi exemplificada, um programa tem que traduzir cada comando (como Soma = 0) para a linguagem de máquina; esse programa é chamado de "compilador" (compiler). A construção de compiladores é uma área específica da Ciência da Computação; eu tenho um velho livro sobre esse assunto; ele está na íntegra em meu site.
  40. [1] Afirmar que computadores possuem "memória" é errôneo, assim como dizer que são produzidas inteligências artificiais.
  41. [1] Aprendi o método de funcionamento de um sistema simples de um computador. [2] Não houve dúvidas. [3] Uma ótima palestra.
  42. [1] O método de envio e/ou recepção de informações dentro de uma máquina, no caso, computador. [2] Não houve dúvidas. [3] Ótima palestra!
  43. [1] O que eu mais aprendi foi a lógica essêncial do funcionamento dos computadores. [2] A única dúvida restante foi como os dados são transferidos pelo computador (por exemplo, como os dados passam da central para o instrutor e vice-versa). RESP.: Os dados circulam em um computador representados eletricamente. Por exemplo, se em um circuito passa corrente pode-se associar a ele o símbolo 1, se não passa corrente, o símbolo 0.
  44. [1] Como o computador interpreta dados e instrução, a partir da entrada. [2] Como o computador interpreta código binário, e como ele exibe letras e imagens a partir de números. [3] Muito divertida e interessante. RESP.: Ver a resposta à avaliação 3 acima.
  45. [1] O funcionamento interno de um computador para executar os comandos encaminhados pelo usuário, assim como a linguagem das máquinas foi o aspecto mais importante aprendido. [2] A principal dúvida foi a prática de todos os elementos do computador, uma vez que, pessoalmente, funciona de forma abstrata pela programação.
  46. [1] Conceitos básicos do PC. [3] Gostei muito da apresentação.
  47. [1] [Desenho da estrutura de um computador]. Expressões antropomorficas -> imitação de expressões humanas em objetos inanimados -> memória, inteligência artificial. Posições de memoria -> dados. Entrada -> "organiza" as posições de memória. UCP (central de processamento) -> interpretação; -> possui uma capacidade de armazenamento. Comandos de instruções -> indica qual dado deve ser analisado. [2] Linguagem de máquina x montagem. RESP.: A linguagem de montagem (assembler) é simplesmente uma associação de códigos mnemônicos, fáceis de lembrar, às instruções da linguagem de máquina, e a possibilidade de se dar nomes (chamados de "rótulos", labels) às posições de memória, como Zero no exemplo dado, para dar esse nome ao dado de valor +0000. Com isso não é necessário lembrar dos códigos das instruções (por exemplo, 21 para soma), e nem de endereços numéricos das posições da unidade central de armazenamento.
  48. [1] Para mim, o aprendizado mais importante foi entender como a lógica do computador difere da humana. [2] Como a linguagem do computador é traduzida para linguagens cujas estrutura e lógica diferem da Ocidental? RESP.: Excelente observação, que não foi tratada explicitamente na palestra. O computador faz escolhas lógico-matemáticas, o ser humano toma decisões, inclusive qualitativas, que se introduzidas em um computador têm que ser reduzidas a escolhas lógicas, e não é a mesma coisa! Tanto faz que símbolos o computador usa. Certamente os ideogramas orientais são considerados como símbolos quantificados, como nossas letras e sinais como o +.
  49. [1] Entender que muitas nomenclaturas utilizadas, tal como "ler" e "memória", são, na verdade, incorretas. [2] Para mim, a maior dúvida foi a respeito do simulador apresentado (seu funcionamento).
  50. [1] Aprendi o princípio lógico de processamento de um computador.