Faculdade de Engenharia da Computação

Ciência da Computação

Entregável do Bloco:
Um software que roda de forma paralelizada e distribuída para processar algoritmos complexos, que demandam grande poder computacional, apresentando uma análise quantitativa e qualitativa sobre o impacto da utilização da arquitetura paralela e distribuída.
Estrutura de Dados e Algoritmos Avançados I
Explicar a importância de estrutura de dados
Aplicar estruturas de dados em diferentes problemas
Construir software com estruturas de dados: listas, pilhas, filas, hash tables
Construtir software com encadeamento, sequência, árvores e grafos
Arquitetura de Computadores e Sistemas Operacionais
Explicar os fundamentos da arquitetura de computadores
Avaliar a performance de computadores e dispositivos móveis
Explicar os fundamentos de sistemas operacionais
Construir software utilizando paralelismo
Estrutura de Dados e Algoritmos Avançados II
Analisar complexidade de algoritmos
Analisar e projetar algoritmos de busca e ordenação
Projetar algoritmos com técnicas de algoritmos gulosos, divisão e conquista, programação dinâmica e algoritmos genéticos
Analisar e reconhecer problemas P, NP e NP-Completos
Arquitetura de Redes de Computadores
Praticar e explicar a visão de redes em camadas e os modelos OSI e TCP/IP
Monitorar o funcionamento e a segurança de redes de computadores
Construir software utilizando as camadas do modelo TCP/IP
Projeto de Bloco: Ciência da Computação
Explicar as vantagens e trade-offs da implementação de software de forma paralela e distribuída
Conceber um projeto de software em que a implementação de uma arquitetura paralela e distribuída seja vantajosa
Implementar um projeto de software seguindo arquitetura paralela e distribuída
Avaliar quantitativa e qualitativamente o impacto da utilização da arquitetura paralela e distribuída em um projeto de software
Refletir criticamente sobre a sua prática profissional, seu planejamento e desenvolvimento de carreira e sua capacidade de trabalho em equipe, estabelecendo relações com o projeto desenvolvido e qualificando ou quantificando a sua expertise em engenharia de software
Entender o contexto social da engenharia de software e refletir criticamente sobre o impacto do software desenvolvido às pessoas, à sociedade e à economia

precisa de mais informações?