aula 1 - introdução a fundamentos de computação

44
Fundamentos de Computação Aula 1 - Introdução a Fundamentos de Computação Prof. Sérgio Souza Costa

Upload: sergio-souza-costa

Post on 17-Jul-2015

630 views

Category:

Technology


3 download

TRANSCRIPT

Fundamentos de ComputaçãoAula 1 - Introdução a Fundamentos de Computação

Prof. Sérgio Souza Costa

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.

O que é um algoritmo ?

O que é um algoritmo ?

“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

Importância do algoritmo

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

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

Como os dados são representados no computador ?

Falaremos melhor sobre o sistema binário mais a frente.

E os algoritmos ? Também são dados ?

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.