93
CES-10 INTRODUÇÃO À CES-10 INTRODUÇÃO À COMPUTAÇÃO COMPUTAÇÃO Prof. Fábio Carneiro Prof. Fábio Carneiro Mokarzel Mokarzel 2014 2014 http://www.comp.ita.br/~mokarzel http://www.comp.ita.br/~mokarzel

CES-10 INTRODUÇÃO À COMPUTAÇÃO

Embed Size (px)

DESCRIPTION

CES-10 INTRODUÇÃO À COMPUTAÇÃO. Prof. Fábio Carneiro Mokarzel 2014 http://www.comp.ita.br/~mokarzel. CES-10 INTRODUÇÃO À COMPUTAÇÃO. Capítulo Zero Apresentação. Capítulo Zero - Apresentação. 0.1 – Professor e alunos 0.2 – Objetivos gerais da disciplina - PowerPoint PPT Presentation

Citation preview

CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO

Prof. Fábio Carneiro Prof. Fábio Carneiro MokarzelMokarzel

20142014http://www.comp.ita.br/~mokarzelhttp://www.comp.ita.br/~mokarzel

CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO

Capítulo Zero Capítulo Zero ApresentaçãoApresentação

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.1 - Professor e Alunos0.1 - Professor e Alunos

0.1.1 - Professor0.1.1 - Professor

Nome:Nome: Fábio Carneiro Mokarzel Fábio Carneiro Mokarzel

Graduação:Graduação: Engenharia Elétrica – UNIFEI – Engenharia Elétrica – UNIFEI – Itajubá, MG – 1973Itajubá, MG – 1973

Mestrado:Mestrado: Ciência da Computação – ITA – São Ciência da Computação – ITA – São José dos Campos, SP – 1984José dos Campos, SP – 1984

Doutorado:Doutorado: Ciência da Computação – ITA – Ciência da Computação – ITA – São José dos Campos, SP – 1995São José dos Campos, SP – 1995

Professor no ITA: Professor no ITA: desde 1979 – IECdesde 1979 – IEC

Área de Pesquisa: Área de Pesquisa: Linguagens e Linguagens e Compiladores para Processamento ParaleloCompiladores para Processamento Paralelo

Sala: nSala: noo 109 – 109 – Prédio da Computação do ITAPrédio da Computação do ITA

E-mail: E-mail: [email protected]@ita.br e e [email protected]@gmail.com

Telefone no ITA: Telefone no ITA: (12) 3947-5982 ou 3947-(12) 3947-5982 ou 3947-58995899

Celular: Celular: VIVO - (12) 99714-7538 VIVO - (12) 99714-7538

0.1.2 - Alunos0.1.2 - Alunos

Cada aluno deve se levantar e dizer:Cada aluno deve se levantar e dizer:

Cidade e estado de origemCidade e estado de origem

Curso em que está matriculado no ITACurso em que está matriculado no ITA

Experiência com linguagens de Experiência com linguagens de programaçãoprogramação

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.2 – Objetivos Gerais da 0.2 – Objetivos Gerais da DisciplinaDisciplina

ConceituaçãoConceituação de computadores, linguagens, de computadores, linguagens, algoritmos, programas e compiladoresalgoritmos, programas e compiladores

Desenvolvimento de Desenvolvimento de algoritmosalgoritmos

Programação básicaProgramação básica numa linguagem numa linguagem imperativa estruturada:imperativa estruturada:

Linguagem escolhida: Linguagem escolhida: CC

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.3 – O Computador na 0.3 – O Computador na SociedadeSociedade

0.3.1 – Precursores do computador 0.3.1 – Precursores do computador eletrônico digitaleletrônico digital

A tarefa de A tarefa de calcularcalcular vem sendo automatizada vem sendo automatizada há muitos anos:há muitos anos:

Ábacos:Ábacos:

origem provável:origem provável:

MesopotâmiaMesopotâmia

há mais de 5000 anoshá mais de 5000 anos

Ábaco versão chinesa (Wikipedi

a)

Réguas de cálculo:Réguas de cálculo:

Criadas pelo padre inglês William Oughtred, Criadas pelo padre inglês William Oughtred, em 1638em 1638

Aperfeiçoadas e muito usadas até a década Aperfeiçoadas e muito usadas até a década de 1970de 1970

Substituídas pelas calculadoras eletrônicasSubstituídas pelas calculadoras eletrônicas

Faziam cálculos complexos como Faziam cálculos complexos como potenciação, radiciação, logaritmos e potenciação, radiciação, logaritmos e funções trigonométricasfunções trigonométricas

Calculadoras mecânicas:Calculadoras mecânicas:

Pascalina: Pascalina: construída pelo francês Blaise construída pelo francês Blaise Pascal, em 1642Pascal, em 1642

Fazia somas e subtraçõesFazia somas e subtrações

Calculadoras mecânicas:Calculadoras mecânicas:

Calculadora de Leibnitz: Calculadora de Leibnitz: construída na construída na Alemanha por Gottfried Leibnitz, por volta Alemanha por Gottfried Leibnitz, por volta de 1694de 1694

Fazia somas, subtrações, multiplicações e Fazia somas, subtrações, multiplicações e divisõesdivisões

As duas últimas aplicavam sucessivas As duas últimas aplicavam sucessivas execuções das duas primeirasexecuções das duas primeiras

Calculadoras mecânicas:Calculadoras mecânicas:

Arithmometer: Arithmometer: construída pelo francês construída pelo francês Charles Xavier Thomas, em 1820Charles Xavier Thomas, em 1820

Fazia somas, subtrações, multiplicações e Fazia somas, subtrações, multiplicações e divisões divisões

Primeira calculadora realmente Primeira calculadora realmente comercializada com sucesso: até 1850, comercializada com sucesso: até 1850, vendidos cerca de 1500 exemplaresvendidos cerca de 1500 exemplares

Máquina analítica: Máquina analítica: concepção de um concepção de um computador mecânico, em 1833, pelo inglês computador mecânico, em 1833, pelo inglês Charles BabbageCharles Babbage

Com unidade de controle de memória aritmética

Com entrada e saída de dados

Programada por meio de instruções em cartões perfurados

A sequência de execução dos cartões podia ser alterada

Máquina analítica: Máquina analítica: concepção de um concepção de um computador mecânico, em 1833, pelo inglês computador mecânico, em 1833, pelo inglês Charles BabbageCharles Babbage

Exigia tecnologia mecânica muito avançada para a época

Não foi efetivamente construída naquele século

Máquina analítica: Máquina analítica: concepção de um concepção de um computador mecânico, em 1833, pelo inglês computador mecânico, em 1833, pelo inglês Charles BabbageCharles Babbage

Na década de 1980, pelo seu valor histórico, um grupo resolveu construí-la

Ela funcionou perfeitamente

Máquina recenseadora: Máquina recenseadora: construída em 1886, construída em 1886, por Herman Hollerith, funcionário do por Herman Hollerith, funcionário do Departamento de Recenseamento dos Estados Departamento de Recenseamento dos Estados UnidosUnidos

Utilizava cartões perfurados que, lidos eletricamente:

•Controlavam o funcionamento

•Continham dados de entrada

•Eram usados para imprimir resultados

Máquina recenseadora: Máquina recenseadora: construída em 1886, construída em 1886, por Herman Hollerith, funcionário do por Herman Hollerith, funcionário do Departamento de Recenseamento dos Estados Departamento de Recenseamento dos Estados UnidosUnidos

Cartões perfurados para programas e dados foram usados por muito tempo

Só foram substituídos pelo teclado e vídeo

Herman Hollerith foi um dos fundadores da International Business Machines (IBM) em 1924

Computadores eletrônicos analógicos: Computadores eletrônicos analógicos: utilizam grandezas elétricas como tensão e utilizam grandezas elétricas como tensão e corrente para modelar um problema a ser corrente para modelar um problema a ser resolvidoresolvido

Constituídos de amplificadores, filtros e Constituídos de amplificadores, filtros e circuitos somadores, integradores e circuitos somadores, integradores e diferenciadores, além de outros diferenciadores, além de outros

Eram o estado da arte dos computadores Eram o estado da arte dos computadores antes da Segunda Guerra Mundialantes da Segunda Guerra Mundial

Até a década de 1960, competiam com os Até a década de 1960, competiam com os computadores digitaiscomputadores digitais

Computadores eletrônicos analógicos:Computadores eletrônicos analógicos:

Tinham vantagem frente aos primeiros Tinham vantagem frente aos primeiros computadores digitais, pois eram capazes de computadores digitais, pois eram capazes de resolver problemas mais complexosresolver problemas mais complexos

Nessa época, os programas de computador Nessa época, os programas de computador não eram ainda muito populares não eram ainda muito populares

Computadores eletrônicos analógicos:Computadores eletrônicos analógicos:

A solução é apresentada em forma de curvas A solução é apresentada em forma de curvas em gráficos; os resultados são exatosem gráficos; os resultados são exatos

Números reais não são representados Números reais não são representados exatamente nos computadores digitais; é exatamente nos computadores digitais; é uma representação discretauma representação discreta

Computadores eletrônicos analógicos:Computadores eletrônicos analógicos:

Ao contrário dos computadores digitais Ao contrário dos computadores digitais modernos, computadores analógicos não são modernos, computadores analógicos não são muito flexíveismuito flexíveis

Precisam ser reprogramados manualmente Precisam ser reprogramados manualmente para trocar o problema em que vão trabalhar para trocar o problema em que vão trabalhar

Computadores eletrônicos analógicos:Computadores eletrônicos analógicos:

Com o desenvolvimento dos transistores, os Com o desenvolvimento dos transistores, os computadores digitais começaram a imperarcomputadores digitais começaram a imperar

Mas, até hoje, os computadores analógicos Mas, até hoje, os computadores analógicos são usados na resolução de alguns são usados na resolução de alguns problemas específicosproblemas específicos

Mark I: Mark I: primeiro computador digital eletro-primeiro computador digital eletro-mecânico; construído entre 1937 e 1944, por mecânico; construído entre 1937 e 1944, por Howard Aiken, na Universidade de HarvardHoward Aiken, na Universidade de Harvard

Utilizava relés e válvulas eletrônicas

Media 2,5 m de altura e 18 m de comprimento

Gerava imensa quantidade de calor

ENIAC (ENIAC (Electronic Numeric Integrator and Electronic Numeric Integrator and CalculatorCalculator): ): primeiro computador eletrônico primeiro computador eletrônico digitaldigital

Construído em 1946, pelos cientistas norte-Construído em 1946, pelos cientistas norte-americanos John Presper Eckert e John americanos John Presper Eckert e John Mauchly Mauchly

Chegava a ser, em algumas operações, mil vezes mais rápido que o MARK I.

Ocupava 170 m2, pesava 30 toneladas, consumia 150 Kwatts

0.3.2 – Evolução da tecnologia 0.3.2 – Evolução da tecnologia eletrônico-digitaleletrônico-digital

Desde o ENIAC, houve um desenvolvimento Desde o ENIAC, houve um desenvolvimento acelerado da tecnologia eletrônico-digital:acelerado da tecnologia eletrônico-digital:

Válvulas eletrônicas:Válvulas eletrônicas:

Dispositivos que conduzem a corrente elétrica num só sentido

Dissipam muito calor

Quebram após não muitas horas de uso

Transistores:Transistores:

Utilizados principalmente como amplificadores e interruptores de sinais elétricos

Têm o mesmo papel das válvulas, porém são bem menores e dissipam muito menos calor

Circuitos integrados:Circuitos integrados: vários transistores e vários transistores e outros componentes eletrônicos em um só outros componentes eletrônicos em um só circuitocircuito

Usados hoje em quase todos os equipamentos eletrônicos

Revolucionaram o mundo da eletrônica

Imagem aumentada mais de 1000 vezes

Circuitos integrados:Circuitos integrados: vários transistores e vários transistores e outros componentes eletrônicos em um só outros componentes eletrônicos em um só circuitocircuito

Invenção de Jack Kilby da Texas Instruments, em 1958

Em 2000, Kilby ganhou o Prêmio Nobel por essa invenção

Imagem aumentada mais de 1000 vezes

Circuitos integrados:Circuitos integrados: escalas (Wikipedia) escalas (Wikipedia)

Abreviatura e época

DenominaçãoNo de

transistoresSSI 1958

Small Scale Integration

10 a 99

MSI anos 60

Medium Scale Integration

100 a 999

LSI anos 70

Large Scale Integration

1.000 a 9.999

VLSI anos 80

Very Large Scale Integration

10.000 a 99.999

ULSI anos 90

Ultra Large Scale Integration

100.000 a 999.999

SLSI anos 2000

Super Large Scale Integration

1.000.000 a 10.000.000

Microprocessadores:Microprocessadores: circuitos integrados circuitos integrados coordenadores de todas as atividades de um coordenadores de todas as atividades de um computadorcomputador

Esquema de um computador pessoal moderno

Microprocessadores:Microprocessadores:

4004: primeiro microprocessador comercial

Inventado pela Intel em 1971

Aritmética binária de 4 bits

Clock de 740 KHz

Possuia 2.300 transistores

Microprocessadores:Microprocessadores:

8080: microprocessador criado pela Intel em 1974

Aritmética binária de 8 bits

Clock de 2 MHz

Possuia 6.000 transistores

Microprocessadores:Microprocessadores:

8086: microprocessador criado pela Intel em 1978

Aritmética binária de 16 bits

Clock de 5 a 10 MHz

Possuia 20.000 transistores

Microprocessadores:Microprocessadores:

80386: microprocessador criado pela Intel em 1986

Aritmética binária de 32 bits

Clock de 33 MHz

Possuia 275.000 transistores

Microprocessadores:Microprocessadores:

Pentium IV: microprocessador criado pela Intel em 2001

Aritmética binária de 64 bits

Clock de 1.3 a 2.0 GHz

Possui cerca de 5.500.000 transistores

Novos microprocessadores da Intel:Novos microprocessadores da Intel:

Core 2 Duo: Core 2 Duo: 2 processadores (núcleos) em 12 processadores (núcleos) em 1

i3: i3: 2 processadores (núcleos) em 1; emula 4 2 processadores (núcleos) em 1; emula 4 núcleosnúcleos

i5: i5: 2 e 4 processadores (núcleos) em 1; 2 e 4 processadores (núcleos) em 1; emula 4 núcleosemula 4 núcleos

i7: i7: 4 e 6 processadores (núcleos) em 1; 4 e 6 processadores (núcleos) em 1; emula 8 e 12 núcleosemula 8 e 12 núcleos

Microprocessadores, outras aplicações:Microprocessadores, outras aplicações:

Processadores digitais de sinais: Processadores digitais de sinais: processam sinais de áudio, vídeo, etc.; por processam sinais de áudio, vídeo, etc.; por exemplo, em aparelhos de CD, DVD e exemplo, em aparelhos de CD, DVD e televisores digitaistelevisores digitais

Microcontroladores: Microcontroladores: embarcados em embarcados em dispositivos (geralmente produtos dispositivos (geralmente produtos comercializados) para controlar suas açõescomercializados) para controlar suas ações

Processadores gráficos: Processadores gráficos: utilizados em utilizados em placas de vídeo para fazer computação placas de vídeo para fazer computação gráficagráfica

Mais avanços na tecnologia eletrônico-digital:Mais avanços na tecnologia eletrônico-digital:

Fibras óticas: Fibras óticas:

Podem substituir com vantagens os fios de Podem substituir com vantagens os fios de cobre cobre

Não são susceptíveis à interferência Não são susceptíveis à interferência eletromagnéticaeletromagnética

Aplicadas na medicina (endoscopias por Aplicadas na medicina (endoscopias por exemplo) exemplo)

Aplicadas em telecomunicações Aplicadas em telecomunicações (principalmente na (principalmente na InternetInternet) )

Mais avanços na tecnologia eletrônico-Mais avanços na tecnologia eletrônico-digital:digital:

Comunicação sem fio – Comunicação sem fio – grande variedade de grande variedade de aplicações:aplicações:

Controle remoto de equipamentos elétricos e Controle remoto de equipamentos elétricos e eletrônicoseletrônicos

TeleprocessamentoTeleprocessamento

Comunicações via satéliteComunicações via satélite

Redes locais, Internet e telefonia celularRedes locais, Internet e telefonia celular

Mais avanços na tecnologia eletrônico-Mais avanços na tecnologia eletrônico-digital:digital:

Raio laser – Raio laser – grande variedade de aplicações:grande variedade de aplicações:

Cirurgias e fisioterapiaCirurgias e fisioterapia

Comunicação por fibras ópticas e leitura de Comunicação por fibras ópticas e leitura de códigos de barracódigos de barra

Computadores, aparelhos de som e imagemComputadores, aparelhos de som e imagem

Mais avanços na tecnologia eletrônico-Mais avanços na tecnologia eletrônico-digital:digital:

Supercondutividade: Supercondutividade:

Certos materiais, quando se esfriam a Certos materiais, quando se esfriam a temperaturas extremamente baixas, temperaturas extremamente baixas, conduzem corrente sem resistência nem conduzem corrente sem resistência nem perdasperdas

Isso tem sido usado na pesquisa de circuitos Isso tem sido usado na pesquisa de circuitos eletrônicos cada vez mais rápidoseletrônicos cada vez mais rápidos

0.3.3 – Impactos na sociedade0.3.3 – Impactos na sociedade

Os computadores tornaram-se: Os computadores tornaram-se:

Muito menores Muito menores

Muito mais poderososMuito mais poderosos

Muito menos consumidores de energiaMuito menos consumidores de energia

Muito menos dissipadores de calorMuito menos dissipadores de calor

Hoje no mercado: Hoje no mercado:

Poderosos laptops e desktops:Poderosos laptops e desktops: muito muito mais potentes que volumosos mais potentes que volumosos computadores de décadas passadas computadores de décadas passadas

Supercomputadores: Supercomputadores: cada um com cada um com milhares ou até milhões de processadoresmilhares ou até milhões de processadores

Redes de computadores:Redes de computadores:

Locais caseiras e empresariaisLocais caseiras e empresariais

Internet, a rede mundialInternet, a rede mundial

No início, os computadores eram usados No início, os computadores eram usados apenas para manipular númerosapenas para manipular números

Pouco tempo depois, o processamento Pouco tempo depois, o processamento não não numériconumérico tornou-se muito mais importante tornou-se muito mais importante que o processamento que o processamento numériconumérico

Hoje os computadores processam informações Hoje os computadores processam informações de diversas espécies: números, textos, sons, de diversas espécies: números, textos, sons, imagens, fenômenos físicos, químicos, imagens, fenômenos físicos, químicos, biológicos e sociaisbiológicos e sociais

A A comunicação humano-computadorcomunicação humano-computador evoluiu evoluiu muito:muito:

Programação no ENIAC, em 1946:Programação no ENIAC, em 1946:

Entrada e saída de dados usava cartões Entrada e saída de dados usava cartões perfuradosperfurados

Programas eram introduzidos mediante Programas eram introduzidos mediante manipulação de conexões eletrônicasmanipulação de conexões eletrônicas

Instalação de um novo programa demorava Instalação de um novo programa demorava um ou dois dias um ou dois dias

A A comunicação humano-computadorcomunicação humano-computador evoluiu evoluiu muito:muito:

Para o EDSAC (Electronic Delay Storage Para o EDSAC (Electronic Delay Storage Automatic Calculator), em 1949:Automatic Calculator), em 1949:

Descobriu-se que programas poderiam ser Descobriu-se que programas poderiam ser lidos, tal como os dados de entrada, e lidos, tal como os dados de entrada, e armazenados na memória (conceito de armazenados na memória (conceito de programa armazenadoprograma armazenado))

Os programas passaram a ser escritos em Os programas passaram a ser escritos em cartões perfurados e instalados na memória cartões perfurados e instalados na memória por meio de leitora de cartões por meio de leitora de cartões

Novos meios de programar computadores foram Novos meios de programar computadores foram surgindo:surgindo:

Os resultados passaram a ser impressos em Os resultados passaram a ser impressos em papel, por impressoraspapel, por impressoras

Programas passaram a ser introduzidos por Programas passaram a ser introduzidos por teclado, ficando armazenados em arquivosteclado, ficando armazenados em arquivos

Os resultados passaram a ser exibidos em Os resultados passaram a ser exibidos em monitores de vídeomonitores de vídeo

Novos meios de programar computadores foram Novos meios de programar computadores foram surgindo:surgindo:

Ambientes de programação foram criados, Ambientes de programação foram criados, disponibilizando ao programador:disponibilizando ao programador:

Confortáveis editores de textos, Confortáveis editores de textos, manipuladores de arquivos, compiladoresmanipuladores de arquivos, compiladores

Botões a serem acionados pelo mouse para Botões a serem acionados pelo mouse para salvar arquivos, compilar, executar e corrigir salvar arquivos, compilar, executar e corrigir programas, usar a impressora, etc. programas, usar a impressora, etc.

Outras atividades, além de programar:Outras atividades, além de programar:

Edição de documentos, figuras e apresentações: Edição de documentos, figuras e apresentações: Word, Adobe, Paint, Power-Point, etc.Word, Adobe, Paint, Power-Point, etc.

Manipulação de tabelas para contabilidade: ExcelManipulação de tabelas para contabilidade: Excel

Navegadores da Internet: Explorer, Mozilla, etc.Navegadores da Internet: Explorer, Mozilla, etc.

Manipulação de arquivos de áudio e vídeo: iTunes, Manipulação de arquivos de áudio e vídeo: iTunes, Emule, Ares, MP3Gain, Nero, Roxio, YouTube, etcEmule, Ares, MP3Gain, Nero, Roxio, YouTube, etc

Interfaces para controle de processosInterfaces para controle de processos

Etc.Etc.

Hoje os computadores são utilizados por pessoas totalmente leigas em Ciência da Computação

Hoje os sistemas computacionais estão Hoje os sistemas computacionais estão integrados em praticamente todas as integrados em praticamente todas as atividades da sociedade:atividades da sociedade:

Atividades técnico-científicas

Medicina e saúde

Indústria e comércio

Atividades administrativas e governamentais

Educação

Literatura e artes

Cinema

Música

Pesquisa escolar e caseira(serve como enciclopédia sempre atualizada)

Entretenimento

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.4 – Relevância da 0.4 – Relevância da DisciplinaDisciplina

A maioria dos ambientes computacionais de A maioria dos ambientes computacionais de trabalho e dos programas científicos são trabalho e dos programas científicos são escritos em linguagens de programação, tais escritos em linguagens de programação, tais como como FortranFortran, , PascalPascal, , CC, , JavaJava, etc., etc.

Não raro, um engenheiro necessita Não raro, um engenheiro necessita desenvolver programas ou ambientes para desenvolver programas ou ambientes para novas aplicações, em sua área de atuaçãonovas aplicações, em sua área de atuação

Diversas áreas da Eletrônica trabalham Diversas áreas da Eletrônica trabalham diretamente com softwares para fazer diretamente com softwares para fazer interfaceinterface com dispositivos eletrônicos ou para com dispositivos eletrônicos ou para serem neles serem neles embarcadosembarcados

A Matemática, a Física e várias áreas da A Matemática, a Física e várias áreas da Engenharia trabalham com Engenharia trabalham com simulações simulações na na busca da melhor solução para um problemabusca da melhor solução para um problema

Na área financeira, a programação de macros Na área financeira, a programação de macros para o para o ExcelExcel dá um grande diferencial dá um grande diferencial

Muitos Muitos aviõesaviões trabalham com softwares trabalham com softwares embarcados que controlam diversos de embarcados que controlam diversos de seus seus sub-sistemassub-sistemas

Sub-sistemas de um avião

O conhecimento dos O conhecimento dos princípios de princípios de programaçãoprogramação numa das referidas linguagens numa das referidas linguagens é portanto imprescindível para um engenheiroé portanto imprescindível para um engenheiro

CES-10 Introdução à Computação CES-10 Introdução à Computação ensina os ensina os primeiros passos de programação de primeiros passos de programação de computadorescomputadores

Para alcançar sucesso nesta disciplina é Para alcançar sucesso nesta disciplina é preciso muita preciso muita dedicaçãodedicação e realizar e realizar muitos muitos exercíciosexercícios

No entanto, apenas No entanto, apenas um semestre de um semestre de treinamento treinamento em programação é insuficiente em programação é insuficiente para um engenheiropara um engenheiro

Muitos problemas de Engenharia encontram Muitos problemas de Engenharia encontram soluções nos vários ramos da Matemáticasoluções nos vários ramos da Matemática

Alguns deles exigem quantidade descomunal Alguns deles exigem quantidade descomunal de operações matemáticasde operações matemáticas

A utilização de sistemas computacionais para A utilização de sistemas computacionais para solucioná-los é portanto indispensávelsolucioná-los é portanto indispensável

CCI-22 Matemática ComputacionalCCI-22 Matemática Computacional apresenta algoritmos para realizar essas apresenta algoritmos para realizar essas operações por computador, de forma eficienteoperações por computador, de forma eficiente

É uma disciplina do 2º Fundamental 1º É uma disciplina do 2º Fundamental 1º SemestreSemestre

Muitas atividades de Engenharia envolvem a Muitas atividades de Engenharia envolvem a manipulação de quantidades imensas de manipulação de quantidades imensas de informaçõesinformações

As formas com que essas informações se As formas com que essas informações se interligam entre si apresentam diversos níveis de interligam entre si apresentam diversos níveis de complexidadecomplexidade

Um engenheiro deve saber decidir qual o melhor Um engenheiro deve saber decidir qual o melhor modelo de armazenamento para um sistema de modelo de armazenamento para um sistema de informações e os melhores algoritmos para informações e os melhores algoritmos para gerenciá-logerenciá-lo

CES-11 Algoritmos e Estruturas de DadosCES-11 Algoritmos e Estruturas de Dados aborda essa necessidadeaborda essa necessidade

É uma disciplina do 1º Fundamental 2º SemestreÉ uma disciplina do 1º Fundamental 2º Semestre

Por que a Linguagem C como primeira Por que a Linguagem C como primeira linguagem de programação?linguagem de programação?

Há especialistas que a consideram facilitadora Há especialistas que a consideram facilitadora de de indisciplinaindisciplina e de confecção de programas e de confecção de programas desestruturadosdesestruturados e confusos e confusos

Preferem linguagens como Preferem linguagens como PascalPascal que inibem que inibem um pouco essa indisciplinaum pouco essa indisciplina

Por que a Linguagem C como primeira Por que a Linguagem C como primeira linguagem de programação?linguagem de programação?

Outros especialistas preferem Outros especialistas preferem Java Java ou ou C++C++

Para inserir logo o aluno no combate à Para inserir logo o aluno no combate à crise de crise de softwaresoftware

– Rápido crescimento da Rápido crescimento da demanda demanda por softwarepor software

– Rápido crescimento da Rápido crescimento da complexidadecomplexidade dos dos problemas a serem resolvidos problemas a serem resolvidos

– Carência de técnicas para o desenvolvimento de Carência de técnicas para o desenvolvimento de sistemas que sistemas que funcionem adequadamentefuncionem adequadamente ou ou possam ser possam ser validadosvalidados

Java Java é a linguagem básica para transações na é a linguagem básica para transações na InternetInternet

Por que a Linguagem C como primeira Por que a Linguagem C como primeira linguagem de programação?linguagem de programação?

No ITA, em 1998, No ITA, em 1998, Pascal Pascal foi substituída pela foi substituída pela Linguagem CLinguagem C

Pascal Pascal havia caído em desusohavia caído em desuso

Os mesmos princípios de Os mesmos princípios de programação programação estruturada estruturada podem ser aplicados em ambas podem ser aplicados em ambas as linguagensas linguagens

Por que a Linguagem C como primeira Por que a Linguagem C como primeira linguagem de programação?linguagem de programação?

Num Curso de Bacharelado em Ciência da Num Curso de Bacharelado em Ciência da Computação, Computação, Java Java é uma forte opçãoé uma forte opção

Programas em Programas em Java Java são mais ineficientes do são mais ineficientes do que em que em CC – isso é inconveniente em – isso é inconveniente em EngenhariaEngenharia

Java Java e e C++C++ usam programação usam programação orientada a orientada a objetosobjetos; isso é bem difundido só em ; isso é bem difundido só em Engenharia de ComputaçãoEngenharia de Computação

Outras modalidades de Engenharia têm a Outras modalidades de Engenharia têm a programação programação estruturadaestruturada bem arraigada bem arraigada

Por que a Linguagem C como primeira Por que a Linguagem C como primeira linguagem de programação?linguagem de programação?

C C possibilita a confecção de possibilita a confecção de programas programas eficienteseficientes

Permite acesso até certo ponto à Permite acesso até certo ponto à estrutura estrutura internainterna do computador do computador

Ainda é uma linguagem Ainda é uma linguagem largamente utilizadalargamente utilizada

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.5 – Programa da 0.5 – Programa da Disciplina Disciplina

Cap. I Cap. I Conceitos primáriosConceitos primários 3.5 semanas3.5 semanas

Cap. II Cap. II Algoritmos e programasAlgoritmos e programas 1.5 semanas1.5 semanas

Cap. III Cap. III Declarações e comandos de atribuição Declarações e comandos de atribuição 1 semana1 semana

Cap. IV Cap. IV Comandos de controle de fluxo Comandos de controle de fluxo 1 semana1 semana

Cap. VCap. V Comandos de entrada e saídaComandos de entrada e saída 1 semana1 semana

Cap. VI Cap. VI Variáveis indexadas Variáveis indexadas 2.5 semanas2.5 semanas

Cap. VII Cap. VII Tipos enumerativos e estruturasTipos enumerativos e estruturas 1 semana1 semana

Cap. VIIICap. VIII SubprogramaçãoSubprogramação 1.5 semana1.5 semana

Cap. IX Cap. IX PonteirosPonteiros 1.5 semana1.5 semana

Cap. XCap. X Metodologia top-down com subprogramaçãoMetodologia top-down com subprogramação

0.5 semana0.5 semana

Cap. XI Cap. XI Noções de estruturas de dados Noções de estruturas de dados 1 semana1 semana

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

CES-10 não tem pré-requisitosCES-10 não tem pré-requisitos

Carga horária semanal: Carga horária semanal: 4-0-2-54-0-2-5

Aulas teóricas: Aulas teóricas: expositivas e em sala comumexpositivas e em sala comum

Aulas de laboratório: Aulas de laboratório: aulas práticas sobre aulas práticas sobre programação, em laboratório de computadoresprogramação, em laboratório de computadores

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

Salas de aulas da Turma 3:Salas de aulas da Turma 3:

2ª feira 8:00 – 2 aulas teóricas: 2ª feira 8:00 – 2 aulas teóricas: Sala 2091Sala 2091

4ª feira 10:00 – 2 aulas teóricas: 4ª feira 10:00 – 2 aulas teóricas: Sala 2091Sala 2091

5ª feira – 2 aulas de laboratório: 5ª feira – 2 aulas de laboratório: Sala 1611Sala 1611

Primeira semiturma: 13:30Primeira semiturma: 13:30

Segunda semiturma: 15:30Segunda semiturma: 15:30

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

Reposição de aulas:Reposição de aulas:

Aulas teóricasAulas teóricas em feriados em feriados não serão dadasnão serão dadas

Aulas de laboratórioAulas de laboratório em feriados em feriados serão serão antepostas ou repostasantepostas ou repostas

Aulas Aulas em prolongamento de feriados serão em prolongamento de feriados serão antepostas ou repostasantepostas ou repostas

Anteposição ou reposição: é necessário Anteposição ou reposição: é necessário estabelecer um horárioestabelecer um horário

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

ExercíciosExercícios poderão ser realizados em poderão ser realizados em aulas aulas teóricasteóricas

Eventualmente, exercícios poderão Eventualmente, exercícios poderão valer notavaler nota

As As provas provas serão realizadas em aulas de serão realizadas em aulas de laboratóriolaboratório

Em semana de prova, a prova Em semana de prova, a prova substituirásubstituirá as as aulas de laboratórioaulas de laboratório

Os Os trabalhos laboratoriaistrabalhos laboratoriais devem começar devem começar nas aulas de lab e continuar nas aulas de lab e continuar em casaem casa

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

Ambientes de programação em Linguagem Ambientes de programação em Linguagem C:C:

CodeBlocks: CodeBlocks: poderá ser usado para a maioria poderá ser usado para a maioria dos trabalhos laboratoriaisdos trabalhos laboratoriais

Dev C++: Dev C++: poderá ser usado para trabalhos poderá ser usado para trabalhos sobre o sobre o vídeo-gráficovídeo-gráfico; ;

Borland C++ 5.0: Borland C++ 5.0: era usado até o ano era usado até o ano passadopassado

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

Monitor para a disciplina CES-10:Monitor para a disciplina CES-10:

Estará Estará presente nas aulas de Lab presente nas aulas de Lab para para ajudar o professor na ajudar o professor na assistência assistência aos alunos, aos alunos, em caso de dúvidas e/ou dificuldadesem caso de dúvidas e/ou dificuldades

Dará Dará plantão de dúvidasplantão de dúvidas aos alunos, duas aos alunos, duas horas semanais; horário a combinar com os horas semanais; horário a combinar com os alunosalunos

0.6 – Metodologia e Carga 0.6 – Metodologia e Carga horáriahorária

Importante:Importante:

Só será permitido o uso de Só será permitido o uso de Lap-TopsLap-Tops em sala de em sala de aula para acompanhamento das aula para acompanhamento das aulas de CES-10aulas de CES-10

CelularesCelulares deverão ser deverão ser desligadosdesligados durante as durante as aulasaulas

Nas aulas de lab, os computadores da sala Nas aulas de lab, os computadores da sala não não poderão ser desconectadospoderão ser desconectados, para evitar danos, para evitar danos

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.7 – Critérios de Avaliação0.7 – Critérios de Avaliação

Por bimestre: 2 provas e de 4 a 6 laboratóriosPor bimestre: 2 provas e de 4 a 6 laboratórios

Nota Bimestre Nota Bimestre = =

(média das provas + média dos labs) / 2(média das provas + média dos labs) / 2

Exame final: Exame final: misto de uma prova e dois misto de uma prova e dois laboratórioslaboratórios

Nota Exame Nota Exame ==

(6.5 * Média das notas dos labs + 3.5 * Nota da (6.5 * Média das notas dos labs + 3.5 * Nota da prova) / 10prova) / 10

Em algumas provas será permitido Em algumas provas será permitido consultarconsultar materiais indicados pelo professormateriais indicados pelo professor

0.7 – Critérios de Avaliação0.7 – Critérios de Avaliação

Nota bimestre Nota bimestre = =

(média das provas + média dos labs) / 2(média das provas + média dos labs) / 2

O O pesopeso de cada lab dependerá de seu de cada lab dependerá de seu grau de grau de dificuldadedificuldade

Eventuais Eventuais exercíciosexercícios em sala serão em sala serão computadoscomputados na média das provas na média das provas

As provas, os exercícios, os laboratórios e o As provas, os exercícios, os laboratórios e o exame são de caráter exame são de caráter individualindividual

0.7 – Critérios de Avaliação0.7 – Critérios de Avaliação

Tendo sido determinadas todas as notas de provas Tendo sido determinadas todas as notas de provas e labs (bimestres e exame), para ser e labs (bimestres e exame), para ser aprovadoaprovado o aluno precisa obter: o aluno precisa obter:

Média geralMédia geral (de acordo com o regulamento do (de acordo com o regulamento do ITA) ≥ ITA) ≥ 6.56.5

Média simples de notas de Média simples de notas de provaprova (bimestres e (bimestres e exame) ≥ exame) ≥ 5.05.0

Média simples de notas de Média simples de notas de lablab (bimestres e (bimestres e exame) ≥ exame) ≥ 5.05.0

0.7 – Critérios de Avaliação0.7 – Critérios de Avaliação

Os trabalhos laboratoriais terão Os trabalhos laboratoriais terão prazo de prazo de entregaentrega

Será descontado Será descontado meio pontomeio ponto para cada para cada dia de dia de atrasoatraso (considerando notas de zero a dez) (considerando notas de zero a dez)

Trabalhos entregues com Trabalhos entregues com 2 semanas2 semanas ou mais ou mais de atraso de atraso não serão aceitosnão serão aceitos

O caráter individual – lembrar a DC:O caráter individual – lembrar a DC:

O que não é permitido:O que não é permitido:

Olhar ou copiar o lab de outro aluno ou o lab Olhar ou copiar o lab de outro aluno ou o lab de anos anterioresde anos anteriores

Sentar junto com um colega em dificuldades e Sentar junto com um colega em dificuldades e fazer o lab ou parte do lab para elefazer o lab ou parte do lab para ele

Dois alunos sentarem e fazerem o código do Dois alunos sentarem e fazerem o código do lab juntoslab juntos

Pegar da Internet código pronto para usar no Pegar da Internet código pronto para usar no lablab

O caráter individual – lembrar a DC:O caráter individual – lembrar a DC:

O que é permitido:O que é permitido:

Usar material (slides e apostilas) de outros Usar material (slides e apostilas) de outros professoresprofessores

Trocar idéia com algum colega (sem olhar o Trocar idéia com algum colega (sem olhar o código) sobre como o lab deve ser feitocódigo) sobre como o lab deve ser feito

Um aluno que já terminou o lab sentar junto Um aluno que já terminou o lab sentar junto com outro para ajudá-lo a encontrar um erro com outro para ajudá-lo a encontrar um erro no programano programa

O caráter individual – lembrar a DC:O caráter individual – lembrar a DC:

O que é permitido:O que é permitido:

Dois alunos sentarem e bolarem parte da Dois alunos sentarem e bolarem parte da solução antes de programaremsolução antes de programarem

Pegar da Internet material didáticoPegar da Internet material didático

Pode indicar o site a colegas, mas cada um Pode indicar o site a colegas, mas cada um deve pessoalmente ser responsável pelo que deve pessoalmente ser responsável pelo que pegou da Internetpegou da Internet

Capítulo Zero - Capítulo Zero - ApresentaçãoApresentação

0.1 – Professor e alunos0.1 – Professor e alunos

0.2 – Objetivos gerais da disciplina0.2 – Objetivos gerais da disciplina

0.3 – O computador na sociedade0.3 – O computador na sociedade

0.4 – Relevância da disciplina0.4 – Relevância da disciplina

0.5 – Programa da disciplina0.5 – Programa da disciplina

0.6 – Metodologia e carga horária0.6 – Metodologia e carga horária

0.7 – Critérios de avaliação0.7 – Critérios de avaliação

0.8 – Bibliografia 0.8 – Bibliografia

0.8 – Bibliografia 0.8 – Bibliografia

0.8.1 – Bibliografia 0.8.1 – Bibliografia básicabásica

Mokarzel, F.C.; Soma, Mokarzel, F.C.; Soma, N.Y. N.Y. Introdução à Introdução à Ciência da Ciência da ComputaçãoComputação. Rio de . Rio de Janeiro: Campus-Janeiro: Campus-Elsevier, 2008.Elsevier, 2008.Espinha dorsal da disciplina

Resultado de muitos anos ministrando a disciplina

0.8 – Bibliografia 0.8 – Bibliografia

0.8.1 – Bibliografia 0.8.1 – Bibliografia básicabásica

Mizrahi, V.V. Mizrahi, V.V. Treinamento em Treinamento em Linguagem CLinguagem C. 2ª . 2ª Edição. São Paulo: Edição. São Paulo: Pearson, 2008.Pearson, 2008.

0.8 – Bibliografia 0.8 – Bibliografia

0.8.1 – Bibliografia 0.8.1 – Bibliografia básicabásica

Kelley, A.; Pohl, I. Kelley, A.; Pohl, I. A A Book on CBook on C. Redwood . Redwood City: Benjamin City: Benjamin Cummings, 1995.Cummings, 1995.

0.8 – Bibliografia 0.8 – Bibliografia

0.8.1 – Bibliografia 0.8.1 – Bibliografia básicabásica

Slides de CES-10 – Prof. Slides de CES-10 – Prof. Mokarzel, 2011Mokarzel, 2011

0.8 – Bibliografia 0.8 – Bibliografia

0.8.1 – Bibliografia 0.8.1 – Bibliografia básicabásica

Slides de CES-10 – Profa. Slides de CES-10 – Profa. Juliana, 2009Juliana, 2009

0.8 – Bibliografia 0.8 – Bibliografia

0.8.1 – Bibliografia 0.8.1 – Bibliografia básicabásica

Slides de CES-10 – Prof. Slides de CES-10 – Prof. Guerra, 2009Guerra, 2009

0.8 – Bibliografia 0.8 – Bibliografia

0.8.2 – Bibliografia 0.8.2 – Bibliografia suplementarsuplementar

Saliba, W.L.C. Saliba, W.L.C. Técnicas Técnicas de Programação: de Programação: uma Abordagem uma Abordagem EstruturadaEstruturada. São . São Paulo: Makron, 1992.Paulo: Makron, 1992.

0.8 – Bibliografia 0.8 – Bibliografia

0.8.2 – Bibliografia 0.8.2 – Bibliografia suplementarsuplementar

Schildt, H. Schildt, H. C Completo C Completo e Totale Total. 3ª Edição . 3ª Edição São Paulo: Makron, São Paulo: Makron, 1997.1997.

0.8 – Bibliografia 0.8 – Bibliografia

0.8.2 – Bibliografia 0.8.2 – Bibliografia suplementarsuplementar

Kernighan B.W.; Ritchie Kernighan B.W.; Ritchie D.M. D.M. The C The C Programming Programming LanguageLanguage. 2. 2ndnd Edition Englewood Edition Englewood Cliffs: Prentice Hall, Cliffs: Prentice Hall, 1988.1988.

0.8 – Bibliografia 0.8 – Bibliografia

0.8.3 – 0.8.3 – Sites da InternetSites da Internet

Wikipedia: precursores do computador, circuitos Wikipedia: precursores do computador, circuitos integrados e história dos microprocessadores integrados e história dos microprocessadores

www.vas-y.com/dicas/historia/default.htm - www.vas-y.com/dicas/historia/default.htm - História dos Computadores História dos Computadores

ftp://[email protected]/DCA0800/ftp://[email protected]/DCA0800/historico.pdf historico.pdf

http://www.ic.uff.br/~otton/graduacao/http://www.ic.uff.br/~otton/graduacao/informaticaI/computadores_por_imagens.html – informaticaI/computadores_por_imagens.html – figuras históricas dos primórdios da computaçãofiguras históricas dos primórdios da computaçãoHá uma infinidade de

sites na Internet sobre o assunto