Divisão de Ciência da Computação – IEC CCIXX - Departamento de Computação Científica – IECC
CESXX - Departamento de Engenharia de Software – IECE
CTCXX - Departamento de Teoria de Computação – IECT
Departamento de Computação Científica – IECC CCI-22 - MATEMÁTICA COMPUTACIONAL. Requisito: CES-10. Horas semanais: 3-2-7. Aritmética computacional. Métodos de resolução para sistemas lineares, equações algébricas e transcendentes. Interpolação de funções. Ajuste de curvas. Integração numérica. Resolução numérica de equações diferenciais ordinárias. Implementação dos métodos numéricos. Bibliografia: Atkinson, L. V. et al., Numerical methods with Fortran 77: a practical introduction, Addison-Wesley, Wokingham, 1989; Claudio, D.M. e Marins, J.M., Cálculo numérico: teoria e prática, Atlas, São Paulo, 1987; Ruggiero, M.A.C. e Lopes, V.L.R., Cálculo numérico, aspectos teóricos e computacionais, McGraw-Hill, São Paulo, 1988. CCI-35 – SIMULAÇÃO DE SISTEMAS DISCRETOS. Requisitos: CES-10, CES-20 e MOQ-12. Horas semanais: 3-2-3. Introdução à simulação. As fases de simulação por computadores. Os procedimentos de modelagem de simulação. Métodos de amostragem, geração de números e variáveis aleatórias. Validação de modelos, planejamento de simulação - técnicas de redução de variância. Linguagens de simulação. Bibliografia: Pidd, M., Computer simulation in management science, 3rd ed., Wiley, 1992; Paul, R. J. et al., Simulation modelling, Chartwell-Bratt, Stockholm, 1993; Shannon, R.E., Systems simulation - the art and science, Prentice-Hall, Englewood Cliffs, 1975. CCI-36 - FUNDAMENTOS DE COMPUTAÇÃO GRÁFICA. Requisitos: CES-10 e CES-20. Horas semanais: 3-3-4. Elementos básicos de computação gráfica. Dispositivos gráficos. Primitivas gráficas: pontos, linhas, textos, representação e preenchimento de polígonos. Transformações 2D. Janelamento e recorte. Segmentação. Técnicas de interação. Introdução a gráficos tridimensionais: representação “wire-frame”. Eliminação de superfícies ocultas. Modelos de Iluminação: Gourand, Phong, Ray Tracing, radiosidade, filtros. Bibliografia: Hearn, D. e Pauline, B. M. Computer Graphics, C version, 2nd ed., Prentice Hall, Inc, USA, 1997 ; Newmann, W.M. e Sproull, R.F., Principles of interactive computer graphics, 10th ed., McGraw-Hill, Auckland, 1984; Foley, J.D. et al., Computer graphics: principles and practice, 2nd ed. In C, Addison-Wesley Publishing Company, USA, 1996.
Departamento de Engenharia de Software - IECE CES-10 - INTRODUÇÃO À COMPUTAÇÃO. Requisito: não há. Horas semanais: 4-2-7. Conceitos primários: Computador, algoritmo, programa, linguagem de programação, compilador. Representação de informações: sistemas de numeração, mudança de base, aritmética binária, operações lógicas, textos e instruções. Evolução das linguagens de programação. Unidades básicas de um computador. Software básico para computadores. Desenvolvimento de algoritmos: linguagens para algoritmos e refinamento passo a passo. Comandos de uma linguagem procedimental: atribuição, entrada e saída, condicionais, repetitivos e seletivos. Variáveis escalares e estruturadas homogêneas e heterogêneas. Subprogramação: funções, procedimentos, passagem de parâmetros, recursividade. Ponteiros. Bibliografia: Kelley, A. e Pohl, I., A Book on C, Benjamin Cummings, Redwood City; 1995; Hehl, M.E., Linguagem de Programação Estruturada FORTRAN 77, McGraw-Hill, São Paulo, 1986. Saliba, W.L.C., Técnicas de Programação: uma Abordagem Algorítmica, Makron, São Paulo, 1992. CES-20 - ESTRUTURAS DE DADOS. Requisito: CES-10. Horas semanais: 3-2-5. Informação e seu significado. Tipos de dados. Modelos de armazenamento de informações. Listas lineares, pilhas, filas e deques. Alocação seqüencial e encadeada. Árvores gerais, árvores binárias e árvores balanceadas. Estruturas multiligadas. Grafos orientados e não orientados. Métodos de ordenação e métodos de procura. Manipulação de arquivos. Noções de complexidade computacional. Bibliografia: Shafer, C.A., A Practical Introduction to Data Structures and Algorithm Analysis, Java Edition, Prentice Hall, New Jersey, 1998; Aho, A.V. et al., Data Structures and Algorithms, Addison-Wesley, Reading, 1983; Weiss, T. e Esakou, J., Data Structures: an Advanced Approach using C, Prentice Hall, Englewood Cliffs, 1989. CES-21 – PROGRAMAÇÃO AVANÇADA. Requisito: CES-10. Horas semanais. 3-2-5. Paradigmas de linguagens de programação: imperativas, funcionais, lógicas e orientadas a objetos. Objetos e classes. Hierarquia de classes e mecanismos de herança. Mensagens e métodos para objetos. Polimorfismo e funções virtuais. Técnicas de programação para construção de interfaces gráficas e aplicações cliente-servidor. Bibliografia: Niemeyer, P. e Peck, J., Exploring Java, O’ Reilly, Sebastopol, 1997; MacLennan, B.J., Principles of Programming Languages: Design, Evaluation and Implementation, Holt, Rïnehart & Winston, New York, 1983; Ghezzi, C. e Jazayeri, M., Conceitos de Linguagens de Programação, Campos, Rio de Janeiro, 1985. CES-25 – ARQUITETURAS PARA ALTO DESEMPENHO. Requisito: CES-10, ELE-20 e ELE-24. Horas semanais: 3-1-4. Unidades básicas de um computador: processadores, memória e dispositivos de entrada e saída. Técnicas para aumento de desempenho de computadores. Memória “cache”, entrelaçada e virtual. Segmentação do ciclo de instrução, das unidades funcionais e do acesso a memória. Computadores com conjunto reduzido de instruções. Máquinas paralelas: computadores vetoriais, computadores matriciais, multiprocessadores. Algoritmos paralelos, linguagens para expressão de paralelismo, compiladores paralelos. Bibliografia: Stone, H.S., High-Performance Computer Architecture, 2.a ed, Addison Wesley, Reading, 1993; Almasi, G.S. e Gottlieb, A., Highly Parallel Computing, Benjamin/Cummings, Redwood City, 1994; Hayes, J.P., Computer Architecture and Organization, 3.a ed, McGraw-Hill, Singapore, 1998. CES-27- PROCESSAMENTO DISTRIBUÍDO. Requisitos: CES-10 e CES-20. Horas semanais: 3-1-4. Introdução a sistemas distribuídos. Linguagens de programação distribuída. Anéis lógicos. Rotulação de tempo e relógios lógicos. Transações em bancos de dados distribuídos. Computações difusas. Detecção de “deadlocks” em sistemas distribuídos. Algoritmos de consenso. Algoritmos para evitar inanição. Bibliografia: Raynal, M., Distributed algorithms and protocols, John Wiley, New York, 1988; Singhal, M. and Shivaratri, N.G., Advanced Concepts in Operating Systems, McGraw-Hill, New York, 1994; Mullender, S., Distributed systems, Addison-Wesley, New York, 1993. CES-30 - TÉCNICAS DE BANCO DE DADOS. Requisito: CES-20. Horas semanais: 3-2-5. Métodos de organização de arquivos e pesquisa. Modelo de entidade/relacionamento. Modelo de dados relacional. Modelo de dados hierárquico. Modelo de dados em rede. Projeto de um banco de dados relacional. Banco de dados distribuído. Compressão de dados. Segurança e integridade. Privacidade em banco de dados. Suporte para tomadas de decisão. Banco de dados orientado a objetos. Bibliografia: Date, C.J., Introdução ao sistema de banco de dados, Vol. 1, Campus, Rio de Janeiro, 1991; Kimball, R., The Data Wirehouse Toolkit, John Wiley, New York, 1996; Hughes, J.G., Object Orinted Databases, Prentice-Hall, Englewood Cliffs, 1991. CES-31 - TÉCNICAS DE ENGENHARIA DE SOFTWARE. Requisito: CES-20. Horas semanais: 3-1-5. Os problemas da produção de software e os objetivos da Engenharia de Software. Administração de um projeto de software. Análise e especificação dos requisitos de software. Metodologias para projeto de software. Testes de software. Administração, manutenção, documentação, confiabilidade, segurança e privacidade em produtos de software. Aspectos legais do desenvolvimento de software. Ambientes CASE’s. Bibliografia: Fairlay, R.E., Software engineering concepts, McGraw-Hill, New York, 1987; Pressman, R.S., Software engineering: a practitioner’s approach, 3rd ed., McGraw-Hill, Tokyo, 1992; Shooman, M.L., Software engineering: design, reliability, and management, McGraw-Hill, New York, 1983. CES-32 - QUALIDADE, CONFIABILIDADE E SEGURANÇA DE SOFTWARE. Requisito: CES-31. Horas semanais: 3-0-6. Conceitos de qualidade de software. Fatores e métricas de qualidade de software. A evolução da abordagem de qualidade direcionada a software: as eras do controle e da garantia de software. Principais normas e padrões de qualidade de software. Características essenciais de software para aplicações críticas. Conceitos de confiabilidade de software. Métricas para confiabilidade de software. Conceitos de segurança de software. Segurança de software e proteção de software. A abordagem da segurança de software. Principais padrões de segurança de software. Estratégias de segurança de software. Bibliografia: Pressman R. S., Software Engineering, A Praticioners Approach, 4th, Mc Graw-Hill, New Jersey, 1997; Musa J. D., et al., Software Reliability. McGraw-Hill, New Jersey, 1990; Leveson N. G., Safeware: System Safety and Computers, Addison-Wesley, New York, 1995.
CES-34 – SISTEMAS DE GESTÃO INTEGRADA. Requisito: CES-30. Horas semanais: 3-2-3. Arquitetura de sistemas de gestão integrada. Aplicações baseadas em banco de dados relacional. Aplicações cliente-servidor. Introdução a processos de negócios. Configuração de processos de negócios em sistemas de gestão integrada. Configuração de dados mestres e transações. Configuração e simulação de uma empresa modelo. Introdução à inteligência empresarial: data warehousing e ferramentas analíticas. Bibliografia: Curran, T. e Keller, G., SAP R/3 Business Blueprint, Prentice-Hall, New Jersey, 1998. Bancroft, N.H. et al, Implementing SAP R/3, 2nd ed., Manning Publications, Greenwich, 1998.
CES-62 - SISTEMAS COMPUTACIONAIS TOLERANTES A FALHAS. Requisitos: ELE-26. Horas semanais: 3-0-6. Vulnerabilidade de sistemas computacionais: interferência eletromagnética, falhas eletrônicas e falhas de software. Prevenção a falhas: software de prognóstico, software de diagnóstico e redundância de hardware do ponto de vista sistêmico. Confiabilidade de hardware e software: sistemas multiprocessados tolerantes a falhas e sistemas com tolerância implementada em software. Especificação de hardware e software para projeto e implementação de sistemas confiáveis. Validação de sistemas confiáveis. Características essenciais de software para aplicações críticas: sistemas aeronáuticos e espaciais. Noções de testabilidade, manutenabilidade e segurança. Bibliografia: Anderson, C. e Dorfman, M., Aerospace software engineering: A collection of concepts, American Institute of Aeronautics. Washington, 1991; Schulmeyer, G. e MacManus, J.J., Handbook of software quality assurance, 2nd ed., Van Nostrand Reinhold, New York, 1992; Vários autores, artigos e trabalhos referentes à matéria. CES-63 - SISTEMAS EMBARCADOS. Requisitos: ELE-31. Horas semanais: 3-0-3. Conceitos básicos de comunicação, navegação e vigilância. Conceitos básicos de mecânica do vôo e controle automático de vôo. Conceitos básicos de auxílios de rádios à navegação aérea e ao pouso. Noções de radar e seus típos básicos. Conceitos básicos de navegação inercial e por satélite. Sistemas aviônicos computadorizados e seus requisitos. Noções de integração de sistemas computadorizados em aviônica. Adequação de sistemas computadorizados e aeronaves. Especificação e validação de hardware e software. Barramentos de dados. Mostradores de cabine. Sistemas de potência. Interferência eletromagnética. Confiabilidade de sistemas computadorizados embarcados. Bibliografia: Powell, J., Aircraft radio systems, Pitman, London, 1981; Spitzer, C. R., Digital avionics systems, Prentice-Hall, Englewood Cliffs, 1987; Midleton, D. H., Avionic Systems, Longman, London, 1989; Anderson, C. e Dorfman, M,. Aerospace software engineering: A collection of concepts, American Institute of Aeronautics, 1991.
Departamento de Teoria da Computação - IECT CTC-10 - LÓGICA MATEMÁTICA. Requisito: não há. Horas semanais: 3-0-3. Introdução à lógica. Cálculo proposicional: teoria de modelos e teoria de provas. Conseqüências válidas. Consistência e completeza. Cálculo de predicados: quantificadores, tabelas de verdade, resultados sobre validade. Teoria de prova no cálculo de predicados. Métodos automáticos de prova no cálculo de predicados. Prova formal de programas. Grafos de refutação e de extração de resposta. Resultados sobre deducibilidade. Forma prenex. Cálculo de predicados com igualdade e com funções. Extensões do cálculo de predicados: teoria de números, grupos. Noções sobre cálculos de segunda ordem, lógica modal. Bibliografia: Kleene, S.C., Mathematical logic, John Wiley, New York, 1976; Hilbert, J. e Ackerman, W., Principles of mathematical logic, Chelsea, New York, 1950; Church, A., Introduction to mathematical logic, Princeton University Press, New York, 1956. CTC-15 - INTELIGÊNCIA ARTIFICIAL. Requisito: CTC-10 e MOQ-12. Horas semanais: 3-2-5. Conceituação, aplicações. Resolução de problemas: técnicas e métodos, representação, heurísticas, decomposição de problemas, jogos. Sistemas de produção: estratégias de busca e decomposição, representação, algoritmo A*. Bases lógico-matemáticas: cálculo de predicados, resolução, sistemas de dedução e refutação. Representação do conhecimento: regras de produção, redes semânticas, "frames", e outros. Sistemas baseados em conhecimento: engenharia, aquisição e processamento do conhecimento. Linguagens: LISP, PROLOG. Construtores de sistemas especialistas. Bibliografia: Rich, E., Inteligência artificial, McGraw-Hill, São Paulo, 1988; Russell, S. e Norvig, P., Artificial Intelligence: A Modern Approach, McGraw-Hill, New Jersey, 1995; Bittencourt, G., Inteligência Artificial: Ferramentas e Teorias, Editora da UFSC, Florianópolis, 2001. CTC-20 - ESTRUTURAS DISCRETAS PARA COMPUTAÇÃO. Requisito: não há. Horas semanais: 3-0-3. Revisão da aritmética dos números inteiros. Conjuntos, relações e funções. Operações sobre funções. Relações de compatibilidade, equivalência, congruência e ordem. Enumerabilidade de conjuntos. Teoria de grafos. Grafos dirigidos e árvores. Problemas de caminho e coloração de grafos. Estruturas matemáticas: operações binárias, semigrupos, monóides, grupos e anéis. Isomorfismo e homomorfismo de semigrupos e grupos. Reticulados: ordenação parcial, conjunto potência, operações e representações de reticulados. Álgebras de Boole: propriedades fundamentais. Relações com anéis booleanos. Bibliografia: Preparata, F.P. e Yeh R.T., Introduction to discrete structures for computer science and engineering, Addison Wesley, Reading, 1973; Deo, N., Graph theory with application to engineering and computer science, Prentice Hall, Englewood Clifs, 1974; Birkhoff, G. e Maclane, S., Álgebra moderna básica, Guanabara Dois, Rio de Janeiro, 1980. CTC-34
- AUTÔMATA E LINGUAGENS FORMAIS.
Requisito: CTC-20. Horas semanais: 3-2-6. Autômata finitos e expressões
regulares. Propriedades dos conjuntos regulares. Linguagens e gramáticas.
Linguagens livres de contexto, sensíveis ao contexto e tipo-0.
Autômato a pilha. Máquinas de Turing: seus modelos restritos
e tese de Church. Computabilidade, introdução a funções
recursivas. Introdução aos compiladores. Bibliografia: Hopcroft,
J.E. e Ullman, J.D., Introduction to automata theory, languages, and computation,
Addison-Wesley, New York, 1979; Harrison, M.A., Introduction to formal
language theory, Addison-Wesley, New York, 1978; Drobot, V., Formal languages
and automata theory, Computer Science Press, New York, 1989. |