DOMÊNICO MEDEIROS ICARO TORRES JOÃO GERALDO JONATHAS SANTOS Áreas de Ciência da Computação
Top 10 Universidades com os melhores cursos da Área no Brasil Unicamp - Bacharelado em Ciência da Computação  Unicamp - Engenharia de computação  UFRGS - Ciência da Computação  ICMC/USP/São Carlos - Bacharelado em ciência da computação USP/Poli - Engenharia da Computação  ITA - Engenharia de computação  Poli/USP - Engenharia Elétrica - Ênfase em Computação  UFRGS - Engenharia da Computação  UFMG - Bacharelado em Ciência da Computação  UFRJ - Bacharelado em ciência da computação
Áreas da Ciência da Computação Teoria da Computação Computabilidade e Modelos de Computação Linguagem Formais e Automatos Análise de Algoritmos e Complexidade de Computação Lógicas e Semântica de Programas Matemática da Computação Matemática Simbólica Modelos Analíticos e de Simulação
Áreas da Ciência da Computação Metodologia e Técnicas da Computação Linguagens de Programação Engenharia de Software Banco de Dados Sistemas de Informação Processamento Gráfico (Graphics) Sistemas de Computação Hardware Arquitetura de Sistemas de Computação Software Básico Teleinformática
ALUNO: JOÃO GERALDO DE SANTANA OLIVEIRA Lost171.blogspot.com Teoria da Computação
Teoria da computação O que é computação? Problema Solução COMPUTAÇÃO (ALGORITMO)
Teoria da Computação Matemática Teoria da Computação Ciência da Computação
Teoria da Computação Objetivo principal? Classificação dos problemas computacionais: Problemas indecidíveis .  Problemas intratáveis. Problemas tratáveis.
Teoria da computação Importância da TC é dupla: Apóia aspectos teóricos da CC. Fundamenta diversas aplicações computacionais. Importância no campo cognitivo: Proporciona mais um estágio no raciocínio lógico. No desenvolvimento de demonstrações e de suas técnicas. No desenvolvimento da capacidade de abstração.
Computabilidade e Modelos de Computação Computabilidade? Finalidades: Estudo da solucionabilidade de problemas. Investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Evitar a pesquisa de soluções inexistentes. Ex: Hilbert em 1901.
Computabilidade e Modelos de Computação Capacidade computacional plena (computabilidade):  surge no momento em que a linguagem de máquina, na qual o programa é construído, permite a construção de sentenças suficientemente poderosas (programas P0), cuja a execução permite a entrada de dados na linguagem abstrata, onde essa linguagem abstrata torna-se tão poderosa quanto L0.  Os primeiro modelos de computabilidade, foram com:  Kurt Göedel - funções recursivas.   Alonso Church - lambda-calculus. Alan Turing – Máquina de Turing.
Máquina de Turing
Linguagens Formais e Autômatos Teoria das linguagens formais e dos autômatos: Início: Aplicações mais recentes:  animações, hipertextos e hipermídias e em linguagens não -lineares (planares, espaciais, n-dimensionais).
Linguagens formais e Autômatos As linguagens formais são mecanismos p/ representação e especificação de linguagens baseado na TC. As principais representações podem ser: Reconhecedores. Geradores. Objetivo da LFA?
ALUNO: JONATHAS SANTOS DA SILVA Lost171.blogspot.com Análise de Algoritmos e Complexidade Computacional
Análise de Algoritmos E Complexidade Computacional Análise de Algoritmos Determina os recursos necessários para executar um dado algotimo; A eficiência ou complexidade de um algoritmo depende: Do tamanho do problema; Do número de passos necessários ( complexidade temporal ); Da complexidade espacial ou de memória do sistema usado para executar o algoritmo.  Esta disciplina faz parte da mais vasta teoria da complexidade computacional, que permite fazer estimativas quanto aos recursos necessários para que um algoritmo resolva um determinado problema computacional
Análise de Algoritmos E Complexidade Computacional Complexidade Computacional A Complexidade de um algoritmo consiste na quantidade de "trabalho" necessária para a sua execução, expressa em função das operações fundamentais, as quais variam de acordo com o algoritmo, e em função do volume de dados. Se divide em dois tipos: Espacial  Temporal  São usadas três perspectivas no estudo da complexidade algorítmica. Melhor caso - Ω( )  Caso médio - θ( )  Pior caso - O( )
Lógica e Semântica de Programas Lógica de Programas Muitos programadores preferem preparar um programa iniciando com um diagrama de blocos para demonstrar sua linha de raciocínio lógico. Esse diagrama, denominado fluxograma.   A técnica mais importante no projeto da lógica de programas é chamada programação estruturada, a qual consiste: Agilizar a codificação da escrita da programação; Facilitar a depuração da leitura da mesma; Permitir a verificação de possíveis falhas apresentadas pelos programas; Facilitar as alterações e atualizações dos programas;
Lógica e Semântica de Programas Semântica de Programas Semântica se referia ao estudo de como palavras mudam o seu significado. Atualmente: designar o estudo da relação existente entre palavras e sentenças de uma linguagem (falada ou escrita) e seus significados. Áreas: lingüística (e filosofia), lógica matemática, linguagens de programação.   Os objetivos do estudo de semântica de linguagens de programação são  bastante diferentes daqueles de semântica para linguagens naturais ou lógica matemática, mas ainda assim existe uma interseção nos métodos utilizados.
Lógica e Semântica de Programas Design de uma linguagem de programação = gramática + semântica para essa gramática. Considere o exemplo (em inglês): Time flies like an arrow. Fruit flies like a banana. Na primeira sentença, “flies" é um verbo, enquanto que na segunda é um substantivo. Ou seja, é impossível construir uma semântica para a língua inglesa baseada apenas na sua gramatica.
Lógica e Semântica de Programas Programas bem taipados, assim como os tipos usados nesses programas, possuem significado. Existem métodos formais usados na definição da semântica de linguagens de programação. Duas diferentes abordagens são usualmente empregadas: Semântica denotacional. Semântica operacional.
ALUNO: ÍCARO DA SILVA TÔRRES Lost171.blogspot.com Matemática da Computação e Modelos Analíticos e de Simulação
Matemática da Computação Área que trata do desenvolvimento de modelos matemáticos, problemas complexos, e métodos numéricos de obtenção de soluções. Colabora na solução de problemas das ciências exatas e de outras áreas quaisquer. No Brasil colabora fortemente com a computação científica, com três centros de estudo avançado Para quê estudar?: para desenvolver programas que aplicando a matemática simbolicamente, resolvam problemas de interesse cientifico ou computacional de maneira exata .
Centros de Estudo e atuações Na UFMG(com um curso de graduação), em Belo Horizonte. Na Unicamp(com o curso de matemática aplicada e computacional), em  Campinas Na USP de São Carlos.  Possui integração com a Modelagem Computacional Atua na interface com outras ciências
Matemática Simbólica O uso de computadores na utilização de símbolos (simbólica) de equações e expressões, em oposição à manipulação de aproximações a quantidades numéricas específicas representadas pelos símbolos  Funcionalidades: Integração, diferenciação, substituição e simplificação de expressões, derivação e outras funções matemáticas podem ser realizadas com esses softwares.  Alem de Testes de software sob o título de “execução simbólica” usado para analisar se e quando o código pode ter erros e para prever o que partes desse código iram fazer com inputs e outputs especificados nos testes.
Sistema de álgebra computacional Há vários softwares para matemática simbólica, normalmente chamados sistemas de álgebra computacional Um sistema de álgebra computacional é um programa que facilita o cálculo na matemática simbólica.  Normalmente, os sistemas incluem:   P recisão aritmética arbitrária (bignum) Motor de manipulação simbólica   Facilidades gráficas Subsistema de álgebra linear Linguagem de programação de alto nível Sistema de composição para expressões matemáticas
Historia desses softwares O seu aparecimento começou  na década de 1970 e evoluíram a partir de pesquisas para inteligência artificial. Reduce, Macsyma e Derive foram os primeiros a se popularizarem.  Atualmente os líderes do mercado desses softwares são Maple e Mathematica, muito usados por pesquisadores e cientistas de várias áreas. Um desses softwares comerciais, o MuPAD ,  foi um que ofereceu uma versão grátis para pesquisa não comercial e uso educacional (com sua interface e funções restritas). Alguns desses softwares atuam em áreas específicas,  de interesse de seus desenvolvedores, que comumente são estudantes, e geralmente esses softwares são gratuitos.
Softwares de Matemática Simbólica e suas funções Uso genérico Comercial Maple Mathematica MATLAB Software gratuito Scilab GNU Octaver Maxima geometria algébrica, computações polinomiais: Macaulay SINGULAR Teoria de grafos VEGA álgebra, teoria de grupos Magma Teoria numérica: PARI-GP gratuito calculadoras com sistemas de álgebra TI-92 (baseado em tecnologia Derive) HP 49G+
Exemplos gráficos Gráfico feito com Mathematica Superfície feita usando MATLAB com as condi ç ões iniciais: dsolve( {diff(y(x),x,x) - 3*y(x) = x, y(0)=1, D(y)(0)=2}, y(x) );   Exemplo de código Maple Scilab - exemplo 3d. Captura de tela no GNU Octave
Algumas Aplicações
Exemplos de Exibição de resultados
Gráfico 2D
Gráfico 3D
Gráfico de Superfície
Modelos analíticos e de Simulação Para prever o desempenho de um sistema cliente/servidor, é necessário decidir o modelo que melhor o representa. Conceitos Analíticos  são fórmulas que definem de forma exata ou aproximada o comportamento do sistema Simulação  são algoritmos ou procedimentos que representam o comportamento do sistema em uma escala de tempo.
O modelo de desempenho ao nível de sistema  O modelo de desempenho ao nível de componentes Níveis de detalhamento. Dentre os níveis possíveis destacam-se dois:
Modelo de desempenho ao nível de Sistema É modelado como uma “caixa preta”. Nível de explicitação sobre o sistema é baixo. É analisado como um conjunto de componentes realizando a analise do funcionamento geral sem alto rigor de detalhes por componentes. Realiza analise dos componentes simultaneamente.
Modelo de desempenho ao nível de Componentes Considera diferentes recursos do sistema e o modo como eles são usados pelas diferentes requisições. Discos e redes são explicitamente considerados pelo modelo, mais preciso sobre o sistema e mais lento. Cada recurso do sistema representa uma fila. Para filas limitadas, pode se analisar a partir das equações que representam o tempo de espera e o tamanho da fila.
ALUNO: DOMÊNICO MEDEIROS TRAVÁLIA Lost171.blogspot.com Engenharia de Software e Banco de Dados
Áreas de Engenharia de Software Requisitos de Software Projeto de Software Implementação de Software Testes de Software Manutenção de Software Gerência de Configuração Métodos e Ferramentas de Engenharia de Software Qualidade de Software
Áreas de Banco de Dados Banco de Dados Distribuídos Banco de Dados Geográficos Banco de Dados Hierárquico Banco de Dados Orientado a Objetos
ALUNO: JOÃO GERALDO DE SANTANA OLIVEIRA Lost171.blogspot.com Sistemas de Informação
Sistemas de Informação Sistemas de Informação:  É o termo para descrever um sistema automatizado, q estende a pessoas, máquinas e métodos organizados para coletar, processar, transmitir e disseminar dados q representam informação ao usuário. Área de conhecimento; Foco;
Sistemas de Informação Componentes de um SI
Sistemas de Informação Classificassão dos SI baseado em TI de acordo com a informação processada: Sistemas de Informação operacionais. Sistemas de Informação gerencial. Sistemas de Informação estratégico.
Sistemas de Informação Apoio às  Estratégias para Vantagem Competitiva Apoio à Tomada de Decisão Empresarial Apoio às Operações e aos Processos
Tipos de Sistemas de Informação GRUPOS ASSISTIDOS Nível Estratégico Gerentes Seniores Nível Gerencial Gerentes de Nível Médio Nível Operacional Vendas e Marketing Produção Finanças Contabilidade Recursos Humanos Ajudam gerentes seniores no planejamento de longo prazo SAD – Sistemas de Apoio à Decisões Gerentes Operacionais SIE – Sistemas de Informações Executivas Ajudam gerentes de nível médio a monitorar e controlar SIG – Sistemas de Informações Gerenciais Ajudam os gerentes operacionais a monitorar atividades diárias. ST – Sistemas Transacionais
Sistemas de Informação Sistemas Transacionais( sistemas de informação operacional ) Coletar dados existentes nos documentos da organização.  Ordenar esses dados afim de facilitar o acesso a eles. Permitir consulta aos dados detalhados ou agregados. Gerar relatórios p/ auditoria e fiscalização. Sistemas de Informação Gerenciais Fornecer informações p/ o planejamento operacional, tático e até mesmo estratégico da organização.  Fornecer um conj. de relatórios resumidos sobre o desempenho da organização.
Sistemas de Informação Integrar dados de diversas aplicações e transformar em informação.  Entrada: alto volume de dados. Saída: relatórios e sumários executivos. Ex.: Orçamento anual de uma organização. Sistemas de Informação Executivas( sistemas de informação estratégico ) Promover informações de modo acessível, sem precisar que o executivo seja um especialista em análise e modelo de dados. Gerar mapas, gráficos e dados que  possam ser submetidos à análise estatística p/ dar aos executivos informações comparativas fáceis de se entender.
Sistemas de Informação Nível estratégico. Entrada: dados agregados. Saída: projeções. Usuário: Gerentes Seniores. Ex.: Plano operacional quinquenal.
Sistemas de Informação
Sistemas de Informação Pós-graduação em segurança de SI. Pós-graduação em gestão da segurança da informação. Pós-graduação em Tecnologia e sistemas de informação. MBA em SI. Especialização em projetos e desenvolvimento de sistemas  em ambientes mainframe. Especialização em redes e segurança de sistemas.
ALUNO: JONATHAS SANTOS DA SILVA Lost171.blogspot.com Linguagem de Programação e Processamento Gráfico
Linguagens de Programação Uma  linguagem de programação  é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador O conjunto de palavras compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.
Processamento Gráfico Esta cadeira possui duas áreas distintas: Processamento de Imagens e Computação Gráfica. Na primeira área, são estudados os principais algoritmos para tratamento de imagens, ruídos e filtros, especialmente.  A segunda área ensina como é realizada a síntese de imagens: transformações espaciais (rotações, translações, escalas), algoritmos de rasterização, modelos de iluminação, tratamento de colisão, etc.. É analisado o  pipeline  gráfico 2D e 3D.
ALUNO: DOMÊNICO MEDEIROS TRAVÁLIA Lost171.blogspot.com Software Básico
Áreas de Software Básico O que são Sistemas Operacionais? É um programa de computador, que após o processo de boot da maquina, realiza 2 tarefas básicas:
O que são Sistemas Operacionais? Gerencia os recursos de HW de forma que  sejam utilizados da melhor e mais simples forma possível. Promovem as funções básicas para que programas passam ser escritos com maior facilidade, de modo que os programas não precisem conhecer detalhes do HW para poder funcionar. Áreas de Software Básico
Áreas de Software Básico
Áreas de Software Básico Então O que é Software Básico? É uma camada de software que trabalho em um nível intermediário de acesso com o Sistema Operacional.
Áreas de Software Básico O que é Software Aplicativo? São as ferramentas desenvolvidas utilizando as funcionalidades disponíveis pelo SO operacional para executar tarefas a fim.
Áreas de Software Básico
ALUNO: ÍCARO DA SILVA TÔRRES Lost171.blogspot.com Hardwares e Arquiteturas de Sistemas de Computação
Hardwares Para quê estudar?: Estudamos Hardwares para conhecermos o funcionamento dos recursos físicos dos sistemas, suas funções, seus variados tipos de uso, controle e manutenção.  Conceito: Os Hardwares são dispositivos físicos que manipulam dados na forma digital, o que proporciona uma maneira confiável de representação e transmissão de dados  “ Um sistema computacional é um conjunto de circuitos eletrônicos interligados, (os Hardwares)”. São agrupados em três subsistemas básicos (Unidades funcionais). São elas:  CPU (processador): o cérebro de todo sistema computacional. É a unidade lógica e aritmética de processamento.   Memórias: dispositivos removíveis ou rígidos responsáveis por armazenar temporariamente ou em definitivo os dados trabalhados pelo sistema. Dispositivos de entrada e saída: os meios de comunicação entre máquina e usuário, onde o mesmo entra com informações ou comandos e recebe as respostas por tais.
Hardwares Conexão de hardware O computador precisa de conexões físicas que permitem seus componentes de hardware se comunicar e se relacionar entre eles.  O barramento constitui um sistema comum de interconexão, composto por um conjunto de vias ou trilhas que coordenam e transportam as informações entre as partes internas e externas do computador. Uma conexão para comunicação em série é feita através de um cabo ou grupo de cabos utilizados para transferir informações entre a CPU e um dispositivo externo como o  mouse  e o teclado, um  modem , um digitalizador (scanner) e alguns tipos de impressora. Esse tipo de conexão transfere um bit de dado de cada vez, muitas vezes de forma lenta.  A vantagem da transmissão em série é que é mais eficaz a longas distâncias.   Vantagem: A vantagem de transmissão em série é que é mais eficaz a longas distâncias.
Arquiteturas de Computadores Definição:  São os diferentes modos como os computadores são produzidos e como são arquitetadas as interligações de seus componentes. Diz-se que são basicamente as divergências entre as fabricações dos computadores. História:  Com a crescente popularização dos computadores, surge a necessidade da interação de um equipamento com o outro, e com isso também a necessidade de se criar um padrão. Em meados de 1980, somente duas, das arquiteturas existentes até então, resistiram ao tempo e se tornaram populares. Foram: o PC (Personal Computer) em português Computador Pessoal, desenvolvido pela empresa IBM, e o Macintosh (ou apenas Mac como também é conhecido) desenvolvido pela Apple. Como o PC da IBM se tornou na época a arquitetura dominante, o padrão adotado para os computadores que conhecemos hoje se tornou o padrão da IBM.
Arquiteturas de Computadores Arquitetura aberta:   Foi Desenvolvida inicialmente pela IBM e é a mais aceita atualmente. Consiste em permitir que outras empresas fabriquem computadores com a mesma arquitetura. Positivos ao usuário:  Permite ao usuário maiores opções de configuração e o poder de montar seu próprio computador de acordo com necessidades e custos de cada usuário. Negativos ao usuário :  Os conflitos de hardware O computador funciona mais lento e com menor qualidade se comparado a computadores de arquitetura fechada.
Arquiteturas de Computadores Arquitetura fechada:   Implica em, uma empresa fabricante de certa arquitetura não permitir o uso da arquitetura por outras empresas, ou ter o controle sobre as empresas que fabricam computadores de sua arquitetura. Positivos ao usuário :  Os conflitos de hardware diminuem muito, faz o computador funcionar mais rápido e melhor.  Negativos ao usuário :  O usuário fica restrito a produtos da empresa e não pode montar o seu próprio computador.  Nem uma nem outra:  A Apple não pertence exatamente a uma arquitetura fechada, mas a ambas as arquiteturas, sendo a única empresa que produz computadores que podem correr o seu sistema operativo de forma legal, mas também fazendo parte do mercado de compatíveis IBM.
Arquiteturas de Sistemas Conceito:  O conjunto definido de instruções de máquina que fazem referências a detalhes como registores, modos de endereçamento e tipos de dados que caracterizam um processador e suas funcionalidades.  Para quê estudar?  Estudamos Arquiteturas de Sistemas para conhecer melhor as disparidades entre as arquiteturas, suas características, seus problemas, qual arquitetura usar para fazer um programa, em qual arquitetura atuará um programa desejado e como fazer isso tudo. Características: quantidade de instruções, Modo de endereçamento, tipos de dados, funcionalidades. Cada processador possui uma arquitetura, definida pelo seu fabricante. Compatibilidade: Um programa não pode ser executado em outra máquina de arquitetura diferente da que foi programado para atuar, pois instruções de um processador é característica específica de cada arquitetura e os comandos funções e resultados não seriam compatíveis entre elas.
Arquitetura RISC A sigla RISC vem da expressão em inglês (Reduced Instrution Set Computer) e significa Conjunto Computacional de Instruções Reduzidas. Características: Possui poucas instruções de máquina, bastante simples, executadas diretamente pelo hardware. Maioria não acessa a memória principal, trabalha principalmente com registradores, que se apresentam em grande número neste tipo de processador. Facilidades: permitem que as instruções sejam executadas rapidamente, facilitam a implementação da técnica de pipelining*. Pipelining refere-se à técnica que permite ao processador executar várias instruções em diferentes etapas.
Arquitetura CISC A sigla CISC vem da expressão em inglês (Complex Instrution Set Computer) e é traduzida como Conjunto Computacional de Instruções Complexas. Características: possuem instruções complexas que são interpretadas por microprogramas. O número de registradores é pequeno e qualquer instrução pode referenciar a memória principal.  Complicações: as instruções demoram mais para serem executadas e a implementação da técnica de pipelining* é mais difícil. Pipelining refere-se à técnica que permite ao processador executar várias instruções em diferentes etapas.
ALUNO: JOÃO GERALDO DE SANTANA OLIVEIRA Lost171.blogspot.com Teleinformática
Teleinformática O que é a Teleinformática? Dados Analógicos. Dados Digitais.
Teleinformática
Teleinformática Objetivo do estudo da teleinformática: Dar a teoria e prática necessária p/ lidar com transmissão de dados, softwares operacionais, placas de rede, swiches, modens, sistemas de rádio e TV, satélites, fibras ópticas. Desenvolve projetos  e análise de sistemas em empresas da área de teleinformática. Habilidade de gerenciamento em redes de computadores
ALUNO: DOMÊNICO MEDEIROS TRAVÁLIA Lost171.blogspot.com Evolução Acadêmica e Pós-Graduações
Evolução Acadêmica Graduação Bacharelado Licenciatura Pós-Graduação Lato Sensu Especialização Stricto Sensu Mestrado Doutorado
Especialização O que é Lato Sensu? O que é Especialização?
Mestrado O que é Stricto Sensu? O que é Mestrado? Para que serve? O que é Mestrado Acadêmico? O que é Mestrado Profissionalizante? Qual a diferença entre o Mestrado Acadêmico e o Mestrado Profissionalizante? Há possibilidade de Migração entre o Mestrado Acadêmico e o Mestrado Profissionalizante?
Mestrado Como é o processo de admissão? Qual é a documentação necessária? Qual é a função do orientador de programa? Qual é função do orientador de dissertação? Qual é o tempo mínimo e máximo para terminar o Mestrado?
Doutorado Qual a diferença entre um Mestrado e um Doutorado? Qual é o tempo mínimo e máximo para terminar o Doutorado? O que é Doutorado Direto? O que é Doutorado Sanduíche?
That’s All!! Lost171.blogspot.com LOST171

Trabalho Lost171 (Atualizado)

  • 1.
    DOMÊNICO MEDEIROS ICAROTORRES JOÃO GERALDO JONATHAS SANTOS Áreas de Ciência da Computação
  • 2.
    Top 10 Universidadescom os melhores cursos da Área no Brasil Unicamp - Bacharelado em Ciência da Computação Unicamp - Engenharia de computação UFRGS - Ciência da Computação ICMC/USP/São Carlos - Bacharelado em ciência da computação USP/Poli - Engenharia da Computação ITA - Engenharia de computação Poli/USP - Engenharia Elétrica - Ênfase em Computação UFRGS - Engenharia da Computação UFMG - Bacharelado em Ciência da Computação UFRJ - Bacharelado em ciência da computação
  • 3.
    Áreas da Ciênciada Computação Teoria da Computação Computabilidade e Modelos de Computação Linguagem Formais e Automatos Análise de Algoritmos e Complexidade de Computação Lógicas e Semântica de Programas Matemática da Computação Matemática Simbólica Modelos Analíticos e de Simulação
  • 4.
    Áreas da Ciênciada Computação Metodologia e Técnicas da Computação Linguagens de Programação Engenharia de Software Banco de Dados Sistemas de Informação Processamento Gráfico (Graphics) Sistemas de Computação Hardware Arquitetura de Sistemas de Computação Software Básico Teleinformática
  • 5.
    ALUNO: JOÃO GERALDODE SANTANA OLIVEIRA Lost171.blogspot.com Teoria da Computação
  • 6.
    Teoria da computaçãoO que é computação? Problema Solução COMPUTAÇÃO (ALGORITMO)
  • 7.
    Teoria da ComputaçãoMatemática Teoria da Computação Ciência da Computação
  • 8.
    Teoria da ComputaçãoObjetivo principal? Classificação dos problemas computacionais: Problemas indecidíveis . Problemas intratáveis. Problemas tratáveis.
  • 9.
    Teoria da computaçãoImportância da TC é dupla: Apóia aspectos teóricos da CC. Fundamenta diversas aplicações computacionais. Importância no campo cognitivo: Proporciona mais um estágio no raciocínio lógico. No desenvolvimento de demonstrações e de suas técnicas. No desenvolvimento da capacidade de abstração.
  • 10.
    Computabilidade e Modelosde Computação Computabilidade? Finalidades: Estudo da solucionabilidade de problemas. Investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Evitar a pesquisa de soluções inexistentes. Ex: Hilbert em 1901.
  • 11.
    Computabilidade e Modelosde Computação Capacidade computacional plena (computabilidade): surge no momento em que a linguagem de máquina, na qual o programa é construído, permite a construção de sentenças suficientemente poderosas (programas P0), cuja a execução permite a entrada de dados na linguagem abstrata, onde essa linguagem abstrata torna-se tão poderosa quanto L0. Os primeiro modelos de computabilidade, foram com: Kurt Göedel - funções recursivas. Alonso Church - lambda-calculus. Alan Turing – Máquina de Turing.
  • 12.
  • 13.
    Linguagens Formais eAutômatos Teoria das linguagens formais e dos autômatos: Início: Aplicações mais recentes: animações, hipertextos e hipermídias e em linguagens não -lineares (planares, espaciais, n-dimensionais).
  • 14.
    Linguagens formais eAutômatos As linguagens formais são mecanismos p/ representação e especificação de linguagens baseado na TC. As principais representações podem ser: Reconhecedores. Geradores. Objetivo da LFA?
  • 15.
    ALUNO: JONATHAS SANTOSDA SILVA Lost171.blogspot.com Análise de Algoritmos e Complexidade Computacional
  • 16.
    Análise de AlgoritmosE Complexidade Computacional Análise de Algoritmos Determina os recursos necessários para executar um dado algotimo; A eficiência ou complexidade de um algoritmo depende: Do tamanho do problema; Do número de passos necessários ( complexidade temporal ); Da complexidade espacial ou de memória do sistema usado para executar o algoritmo. Esta disciplina faz parte da mais vasta teoria da complexidade computacional, que permite fazer estimativas quanto aos recursos necessários para que um algoritmo resolva um determinado problema computacional
  • 17.
    Análise de AlgoritmosE Complexidade Computacional Complexidade Computacional A Complexidade de um algoritmo consiste na quantidade de "trabalho" necessária para a sua execução, expressa em função das operações fundamentais, as quais variam de acordo com o algoritmo, e em função do volume de dados. Se divide em dois tipos: Espacial Temporal São usadas três perspectivas no estudo da complexidade algorítmica. Melhor caso - Ω( ) Caso médio - θ( ) Pior caso - O( )
  • 18.
    Lógica e Semânticade Programas Lógica de Programas Muitos programadores preferem preparar um programa iniciando com um diagrama de blocos para demonstrar sua linha de raciocínio lógico. Esse diagrama, denominado fluxograma. A técnica mais importante no projeto da lógica de programas é chamada programação estruturada, a qual consiste: Agilizar a codificação da escrita da programação; Facilitar a depuração da leitura da mesma; Permitir a verificação de possíveis falhas apresentadas pelos programas; Facilitar as alterações e atualizações dos programas;
  • 19.
    Lógica e Semânticade Programas Semântica de Programas Semântica se referia ao estudo de como palavras mudam o seu significado. Atualmente: designar o estudo da relação existente entre palavras e sentenças de uma linguagem (falada ou escrita) e seus significados. Áreas: lingüística (e filosofia), lógica matemática, linguagens de programação. Os objetivos do estudo de semântica de linguagens de programação são bastante diferentes daqueles de semântica para linguagens naturais ou lógica matemática, mas ainda assim existe uma interseção nos métodos utilizados.
  • 20.
    Lógica e Semânticade Programas Design de uma linguagem de programação = gramática + semântica para essa gramática. Considere o exemplo (em inglês): Time flies like an arrow. Fruit flies like a banana. Na primeira sentença, “flies" é um verbo, enquanto que na segunda é um substantivo. Ou seja, é impossível construir uma semântica para a língua inglesa baseada apenas na sua gramatica.
  • 21.
    Lógica e Semânticade Programas Programas bem taipados, assim como os tipos usados nesses programas, possuem significado. Existem métodos formais usados na definição da semântica de linguagens de programação. Duas diferentes abordagens são usualmente empregadas: Semântica denotacional. Semântica operacional.
  • 22.
    ALUNO: ÍCARO DASILVA TÔRRES Lost171.blogspot.com Matemática da Computação e Modelos Analíticos e de Simulação
  • 23.
    Matemática da ComputaçãoÁrea que trata do desenvolvimento de modelos matemáticos, problemas complexos, e métodos numéricos de obtenção de soluções. Colabora na solução de problemas das ciências exatas e de outras áreas quaisquer. No Brasil colabora fortemente com a computação científica, com três centros de estudo avançado Para quê estudar?: para desenvolver programas que aplicando a matemática simbolicamente, resolvam problemas de interesse cientifico ou computacional de maneira exata .
  • 24.
    Centros de Estudoe atuações Na UFMG(com um curso de graduação), em Belo Horizonte. Na Unicamp(com o curso de matemática aplicada e computacional), em Campinas Na USP de São Carlos. Possui integração com a Modelagem Computacional Atua na interface com outras ciências
  • 25.
    Matemática Simbólica Ouso de computadores na utilização de símbolos (simbólica) de equações e expressões, em oposição à manipulação de aproximações a quantidades numéricas específicas representadas pelos símbolos Funcionalidades: Integração, diferenciação, substituição e simplificação de expressões, derivação e outras funções matemáticas podem ser realizadas com esses softwares. Alem de Testes de software sob o título de “execução simbólica” usado para analisar se e quando o código pode ter erros e para prever o que partes desse código iram fazer com inputs e outputs especificados nos testes.
  • 26.
    Sistema de álgebracomputacional Há vários softwares para matemática simbólica, normalmente chamados sistemas de álgebra computacional Um sistema de álgebra computacional é um programa que facilita o cálculo na matemática simbólica. Normalmente, os sistemas incluem: P recisão aritmética arbitrária (bignum) Motor de manipulação simbólica Facilidades gráficas Subsistema de álgebra linear Linguagem de programação de alto nível Sistema de composição para expressões matemáticas
  • 27.
    Historia desses softwaresO seu aparecimento começou na década de 1970 e evoluíram a partir de pesquisas para inteligência artificial. Reduce, Macsyma e Derive foram os primeiros a se popularizarem. Atualmente os líderes do mercado desses softwares são Maple e Mathematica, muito usados por pesquisadores e cientistas de várias áreas. Um desses softwares comerciais, o MuPAD , foi um que ofereceu uma versão grátis para pesquisa não comercial e uso educacional (com sua interface e funções restritas). Alguns desses softwares atuam em áreas específicas, de interesse de seus desenvolvedores, que comumente são estudantes, e geralmente esses softwares são gratuitos.
  • 28.
    Softwares de MatemáticaSimbólica e suas funções Uso genérico Comercial Maple Mathematica MATLAB Software gratuito Scilab GNU Octaver Maxima geometria algébrica, computações polinomiais: Macaulay SINGULAR Teoria de grafos VEGA álgebra, teoria de grupos Magma Teoria numérica: PARI-GP gratuito calculadoras com sistemas de álgebra TI-92 (baseado em tecnologia Derive) HP 49G+
  • 29.
    Exemplos gráficos Gráficofeito com Mathematica Superfície feita usando MATLAB com as condi ç ões iniciais: dsolve( {diff(y(x),x,x) - 3*y(x) = x, y(0)=1, D(y)(0)=2}, y(x) ); Exemplo de código Maple Scilab - exemplo 3d. Captura de tela no GNU Octave
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
    Modelos analíticos ede Simulação Para prever o desempenho de um sistema cliente/servidor, é necessário decidir o modelo que melhor o representa. Conceitos Analíticos são fórmulas que definem de forma exata ou aproximada o comportamento do sistema Simulação são algoritmos ou procedimentos que representam o comportamento do sistema em uma escala de tempo.
  • 36.
    O modelo dedesempenho ao nível de sistema O modelo de desempenho ao nível de componentes Níveis de detalhamento. Dentre os níveis possíveis destacam-se dois:
  • 37.
    Modelo de desempenhoao nível de Sistema É modelado como uma “caixa preta”. Nível de explicitação sobre o sistema é baixo. É analisado como um conjunto de componentes realizando a analise do funcionamento geral sem alto rigor de detalhes por componentes. Realiza analise dos componentes simultaneamente.
  • 38.
    Modelo de desempenhoao nível de Componentes Considera diferentes recursos do sistema e o modo como eles são usados pelas diferentes requisições. Discos e redes são explicitamente considerados pelo modelo, mais preciso sobre o sistema e mais lento. Cada recurso do sistema representa uma fila. Para filas limitadas, pode se analisar a partir das equações que representam o tempo de espera e o tamanho da fila.
  • 39.
    ALUNO: DOMÊNICO MEDEIROSTRAVÁLIA Lost171.blogspot.com Engenharia de Software e Banco de Dados
  • 40.
    Áreas de Engenhariade Software Requisitos de Software Projeto de Software Implementação de Software Testes de Software Manutenção de Software Gerência de Configuração Métodos e Ferramentas de Engenharia de Software Qualidade de Software
  • 41.
    Áreas de Bancode Dados Banco de Dados Distribuídos Banco de Dados Geográficos Banco de Dados Hierárquico Banco de Dados Orientado a Objetos
  • 42.
    ALUNO: JOÃO GERALDODE SANTANA OLIVEIRA Lost171.blogspot.com Sistemas de Informação
  • 43.
    Sistemas de InformaçãoSistemas de Informação: É o termo para descrever um sistema automatizado, q estende a pessoas, máquinas e métodos organizados para coletar, processar, transmitir e disseminar dados q representam informação ao usuário. Área de conhecimento; Foco;
  • 44.
    Sistemas de InformaçãoComponentes de um SI
  • 45.
    Sistemas de InformaçãoClassificassão dos SI baseado em TI de acordo com a informação processada: Sistemas de Informação operacionais. Sistemas de Informação gerencial. Sistemas de Informação estratégico.
  • 46.
    Sistemas de InformaçãoApoio às Estratégias para Vantagem Competitiva Apoio à Tomada de Decisão Empresarial Apoio às Operações e aos Processos
  • 47.
    Tipos de Sistemasde Informação GRUPOS ASSISTIDOS Nível Estratégico Gerentes Seniores Nível Gerencial Gerentes de Nível Médio Nível Operacional Vendas e Marketing Produção Finanças Contabilidade Recursos Humanos Ajudam gerentes seniores no planejamento de longo prazo SAD – Sistemas de Apoio à Decisões Gerentes Operacionais SIE – Sistemas de Informações Executivas Ajudam gerentes de nível médio a monitorar e controlar SIG – Sistemas de Informações Gerenciais Ajudam os gerentes operacionais a monitorar atividades diárias. ST – Sistemas Transacionais
  • 48.
    Sistemas de InformaçãoSistemas Transacionais( sistemas de informação operacional ) Coletar dados existentes nos documentos da organização. Ordenar esses dados afim de facilitar o acesso a eles. Permitir consulta aos dados detalhados ou agregados. Gerar relatórios p/ auditoria e fiscalização. Sistemas de Informação Gerenciais Fornecer informações p/ o planejamento operacional, tático e até mesmo estratégico da organização. Fornecer um conj. de relatórios resumidos sobre o desempenho da organização.
  • 49.
    Sistemas de InformaçãoIntegrar dados de diversas aplicações e transformar em informação. Entrada: alto volume de dados. Saída: relatórios e sumários executivos. Ex.: Orçamento anual de uma organização. Sistemas de Informação Executivas( sistemas de informação estratégico ) Promover informações de modo acessível, sem precisar que o executivo seja um especialista em análise e modelo de dados. Gerar mapas, gráficos e dados que possam ser submetidos à análise estatística p/ dar aos executivos informações comparativas fáceis de se entender.
  • 50.
    Sistemas de InformaçãoNível estratégico. Entrada: dados agregados. Saída: projeções. Usuário: Gerentes Seniores. Ex.: Plano operacional quinquenal.
  • 51.
  • 52.
    Sistemas de InformaçãoPós-graduação em segurança de SI. Pós-graduação em gestão da segurança da informação. Pós-graduação em Tecnologia e sistemas de informação. MBA em SI. Especialização em projetos e desenvolvimento de sistemas em ambientes mainframe. Especialização em redes e segurança de sistemas.
  • 53.
    ALUNO: JONATHAS SANTOSDA SILVA Lost171.blogspot.com Linguagem de Programação e Processamento Gráfico
  • 54.
    Linguagens de ProgramaçãoUma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador O conjunto de palavras compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.
  • 55.
    Processamento Gráfico Estacadeira possui duas áreas distintas: Processamento de Imagens e Computação Gráfica. Na primeira área, são estudados os principais algoritmos para tratamento de imagens, ruídos e filtros, especialmente. A segunda área ensina como é realizada a síntese de imagens: transformações espaciais (rotações, translações, escalas), algoritmos de rasterização, modelos de iluminação, tratamento de colisão, etc.. É analisado o pipeline gráfico 2D e 3D.
  • 56.
    ALUNO: DOMÊNICO MEDEIROSTRAVÁLIA Lost171.blogspot.com Software Básico
  • 57.
    Áreas de SoftwareBásico O que são Sistemas Operacionais? É um programa de computador, que após o processo de boot da maquina, realiza 2 tarefas básicas:
  • 58.
    O que sãoSistemas Operacionais? Gerencia os recursos de HW de forma que sejam utilizados da melhor e mais simples forma possível. Promovem as funções básicas para que programas passam ser escritos com maior facilidade, de modo que os programas não precisem conhecer detalhes do HW para poder funcionar. Áreas de Software Básico
  • 59.
  • 60.
    Áreas de SoftwareBásico Então O que é Software Básico? É uma camada de software que trabalho em um nível intermediário de acesso com o Sistema Operacional.
  • 61.
    Áreas de SoftwareBásico O que é Software Aplicativo? São as ferramentas desenvolvidas utilizando as funcionalidades disponíveis pelo SO operacional para executar tarefas a fim.
  • 62.
  • 63.
    ALUNO: ÍCARO DASILVA TÔRRES Lost171.blogspot.com Hardwares e Arquiteturas de Sistemas de Computação
  • 64.
    Hardwares Para quêestudar?: Estudamos Hardwares para conhecermos o funcionamento dos recursos físicos dos sistemas, suas funções, seus variados tipos de uso, controle e manutenção. Conceito: Os Hardwares são dispositivos físicos que manipulam dados na forma digital, o que proporciona uma maneira confiável de representação e transmissão de dados “ Um sistema computacional é um conjunto de circuitos eletrônicos interligados, (os Hardwares)”. São agrupados em três subsistemas básicos (Unidades funcionais). São elas: CPU (processador): o cérebro de todo sistema computacional. É a unidade lógica e aritmética de processamento. Memórias: dispositivos removíveis ou rígidos responsáveis por armazenar temporariamente ou em definitivo os dados trabalhados pelo sistema. Dispositivos de entrada e saída: os meios de comunicação entre máquina e usuário, onde o mesmo entra com informações ou comandos e recebe as respostas por tais.
  • 65.
    Hardwares Conexão dehardware O computador precisa de conexões físicas que permitem seus componentes de hardware se comunicar e se relacionar entre eles. O barramento constitui um sistema comum de interconexão, composto por um conjunto de vias ou trilhas que coordenam e transportam as informações entre as partes internas e externas do computador. Uma conexão para comunicação em série é feita através de um cabo ou grupo de cabos utilizados para transferir informações entre a CPU e um dispositivo externo como o mouse e o teclado, um modem , um digitalizador (scanner) e alguns tipos de impressora. Esse tipo de conexão transfere um bit de dado de cada vez, muitas vezes de forma lenta. A vantagem da transmissão em série é que é mais eficaz a longas distâncias. Vantagem: A vantagem de transmissão em série é que é mais eficaz a longas distâncias.
  • 66.
    Arquiteturas de ComputadoresDefinição: São os diferentes modos como os computadores são produzidos e como são arquitetadas as interligações de seus componentes. Diz-se que são basicamente as divergências entre as fabricações dos computadores. História: Com a crescente popularização dos computadores, surge a necessidade da interação de um equipamento com o outro, e com isso também a necessidade de se criar um padrão. Em meados de 1980, somente duas, das arquiteturas existentes até então, resistiram ao tempo e se tornaram populares. Foram: o PC (Personal Computer) em português Computador Pessoal, desenvolvido pela empresa IBM, e o Macintosh (ou apenas Mac como também é conhecido) desenvolvido pela Apple. Como o PC da IBM se tornou na época a arquitetura dominante, o padrão adotado para os computadores que conhecemos hoje se tornou o padrão da IBM.
  • 67.
    Arquiteturas de ComputadoresArquitetura aberta: Foi Desenvolvida inicialmente pela IBM e é a mais aceita atualmente. Consiste em permitir que outras empresas fabriquem computadores com a mesma arquitetura. Positivos ao usuário: Permite ao usuário maiores opções de configuração e o poder de montar seu próprio computador de acordo com necessidades e custos de cada usuário. Negativos ao usuário : Os conflitos de hardware O computador funciona mais lento e com menor qualidade se comparado a computadores de arquitetura fechada.
  • 68.
    Arquiteturas de ComputadoresArquitetura fechada: Implica em, uma empresa fabricante de certa arquitetura não permitir o uso da arquitetura por outras empresas, ou ter o controle sobre as empresas que fabricam computadores de sua arquitetura. Positivos ao usuário : Os conflitos de hardware diminuem muito, faz o computador funcionar mais rápido e melhor. Negativos ao usuário : O usuário fica restrito a produtos da empresa e não pode montar o seu próprio computador. Nem uma nem outra: A Apple não pertence exatamente a uma arquitetura fechada, mas a ambas as arquiteturas, sendo a única empresa que produz computadores que podem correr o seu sistema operativo de forma legal, mas também fazendo parte do mercado de compatíveis IBM.
  • 69.
    Arquiteturas de SistemasConceito: O conjunto definido de instruções de máquina que fazem referências a detalhes como registores, modos de endereçamento e tipos de dados que caracterizam um processador e suas funcionalidades. Para quê estudar? Estudamos Arquiteturas de Sistemas para conhecer melhor as disparidades entre as arquiteturas, suas características, seus problemas, qual arquitetura usar para fazer um programa, em qual arquitetura atuará um programa desejado e como fazer isso tudo. Características: quantidade de instruções, Modo de endereçamento, tipos de dados, funcionalidades. Cada processador possui uma arquitetura, definida pelo seu fabricante. Compatibilidade: Um programa não pode ser executado em outra máquina de arquitetura diferente da que foi programado para atuar, pois instruções de um processador é característica específica de cada arquitetura e os comandos funções e resultados não seriam compatíveis entre elas.
  • 70.
    Arquitetura RISC Asigla RISC vem da expressão em inglês (Reduced Instrution Set Computer) e significa Conjunto Computacional de Instruções Reduzidas. Características: Possui poucas instruções de máquina, bastante simples, executadas diretamente pelo hardware. Maioria não acessa a memória principal, trabalha principalmente com registradores, que se apresentam em grande número neste tipo de processador. Facilidades: permitem que as instruções sejam executadas rapidamente, facilitam a implementação da técnica de pipelining*. Pipelining refere-se à técnica que permite ao processador executar várias instruções em diferentes etapas.
  • 71.
    Arquitetura CISC Asigla CISC vem da expressão em inglês (Complex Instrution Set Computer) e é traduzida como Conjunto Computacional de Instruções Complexas. Características: possuem instruções complexas que são interpretadas por microprogramas. O número de registradores é pequeno e qualquer instrução pode referenciar a memória principal. Complicações: as instruções demoram mais para serem executadas e a implementação da técnica de pipelining* é mais difícil. Pipelining refere-se à técnica que permite ao processador executar várias instruções em diferentes etapas.
  • 72.
    ALUNO: JOÃO GERALDODE SANTANA OLIVEIRA Lost171.blogspot.com Teleinformática
  • 73.
    Teleinformática O queé a Teleinformática? Dados Analógicos. Dados Digitais.
  • 74.
  • 75.
    Teleinformática Objetivo doestudo da teleinformática: Dar a teoria e prática necessária p/ lidar com transmissão de dados, softwares operacionais, placas de rede, swiches, modens, sistemas de rádio e TV, satélites, fibras ópticas. Desenvolve projetos e análise de sistemas em empresas da área de teleinformática. Habilidade de gerenciamento em redes de computadores
  • 76.
    ALUNO: DOMÊNICO MEDEIROSTRAVÁLIA Lost171.blogspot.com Evolução Acadêmica e Pós-Graduações
  • 77.
    Evolução Acadêmica GraduaçãoBacharelado Licenciatura Pós-Graduação Lato Sensu Especialização Stricto Sensu Mestrado Doutorado
  • 78.
    Especialização O queé Lato Sensu? O que é Especialização?
  • 79.
    Mestrado O queé Stricto Sensu? O que é Mestrado? Para que serve? O que é Mestrado Acadêmico? O que é Mestrado Profissionalizante? Qual a diferença entre o Mestrado Acadêmico e o Mestrado Profissionalizante? Há possibilidade de Migração entre o Mestrado Acadêmico e o Mestrado Profissionalizante?
  • 80.
    Mestrado Como éo processo de admissão? Qual é a documentação necessária? Qual é a função do orientador de programa? Qual é função do orientador de dissertação? Qual é o tempo mínimo e máximo para terminar o Mestrado?
  • 81.
    Doutorado Qual adiferença entre um Mestrado e um Doutorado? Qual é o tempo mínimo e máximo para terminar o Doutorado? O que é Doutorado Direto? O que é Doutorado Sanduíche?
  • 82.