Aula 1 - introdução a fundamentos de computação
-
Upload
sergio-souza-costa -
Category
Technology
-
view
630 -
download
3
Transcript of Aula 1 - introdução a fundamentos de computação
Fundamentos de ComputaçãoAula 1 - Introdução a Fundamentos de Computação
Prof. Sérgio Souza Costa
Sobre mim
Sérgio Souza CostaProfessor - UFMADoutor em Computação Aplicada (INPE)
Qual é o objetivo desta disciplina em poucas palavras ?
Aprender como propor soluções a um problema (de qualquer área) a fim de resolvido por um artefato computacional.
Para isso precisamos de uma diferente forma de pensar, conhecida como pensamento computacional.
Wing (2006) definiu o pensamento computacional como o conjunto de habilidades intelectuais e de raciocınio que indicam como as pessoas interagem e aprendem a pensar por meio da linguagem computacional.
Os processos do pensamento envolvidos na formulacao de problemas, de modo que suas solucoes possam ser representadas como passos e algoritmos computacionais (AHO, 2012).
Pensamento Computacional
http://www.bbc.co.uk/education/guides/zp92mp3/revision
Pensamento Computacional
● decomposition - breaking down a complex problem or system into smaller, more manageable parts
● pattern recognition – looking for similarities among and within problems
● abstraction – focusing on the important information only, ignoring irrelevant detail
● algorithms - developing a step-by-step solution to the problem, or the rules to follow to solve the problem
De acordo com Guttag e Grimmson, podemos pensar no algoritmo como uma forma de representar o conhecimento imperativo, que difere do conhecimento declarativo.
Refêrencia:
Guttag e Grimmson. http://www.veduca.com.br/play/357
“Dilma foi eleita para presidente do Brasil nas eleições de 2014”
“y é a raiz quadrada de x se e somente se, y*y = x”
O conhecimento declarativo é composto de declarações de fatos
O conhecimento imperativo é sobre como realizar algo. Pense nisso como receita, um algoritmo.
1) Comece adivinhando um g2) Se g*g está perto suficientemente de x, então g é uma
boa aproximação da raiz quadrada de x. Fim do algoritmo.
3) Se não, crie uma novo g que é a média g e x/g, Ou seja, g2 = (g1 + x/g1) / 2
4) Com o novo g, volte ao passo 2.
“Ação ou acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final
previsível e bem-definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos,
resultam numa sucessão finita de ações.”
(FARRER, 1999)
“Um algoritmo é uma lista de instruções que, quando executadas, transformam dados de entrada até a saída. As
instruções são um conjunto finito de etapas que podem ser executadas, numa ordem precisa, por um mecanismo
determinista. Quando estas etapas são efetivamente executadas , a execução deve terminar após um tempo
finito.”
(HOLLOWAY, 2006)
Outras definições
http://www.ime.usp.br/~vwsetzer/dado-info-Folha.html
Dado é uma representação simbólica (isto é, por meio de símbolos) quantificada ou quantificável.
Valdemar W. Setzer
Grandezas representadas por números.
Exemplos de dados
Um texto é um dado, pois as nossas letras formam um sistema numérico discreto (de base 26, o número delas), e portanto quantificado.
Grandezas representadas por números.
Exemplos de dados
Um texto é um dado, pois as nossas letras formam um sistema numérico discreto (de base 26, o número delas), e portanto quantificado.
Imagens são coleções de pixels, onde cada pixel tem um valor númerico
Esse trabalho serviu de base para um outro matematico e engenheiro, construir um dos primeiros computadores onde os algoritmos são tratados como dados. Computador IAS.
Presper Eckert e John Mauchly os pioneiros da informática fundaram a companhia, com o objetivo de fabricar máquinas baseadas em suas experiências com o ENIAC e o EDVAC.
Os computadores eletrônicos mudaram nos último 70 anos, contudo os conceitos básicos continuam valendo. e o pensamento computacional continua sendo a base para entendê-los.
E isso que se propõe a nossa disciplina. Aprender esta diferente forma de pensar.