Ementa das disciplinas
Disciplinas Matemáticas e Físicas:
Álgebra
Conjuntos. Relações. Funções. Indução. Sistemas algébricos. Reticulados. Monóides. Grupos. Anéis.
Álgebra Linear
Matrizes. Determinantes. Sistemas de equações lineares. Espaços vetoriais. Subespaços vetoriais. Autovalores. Autovetores. Bases. Dimensão. Transformações lineares.
Cálculo I
Derivadas de funções de uma variável – conceitos, cálculos. Máximos e mínimos e outras aplicações. Integrais definidas e indefinidas. Teorema fundamental do cálculo. Cálculo de áreas e outras aplicações.
Cálculo II
Curvas parametrizadas no plano e no espaço - vetores, velocidade, retas tangentes. Funções de 2 e 3 variáveis – gráficos, curvas e superfícies de nível. Derivadas parciais e direcionais. Gradientes. Plano tangente e superfícies. Problemas de máximos e mínimos - Multiplicadores de Lagrange.
Cálculo III
Integrais múltiplas. Integrais de linha, campos conservativos, Teorema de Green. Integrais em superfícies, Teorema da Divergência, Teorema de Stokes.
Cálculo IV
Seqüências Numéricas: Convergências; Testes Clássicos, Seqüências e Séries de Funções; Séries de potências; Série de Taylor; Derivação e Integração de Série de Potências; Série de Fourier; Equações Diferenciais de 1ª ordem. Equações Diferenciais Lineares de 2ª ordem. Sistemas de Equações Diferenciais Lineares com Coeficientes Constantes. Transformada de Laplace e Aplicações. Transformada de Fourier.
Cálculo das Probabilidades
Experimentos Aleatórios. Espaço Amostral e Eventos Aleatórios. Probabilidade de Evento e Propriedades. Probabilidade Condicional. Teorema de Bayes. Independência de eventos. Variáveis aleatórias. Momentos. Modelos Probabilísticos Discretos: Binomial, Hipergeométrico e Poisson, Geométrica. Modelos Probabilísticos Contínuos: Uniforme, Exponencial e Normal. Transformação de variáveis aleatórias. Variáveis Bidimensionais. Convergência.
Elementos de Lógica
Conectivos lógicos. Simbolização de sentenças. Argumentos. Lógica sentencial. Sistemas dedutivos. Decidibilidade da lógica sentencial. A Lógica de predicados de 1a. ordem. Valores-verdade e funções de avaliação. Tabelas-verdade. Relações entre sintaxe e semântica.
Física I
Medindo grandezas. O Sistema Internacional de Unidades. Mudanças de unidade. Comprimento. Tempo. Massa. Movimento Retilíneo. Vetores. Movimento em duas e três dimensões. Força e movimento: Força, Massa, Leis de Newton, Atrito, Força de Viscosidade, Movimento circular uniforme. Estática. Trabalho e energia cinética. Conservação da energia. Sistemas de partículas: Momento linear, conservação do momento linear. Colisões.
Física II
Cargas e forças elétricas. Campo elétrico. Lei de Gauss. Potencial elétrico. Capacitância. Corrente elétrica: Leis de Ohm e de Joule, circuitos elétricos. Campo magnético: fluxo e indução magnética. Leis de Ampère e de Biot-Savart, interação eletromagnética. Leis de Faraday e Lens, indução eletromagnética. Indutância: Circuitos LR e LC. Correntes alternadas. Propriedades magnéticas da matéria. Reflexão e refração da luz. Diótricos planos e esféricos. Lentes aberrações.
Geometria Analítica
Vetores no plano e no espaço R3. Curvas e superfícies. Coordenadas polares. Classificação das cônicas e das quádricas. Interpretação geométrica de sistemas lineares de duas e três variáveis.
Matemática Discreta
Indução Matemática, Relações de Equivalência e de Ordem, Princípio Aditivo e Princípio Multiplicativo, Princípio de Inclusão e Exclusão, Funções Geradoras e Relações de Recorrência.
Disciplinas Específicas:
Algoritmos e Estruturas de Dados I
Introdução à complexidade de algoritmos. Estruturas lineares: representação por arrays e por encadeamento. Pesquisa seqüencial e pesquisa binária. Ordenação por seleção, inserção, Mergesort. Pilhas, Filas e principais operações. Listas de prioridades: operações e Heapsort. Árvores: representação, operações e percursos em árvores. Árvores binárias, árvores binárias de busca e árvores balanceadas (AVL e B). Pesquisa digital: árvores digitais, Tries e árvores Patrícia. Hashing: funções hash e tratamento de colisões. Conjuntos: representação e operações.
Algoritmos e Estruturas de Dados II
Medidas de complexidade de algoritmos e de problemas. Técnicas básicas de construção de algoritmos: Recursão, Backtracking, Programação Dinâmica e Método Guloso. Teoria da intratabilidade de problemas. Classes P e NP. Teorema da Satisfabilidade. Problemas Pseudo-Polinomiais. Problemas NP-Completos. Algoritmos Randômicos e Aproximativos.
Algoritmos em Grafos
Conceitos básicos sobre grafos. Representação computacional de grafos. Buscas em grafos, determinação de componentes fortemente conexas, ordenação topológica. Árvore geradora mínima: algoritmos dePrim e de Kruskal. Caminhos mínimos: fonte única, algoritmo de Dijkstra, algoritmo de Jonhson, caminhos mínimos entre todos os pares de nós, algoritmo de Floyd. Fluxo máximo: teorema do fluxo máximo e corte mínimo e suas implicações combinatórias, algoritmo de Ford-Fulkerson, algoritmo do tipo preflow-push.
Análise e Projeto de Sistemas
Orientação a objetos com ferramentas para especificação e documentação. Linguagem unificada de modelo - UML. Casos de uso. Cartão de responsabilidades e colaboradores (CRC). Projeto de sistemas orientados a objetos. Padrões e Frameworks. Reuso de Software. Processo de Desenvolvimento Unificado e RUP. Estudos de casos.
Arquitetura de Computadores I
Álgebra das variáveis lógicas. Funções lógicas. Circuitos combinacionais e seqüenciais básicos. Sistemas Numéricos e sua representação. Modelos de sistemas digitais: unidade de controle e unidade de processamento, modelo de um sistema de computação. Modelagem e análise de desempenho. Conceitos básicos de arquitetura: modo de endereçamento, representação interna de dados, conjunto de instruções básicas, tratamento de interrupções e exceções.
Arquitetura de Computadores II
Arquitetura básica de um processador: seção de processamento e seção de controle. Projeto monociclo e multicíclo. Sub-sistema de memória. Hierarquia de memória. Sub-sistema de entrada e saída.
Arquiteturas Avançadas de Computadores
Introdução ao Pipelining. Pipeline avançado e paralelismo no nível das instruções básicas. Processadores vetoriais. Processadores superescalares. Projeto de sistemas avançados de memória. Processamento paralelo e distribuído. Sistemas de interconexão.
Banco de Dados I
Arquitetura de Sistema Gerenciador de Banco de Dados (SGBD). Projeto de Bancos de Dados: modelos de entidades e relacionamentos e suas extensões, modelo de dados relacional, algoritmos de decomposição e formas normais. Controle de restrições de integridade. Noções básicas de transações. Linguagens de consultas: cálculo relacional, álgebra relacional e SQL, Visões e Índices secundários.
Banco de Dados II
Conceitos avançados em Banco de Dados. Modelos relacional estendido e orientado a objetos. Processamento de transações, protocolos de controle de concorrência, mecanismos de recuperação, sistemas de autorização e segurança. Processamento e otimização de consultas, organização física e índices, ambiente C/S, triggers e processamentos armazenados.
Cálculo Numérico
Teoria dos erros. Séries de Taylor e de MacLaurin. Resolução numérica de equações algébricas e transcendentes. Interpolação numérica. Diferenciação numérica. Integração numérica. Resolução numérica de sistemas de equações. Resolução numérica de equações diferenciais.
Compiladores
O processo de compilação e a estrutura global do compilador. Análise léxica. Análise sintática: análise sintática descendente e ascendente, coleta de informações sobre a gramática, geração de cadeia vazia, iniciadores, os métodos para análise LL (1), LR(1) e derivados. Esquemas de tradução. Construtores automáticos. Ambientes de tempo de execução. Linguagens intermediárias. Geração de código. Montadores e ligadores.
Computação Gráfica
Introdução à computação gráfica interativa: conceitos básicos e aplicações. Equipamentos gráficos: arquitetura básica e dispositivos de entrada e saída. Processos de formação de cores, sistemas de cores,dithering. Pacotes gráficos e suas padronizações. Programação gráfica passiva, algoritmo de rasterização de objetos bi-dimensionais. Programação gráfica interativa, métodos de entrada de dados, algoritmos de seleção. Processo de visualização, enquadramento e corte. Transformações geométricas em 2D e 3D, projeções paralela e perspectiva. Noções de modelagem geométrica. Noções de realismo visual: tratamento de linhas escondidas, modelos de iluminação.
Engenharia de Software
Processo de desenvolvimento de software. Modelos de processo de desenvolvimento de software. Qualidade de software. Planejamento e Gerência de projetos de software. Métricas. Análise de riscos. Engenharia de Requisitos. Métodos e Técnicas de análise e projeto de software.. Verificação, validação e teste de software. Manutenção. Documentação. Ferramentas e ambientes de software.
Estruturas de Linguagens
Sintaxe e semântica. Compilação e Interpretação. Estruturas clássicas de linguagens: amarrações, implementação de subprogramas, alocação dinâmica de espaço em pilha, passagem de parâmetro. Estruturação dos dados: tipos simples, agregados, definidos pelo usuário, tipos abstratos de dados, unidades genéricas, sistema de tipos, modelos de implementação, alocação dinâmica na heap e coleta de lixo. Estruturas de Controle – mecanismos internos à unidade de programa: estruturas de controle comuns e chamadas de subprogramas e mecanismos de transferência entre unidades: tratamento de exceções, paralelismo, co-rotinas, chamadas remotas. Estrutura da programação: métodos de projeto, conceitos e ferramentas para modularização, encapsulamento, interface e implementação. Linguagens e paradigmas não convencionais de programação: programação em lógica, programação funcional, programação orientada a objetos.
Ética, Computadores e Sociedade
Ciência e tecnologia. Aspectos sociais, econômicos, legais e profissionais de computação. Aspectos estratégicos do controle da tecnologia: produção e transferência de tecnologia. Mercado de trabalho. Aplicações da computação: educação, medicina, etc. Previsões de evolução da computação. Ética profissional. Segurança, privacidade, direitos de propriedade, acesso não autorizado.
Fundamentos da Computação
Conceitos básicos de hardware: arquitetura básica do computador, dispositivos de entrada e saída. Conceitos básicos de software: sistema de representação binária, aritmética binária, operações lógicas, sistema operacional, sistema de armazenamento de dados, noções de redes de computadores. Ênfase em algoritmos: construção de algoritmos, estruturas de controle básicas. Estrutura de um programa em uma linguagem de programação, tipos de dados, comandos simples de entrada e saída, comandos de seleção, comandos de repetição, armazenamento de dados.
Inteligência Artificial
Histórico da IA. Métodos de resolução de problemas: busca em espaço de estados, redução de problemas, busca em profundidade, busca em largura, uso de heurísticas. Agentes Inteligentes. Representação do conhecimento: regras de produção, redes semânticas, ontologias e frames. Cálculo Proposicional e Lógica de Primeira Ordem. Prolog. Sistemas Especialistas. Sistemas Tutores Inteligentes. Visão geral de Algoritmos Genéticos. Visão geral de Redes Neuronais.
Interfaces Humano-Computador
Conceitos básicos de interação humano-computador (interface, interação, usabilidade, comunicabilidade, perspectivas de interação, componentes de hardware e software, aspectos cognitivos). Estilos de interação (linguagens de comandos, seleção por menus, linguagem natural, manipulação direta, ícones e linguagens visuais). Fundamentação teórica (Engenharia Cognitiva e Engenharia Semiótica). Modelagem de interfaces: modelos de tarefas, modelos de usuários, modelos de interação. Processo de design de interfaces. Avaliação de interfaces. Outras aspectos a serem considerados no projeto de interação (sistemas de ajuda e documentação, interfaces multi-usuário, interfaces www, programação feita pelos usuários, estilos e tecnologias recentes).
Linguagem de Programação I
Desenvolvimento de programas em linguagem procedural; Algoritmos básicos, tipos de dados básicos e estruturados, Comandos da uma linguagem; Subprogramação, Recursividade, Alocação encadeada de memória, Alocação dinâmica de memória; Acesso ao sistema de arquivos; Uso de bibliotecas; Ponteiros; Metodologias de especificação, desenvolvimento e documentação de programas.
Linguagem de Programação II
Desenvolvimento de programas em linguagem orientada a objetos: Conceitos básicos de orientação a objetos; Herança e Polimorfismo; Encapsulamento, Sobrecarga e Métodos. Tipos compostos, classes e instâncias. Tratamento de exceções, Programação por eventos, Uso de bibliotecas e pacotes, Desenvolvimento de programas com Interface Gráfica.
Metodologia Científica no Projeto Final
Estatuto da ciência. O método cientifico. A verdade cientifica. Três paradigmas na pesquisa: Descartes, Popper e Kuhn. Designs de pesquisa. Pesquisa quantitativa: pesquisa experimental e pesquisa não experimental (ex-post-facto). Pesquisa qualitativa: estudos experimentais, estudos exploratórios, estudos de caso. O Problema de Pesquisa, as Hipóteses e as Variáveis. Coleta e interpretação de dados. Análise dos resultados. Limites da generalização dos resultados. O Projeto e o Relatório de Pesquisa: Principais Etapas. Elaboração de um Projeto de Pesquisa.
Otimização em Grafos
Os problemas de otimização em grafos e suas aplicações. Árvore geradora mínima: definição, algoritmo de Prim, algoritmo de Kruskal e complexidade destes algoritmos. Caminhos mínimos: definição, caminhos mínimos com uma única fonte, algoritmo de Dijkstra, algoritmo de Jonhson, caminhos mínimos entre todos os pares de nós, algoritmo de Floyd, complexidade destes algoritmos. Fluxo máximo: definição, teorema do fluxo máximo e corte mínimo e suas implicações combinatórias, algoritmo de Ford-Fulkerson, algoritmo do tipo preflow-push, complexidade destes algoritmos. Fluxo de custo mínimo: definição, algoritmo dos caminhos mínimos sucessivos, algoritmo out-of-kilter, complexidade destes algoritmos. Ferramentas de controle de projetos: PERT e CPM
Português Instrumental
Gramática descritiva, Consultoria lingüístico-gramatical, Leitura e produção textual em diferentes níveis.
Projeto Final
Continuação da disciplina Metodologia Científica no Projeto Final. Deverá ser adequado à linha de especialização escolhida pelo aluno. Seu conteúdo será definido pelo professor orientador. Em casos excepcionais, mediante justificativa do professor orientador, o aluno poderá solicitar extensão do Projeto Final II por mais um semestre, sem direito a créditos adicionais.
Redes de Computadores I
Introdução a redes de computadores: transmissão, topologias, classificações, técnicas de comutação, modelo em camadas, modelo OSI, modelo TCP/IP. Estudo de caso. Nível físico: meios de transmissão, padrões. Camada de enlace: subcamada de acesso ao meio. Camada de rede: roteamento e protocolos. Camada de transporte: protocolos. Dispositivos, equipamentos e cabeamento. Camada de aplicação: serviços e protocolos.
Sistemas Distribuídos
Introdução aos sistemas distribuídos: técnicas básicas, paradigmas de interação entre processos, classes de aplicações paralelas e distribuídas. Serviços Básicos: diretório, descoberta, localização e gerenciamento de recursos, segurança, transações, e qualidade de serviço (QoS). Ferramentas e suporte para desenvolvimento de aplicações paralelas e distribuídas: bibliotecas, linguagens e middleware. Estudo de casos.
Sistemas Operacionais I
Visão geral sobre sistemas operacionais. Histórico. Estruturas dos sistemas operacionais. Ligação estática e dinâmica de programas. Modelo de processos e threads. Concorrência e sincronização. Mecanismos para programação concorrente. Alocação de recursos e deadlocks. Gerência do processador. Políticas de escalonamento. Estudos de casos de sistemas operacionais.
Sistemas Operacionais II
Gerência de Memória: Organização, Carregamento de programas, Alocação contínua, Partições, Swapping de processos, Paginação, suporte do HW a paginação e Segmentação. Memória Virtual: Alocação e substituição de páginas físicas, Paginação sob demanda, Segmentação com paginação, Thrashing, Working-Set. Gerência de Arquivos: Operações sobre arquivos, Estrutura de arquivos, Métodos de acesso, Diretórios, Proteção de arquivos, Alocação de arquivos, Gerência de espaço livre, Layout de disco, Arquivo em uso, Desempenho, Consistência. Gerência de recursos de entrada e saída. Device drivers. Dispositivos de armazenamento de massa: Tipos, Linearização, Algoritmos de escalonamento, Confiabilidade. Estudos de casos de sistemas operacionais.
Teoria da Computação
Linguagens formais. Gramáticas. Linguagens Regulares e Autômatos finitos. Linguagens livres de contexto e Autômatos de pilha. Lema de bombeamento. Linguagens tipo O (sem restrição) e Máquinas de Turing. Linguagens sensíveis ao contexto e autômatos linearmente limitados. Teoria da computabilidade: Máquina de Turing, computabilidade efetiva, funções recursivas, tese de Church, teoria daincompleteza de Gödel, problemas indecidíveis.
Otimização Combinatória
Programação Linear: modelagem em programação linear; o método simplex; dualidade em programação linear; análise de sensibilidade; Programação inteira: modelagem em programação inteira; otimalidade, relaxação e limites; problemas bem resolvidos; Branch and Bound.
Disciplinas Eletivas:
- Eletivas Básicas:
Álgebra Linear aplicada à Computação Gráfica
Isometrias no espaço Euclidiano, transformações afins, transformações projetivas, sistemas de coordenadas e referenciais, quatérnios. Câmera virtual.
Análise Numérica
Métodos Iterativos em Álgebra Linear: sistemas de equações, autovetores/autovalores. Resolução numérica de equações diferenciais parciais via método dos elementos finitos e diferenças finitas: estabilidade, estimativas a priori, taxas de convergência. Algoritmos de otimização. Noções de algoritmos numéricos em paralelo.
Estatística Aplicada
Natureza dos Métodos Estatísticos. População e Amostra. Distribuição de freqüência. Medidas descritivas: Tendência Central, Dispersão, Forma: Assimetria e Curtose. Noções Amostragem. Estimação: Estimador, Propriedades dos Estimadores, Intervalos de Confiança para Média, Proporção e Variância. Teste de Hipóteses: Conceituação, Tipos de Erros, Teste para Média, para Proporção, para Variância. Teste de aderência. Teste de Normalidade. Regressão e Correlação.
Física III
Cinemática e dinâmica da rotação: Velocidade e aceleração angulares, Torque, Momento de inércia, Energia, Trabalho, Potência de rotação, Momento angular, Gravitação. Movimento harmônico. Estática e dinâmica dos fluídos. Temperatura e calor. Teoria cinética dos gases. Termodinâmica. Entropia. Transferência de calor. Ondas mecânicas. Som.
Física IV
Propriedades magnéticas da matéria. Correntes alternadas. Equações de Maxwell. Ondas eletromagnéticas. Reflexão e refração da luz. Polarização. Interferência e difração. Introdução às mecânicas quânticas e relativista. Introdução à física quântica e nuclear.
Língua Inglesa Instrumental para Leitura na Ciência da Computação
O conhecimento do mundo como ponte para compreender textos escritos em língua inglesa, diferentes estratégias de atribuição a palavras desconhecidas, diferentes estratégias de leitura e de estudo específicos da área da Ciência da Computação.
- Eletivas Gerais:
Algoritmos para Geometria Computacional
Introdução: caracterização e definição de algoritmos geométricos; noções de modelos de computação e complexidade de algoritmos. Algoritmos básicos: operações com vetores; distâncias e ângulos; ângulos orientados; pseudo-ângulos; áreas orientadas de polígonos planos e volumes de poliedros; coordenadas baricêntricas; localização de pontos em polígonos e poliedros. Fecho Convexo: fecho convexo bidimensional e tridimensional; Interseção de retas e segmentos: detecção e identificação de interseções; problemas de determinação de visibilidade. Interpolação: Diagramas de Voronói (construção e localização); Triangulações (Delaunay e outras).
Empreendedor em Tecnologia da Informação
Estudo dos mecanismos e procedimentos para criação de empresas de computação. Organismos de fomento. Estudo do perfil do analista de desenvolvimento nos níveis operacionais e estratégicos da empresa. Perfil do empreendedor. Sistemas de gerenciamento, técnicas de negociação. Qualidade e competitividade. Marketing.
Filosofia da Ciência
Fundamentos do Conhecimento Empírico: Observação; Estrutura das Teorias Científicas: Modelo Hipotético-Dedutivo, Positivismo e Realismo; Explicação Científica: unificada, funcional e estatística; As Leis da Natureza: leis e generalizações, leis e indução; Avaliação de Teorias Científicas: Confirmação, Falsificação.
Fundamentos de Administração
Visão de problemas e ferramentas usadas no processo decisório de Departamentos de O&M. Visão sistêmica das organizações. Antropologia cultural. Antropologia empresarial. Cultura e empresa brasileira. Inteligência informacional, projeção de cenários e inteligência competitiva. Estratégia de negociação, tomadas de decisão, argumentação, técnicas de exposição e ética. Análise organizacional, análise financeira, análise de recursos materiais, análise de recursos humanos.
Informática na Educação
Modalidades de Uso de Computadores na Educação. Sistemas de tutoria. Sistemas de autoria. Simulações e Jogos. Hipermídias Educacionais. Metodologias para Desenvolvimento de Software Educacional. Critérios de Avaliação de Software Educacional. Técnicas de Inteligência Artificial aplicadas ao Software Educacional. Internet e Educação. Ambientes Educacionais Mediados por Computadores. Educação à Distância e Aprendizagem Cooperativa.
- Eletivas Específicas:
Algoritmos Distribuídos
Exemplos de classes de problemas que se beneficiam de soluções paralelas e distribuídas. Coordenação e sincronização de processos. Comunicação através de troca de mensagens e memória compartilhada. Modelos de computação: relógios lógicos, estados globais, sincronização, complexidade de computações distribuídas. Algoritmos básicos de programação distribuída. Algoritmos para compartilhamento de recursos. Linguagens e ferramentas para programação distribuída. Propriedades estáveis: detecção de término, detecção de deadlock. Outras técnicas: eleição de um líder, distributed snapshots, sincronizadores. Depuração de programas. Simulação distribuída. Algoritmos em grafos.
Computação Científica
Modelagem de sistemas físicos reais como os descritos no item III, por métodos e técnicas descritos nos itens I e II. (I) Modelagem de sistemas físicos: Exemplos de sistemas físicos, Equações diferenciais, Princípios variacionais; Transformadas (Laplace, assintóticas, etc...), Otimização, Sistemas aleatórios, Sistemas caóticos. (II) Técnicas Numéricas: Introdução aos métodos numéricos, Álgebra linear, Tratamento numérico de equações diferenciais (Diferenças finitas e Elementos finitos), Métodos de simulação, Monte Carlo e Simulated Annealing, Algoritmos genéticos, Equações diferenciais estocásticas. (III) Projeto Simulação computacional de um sistema físico real. Exemplos: Pendulo duplo, Redes harmônicas, Dinâmica molecular, Dinâmica de Langevin, Sistemas gravitacionais.
Desenvolvimento e Implementação de Algoritmos
Prática do desenvolvimento e implementação de soluções computacionais para problemas relacionados a Combinatória,Teoria dos Números, Seqüências, Grafos e Geometria Computacional.
Engenharia de Requisitos de Software
Elicitação de Requisitos. Especificação de Requisitos de Software. Técnicas de Elicitação. JAD, Cartão de responsabilidades e colaboradores (CRC), Cenários. Gerenciamento e Rastreamento dos requisitos. Prototipagem.
Gestão de Tecnologia de Informação
Modelo de Negócios e Alinhamento Tecnológico, História e Conceitos; Governança Corporativa, Alinhamento de Interesses; Governança em TI, Decisão Compartilhada; Gestão em TI, Funções e Processos; Arquitetura Tecnológica, Funções e Ligações; Níveis de Serviço, SLA; Gestão da Rede Corporativa; Gerência de Projetos, Modelo PMI; Certificação de Qualidade, Modelo CMM; Ambiente de Desenvolvimento de Soluções.
Modelagem de Sistemas
Modelagem Funcional de Sistemas. Análise estruturada e análise essencial de sistemas. Diagrama de fluxo de dados. Dicionário de dados. Descrição de funções primitivas. Modelagem de dados. Estudo de casos com aplicação da análise essencial de sistemas. Validação e Verificação de Requisitos de Software. Projeto da Arquitetura de Software. Métodos de Projeto. Conceitos básicos de projeto de sistemas. Projeto baseado na estrutura de funções e o método de projeto estruturado. Projeto baseado na estrutura de dados. Ferramentas e Estratégias para a implementação do software. Estudo de Casos.
Programação Paralela e Distribuída
Introdução aos conceitos básicos sobre programação paralela e distribuída. Métricas de desempenho. Modelos de programação. Definição dos passos para a criação de um programa paralelo. Ferramentas para programação paralela: bibliotecas MPI (Message Passing Interface), OpenMPI e Pthreads. Programação em memória compartilhada: locks/barriers, threads. Programação em memória distribuída: troca explícita de mensagens, escalonamento. Exemplos de programas paralelos para aplicações específicas. Desenvolvimento de programas utilizando a biblioteca MPI.
Qualidade de Software
Conceitos de Qualidade e qualidade total. Certificação de Software. Qualidade de software e do processo de software. Modelos de Maturidade de Processos de Software. CMMI, Normas Iso. Técnicas de verificação, validação e testes. De Produtividade e Qualidade de Software. Ferramentas de teste e avaliação de software. Estudo de Casos.
Realidade Virtual
Visão geral da tecnologia de Realidade Virtual: Evolução, Principais Características, Modelos de Interação do Usuário, Equipamentos de Apoio, Estrutura de sistemas de RV, Tendências. Estudo das áreas de aplicação. A ética no uso de ambientes virtuais. Técnicas de estereoscopia. Desenvolvimento de Ambientes Virtuais: Plataformas para Aplicações em Realidade Virtual, Modelos de desenvolvimento, Modelagem de objetos, Modelagem de Mundos Virtuais, Introdução à linguagem de programação VRML, Ferramentas de autoria, Avaliação da qualidade de Ambientes Virtuais. Estudo de Casos.
Redes de Computadores II
Segurança em redes. Gerência e operação de redes. Introdução a Redes de Alta Velocidade. Redes sem fio. Redes pessoais. Redes metropolitanas. Avaliação de desempenho: técnicas de medição e simulação.
Redes Neuronais
Introdução ao paradigma conexionista. A estrutura dos modelos conexionistas. Os modelos de Hopfield: analógico e binário. Otimização combinatória e redes de Hopfield. Aprendizado supervisionado e não supervisionado: regra de Hebb, regra Delta, regra de Cooper. Redes de aprendizado por retropropagação de erros. Aprendizado competitivo. Mapas auto-organizáveis. Teoria da ressonância adaptativa.
Sistemas de Informação
Fundamentos e classificações de sistemas de informação. Sistemas de informação gerenciais e de apoio à decisão. Aplicações. Uso estratégico da informação e da tecnologia da informação. Custos e orçamentos. Qualidade, segurança e auditoria. Funções e gerência de pessoal para sistemas de informação. Organização da informática na empresa. Processos de negócios e sistemas de informação. Planejamento estratégico de sistemas de informação: conceitos e métodos. Datamining.
Tópicos Especiais I
Ementa aberta, relacionada ao estado da arte em algum domínio de Ciência da Computação.
Tópicos Especiais II
Ementa aberta, relacionada ao estado da arte em algum domínio de Ciências da Computação.
- Eletivas Práticas:
Aspectos Práticos de Redes de Computadores
Desenvolvimento de projetos, trabalhos práticos e protótipos relacionados a redes computacionais e transmissão de dados e comunicação.
Aspectos Práticos de Sistemas Operacionais
Desenvolvimento de projetos relacionados à arquitetura de computadores e sistemas operacionais que representem o estado da arte na área.
Aspectos Práticos em Ciência da Computação I
Desenvolvimento de projetos relacionados a sistemas computacionais que representem o estado da arte na área, com ênfase em software.
Aspectos Práticos em Ciência da Computação II
Desenvolvimento de projetos relacionados a sistemas computacionais que representem o estado da arte na área, com ênfase em hardware e interface hardware-software.
Plano de Periodização:
O curso está modulado em 8 períodos, conforme a tabela seguinte. Observa-se que as disciplinas Eletiva Básica e Eletivas I, II, III e IV são selecionadas a partir das disciplinas eletivas listadas ao final da tabela de periodização.
1º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
|
|
|
IME 02-10815 |
Álgebra |
60 |
4 |
|
|
|
IME 06-10816 |
Matemática Discreta |
60 |
4 |
|
|
|
IME 01-04827 |
Cálculo I |
90 |
6 |
|
|
|
IME 04-10817 |
Fundamentos da Computação |
90 |
5 |
|
|
|
IME 03-10814 |
Geometria Analítica |
60 |
4 |
|
|
|
|
|
|
|
2º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Cálculo I |
|
|
IME 01-04884 |
Cálculo II |
60 |
4 |
Fundamentos da Comp. |
|
|
IME 04-10820 |
Algoritmos e Estruturas de Dados I |
90 |
6 |
|
|
|
FIS 01-10982 |
Física I |
90 |
5 |
Geometria Analítica |
|
|
IME 02-10818 |
Álgebra Linear |
90 |
6 |
Fundamentos da Comp. |
|
|
IME 04-10821 |
Linguagem de Programação I |
60 |
4 |
Cálculo I |
|
|
IME 05-10819 |
Cálculo das Probabilidades |
60 |
4 |
|
|
|
|
|
|
|
3º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Algoritmos e Est Dados I |
|
|
IME 04-10823 |
Algoritmos e Estruturas de Dados II |
60 |
4 |
Cálculo II |
|
|
IME 01-06767 |
Cálculo III |
60 |
4 |
Linguagem de Progr. I |
|
|
IME 04-10825 |
Linguagem de Programação II |
60 |
4 |
|
|
|
IME 02-10824 |
Elementos de Lógica |
60 |
4 |
|
|
|
IME 04-10826 |
Teoria da Computação |
60 |
4 |
|
|
|
ILE 02-10822 |
Português Instrumental |
60 |
4 |
|
|
|
|
|
|
|
4º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Cálculo II |
|
|
IME 01-10828 |
Cálculo IV |
90 |
6 |
Física I |
|
|
FIS03-10983 |
Física II |
90 |
5 |
|
59 |
30% |
IME 04-10830 |
Engenharia de Software |
60 |
4 |
Linguagem de Progr. I |
|
|
IME 04-10831 |
Arquitetura de Computadores I |
60 |
4 |
Algoritmos e Est Dados II |
|
|
IME 04-10829 |
Algoritmos em Grafos |
45 |
3 |
Cálculo I |
|
|
IME 04-10827 |
Cálculo Numérico |
60 |
4 |
|
|
|
|
|
|
|
5º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Arquitetura de Comp. I |
|
|
IME 04-10835 |
Sistemas Operacionais I |
60 |
4 |
Arquitetura de Comp. I |
|
|
IME 04-10836 |
Arquitetura de Computadores II |
60 |
4 |
Linguagem de Progr. I |
|
|
IME 04-10834 |
Estruturas de Linguagens |
60 |
4 |
|
78 |
40% |
IME 04-10832 |
Banco de Dados I |
60 |
4 |
Algoritmos em Grafos |
|
|
IME06-11312 |
Otimização em Grafos |
45 |
3 |
Engenharia de Software |
|
|
IME 04-10833 |
Análise e Projeto de Sistemas |
60 |
4 |
|
|
|
ver cód espec. |
Eletiva Básica |
60 |
4 |
|
|
|
|
|
|
|
6º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Sistemas Operacionais I |
|
|
IME 04-10840 |
Sistemas Operacionais II |
60 |
4 |
|
108 |
55% |
IME 04-10839 |
Interfaces Humano - Computador |
60 |
4 |
Teoria da Computação |
|
|
IME 04-10841 |
Compiladores |
60 |
4 |
Cálculo II + Álgbr. Linear |
|
|
IME 06-10836 |
Otimização Combinatória |
60 |
4 |
Banco de Dados I |
|
|
IME 04-10838 |
Banco de Dados II |
60 |
4 |
|
|
|
ver cód espec. |
Eletiva I |
60 |
4 |
|
|
|
|
|
|
|
7º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Arquitetura de Comp. II |
|
|
IME 04-10847 |
Arquiteturas Avançadas de Computadores |
60 |
4 |
|
137 |
70% |
IME 04-10842 |
Computação Gráfica |
60 |
4 |
|
137 |
70% |
IME 04-10843 |
Inteligência Artificial |
60 |
4 |
Sistemas Operacionais II |
|
|
IME 04-10846 |
Redes de Computadores I |
60 |
4 |
|
137 |
70% |
IME 04-10845 |
Metodologia Científica no Projeto Final |
60 |
4 |
|
137 |
70% |
IME 04-10844 |
Ética Computadores e Sociedade |
60 |
4 |
|
|
|
|
|
|
|
8º Período |
|
|
|
|
|
|
Pré-requisitos |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Metdlg. Cient. no Prj Fin |
|
|
IME 04-10848 |
Projeto Final |
60 |
4 |
Sistemas OperacionaisI |
|
|
IME 04-10849 |
Sistemas Distribuídos |
60 |
4 |
|
|
|
ver cód espec. |
Eletiva II |
60 |
4 |
|
|
|
ver cód espec. |
Eletiva III |
60 |
4 |
|
|
|
ver cód espec. |
Eletiva IV |
60 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eletivas Básicas |
|
|
|
Básicas |
|
|
Pré-requisito |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Física I |
|
|
FIS 01-11016 |
Física III |
90 |
5 |
Física II |
|
|
FIS 03-11017 |
Física IV |
90 |
5 |
Cálculo Numérico |
|
|
IME 06-10852 |
Análise Numérica |
60 |
4 |
Cálculo das Probabs. |
|
|
IME 05-10862 |
Estatística Aplicada |
60 |
4 |
|
108 |
55% |
IME 04-10850 |
Álgebra Linear Aplicada à Compt. Gráfica |
60 |
4 |
|
|
|
ILE 04-10866 |
Inglês Instrumental |
60 |
4 |
|
|
|
|
|
|
|
Eletivas Técnicas |
|
|
|
Técnicas |
|
|
Pré-requisito |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Arquit. de Comp. II |
|
|
IME 04-10868 |
Programação Paralela e Distribuída |
60 |
4 |
Arquit Avançds deComp |
|
|
IME 04-10851 |
Algoritmos Distribuídos |
60 |
4 |
Algoritmos e Est Dados I |
|
|
IME 04-10859 |
Desenv. e Implementação de Algoritmos |
60 |
4 |
|
108 |
55% |
IME 04-10853 |
Algoritmos para Geometria Computacional |
60 |
4 |
|
108 |
55% |
IME 04-10861 |
Engenharia de Requisitos de Software |
60 |
4 |
|
78 |
40% |
IME 04-10869 |
Qualidade de Software |
60 |
4 |
|
137 |
70% |
IME 04-10873 |
Sistemas de Informação |
60 |
4 |
|
78 |
40% |
IME 04-10867 |
Modelagem de Sistemas |
60 |
4 |
|
108 |
55% |
IME 04-10864 |
Gestão de Tecnologia de Informação |
60 |
4 |
|
137 |
70% |
IME 04-10870 |
Realidade Virtual |
60 |
4 |
Redes de Comp. I |
|
|
IME 04-10871 |
Redes de Computadores II |
60 |
4 |
Cálc IV + Cálc Numric |
|
|
IME 04-10858 |
Computação Científica |
60 |
4 |
|
137 |
70% |
IME 04-10872 |
Redes Neuronais |
60 |
4 |
|
137 |
70% |
IME 04-10874 |
Tópicos Especiais I |
60 |
4 |
|
137 |
70% |
IME 04-10875 |
Tópicos Especiais II |
60 |
4 |
|
|
|
|
|
|
|
Eletivas Práticas |
|
|
|
|
|
|
Pré-requisito |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
Redes de Comp I |
|
|
IME 04-10856 |
Asp. Práticos de Redes de Computadores |
60 |
4 |
Sistemas Operacionais I |
|
|
IME 04-10857 |
Asp. Práticos de Sistemas Operacionais |
60 |
4 |
|
59 |
30% |
IME 04-10854 |
Asp. Práticos em Ciência da Computação I |
60 |
4 |
|
59 |
30% |
IME 04-10855 |
Asp. Práticos em Ciência da Computação II |
60 |
4 |
|
|
|
|
|
|
|
Eletivas Complementares |
|
|
|
|
|
|
Pré-requisito |
Min. crd. |
% cursado |
Disciplina |
CH |
Créd. |
|
|
108 |
55% |
FAF 03-04304 |
Fundamentos de Administração |
60 |
4 |
|
137 |
70% |
IME 04-10865 |
Informática na Educação |
60 |
4 |
|
78 |
40% |
IME 04-10860 |
Empreendedor em tecnologia de Informação |
60 |
4 |
|
137 |
70% |
IME 04-10863 |
Filosofia da Ciência |
60 |
4 |