FundComp - o que é Teoria da Computação

O que é teoria da computação

Frase sobre telescópios: "Computer science is no more about computers than astronomy is about telescopes." -Dijkstra

Questão de linguagem: expressar o problema numa linguagem que o computador entenda e que a gente entenda

Operações complicadas são partidas em passos simples. Exemplo: mover uma janela é feito de operações sobre pontos. (detalhe: mover pra esquerda versus mover pra direita).

Interfaces e Modelos mentais. Porque a gente vai aprender Lisp: porque tem os modelos mentais mais interessantes, que vão nos ajudar mais a aprender o resto.

Excel, Maple e Cabri têm modelos mentais mais difíceis por trás, por isso vamos deixá-los pra depois.

Problema -> programa que resolve o problema

Linguagem de programação <-> código de máquina

Mas que problemas são esses?

Exemplo: somar os números de 1 a 10. Quem é que quer somar os números de 1 a 10? Exemplos mais práticos: tudo que você faz num editor corresponde a expressões em Lisp.

Porque GNU Emacs antes de Excel e Cabri

O Excel tem por trás um modelo que eu acho meio complicado - em que ordem as coisas estão acontecendo? Ele finge que a ordem de avaliação não existe, ou não importa.

Muita gente não entende como interagir com os objetos do Cabri (retas, círculos, interseções, etc)