Currículo 5512
Primeiro período
Representação digital de dados e informações. Lógica computacional. Metodologias e técnicas para o desenvolvimento de algoritmos. Técnicas essenciais de programação em uma linguagem de médio nível tipos de dados, entrada e saída, estruturas de controle condicional, estruturas de seleção, estruturas de repetição. Abstrações de dados. Estruturas de dados estáticas em memória principal. Procedimentos e funções. Introdução às técnicas essenciais de programação em uma linguagem de alto nível.
Conjuntos Numéricos. Técnicas algébricas. Funções. Noções de limites e continuidade. Derivada: definição, interpretações e regras de derivação. Regra da Cadeia. Aplicações de derivada: taxas de variação, regra de L’Hospital, estudo do comportamento de funções, máximos e mínimos. Modelagem matemática e resolução de problemas aplicados.
Evolução da IHC e tecnologias emergentes; Design Centrado no Usuário (DCU) e pesquisa com usuários; Design de Interação (IxD) e seus princípios; Design para dispositivos móveis e interfaces de voz; Acessibilidade, Design Universal e diretrizes WCAG; Experiência do Usuário (UX) e seus componentes; Prototipação, Storyboard e ferramentas; Avaliação de interfaces, métodos e heurísticas; Aplicações da IHC em diversos domínios.
Evolução da computação. Computação moderna e contemporânea. Organização básica das máquinas computacionais. Grandezas computacionais. Representação de dados e informações digitais. Lógica matemática e computacional. Fundamentos de sistemas computacionais. Conceitos de sistemas operacionais. Conceitos de redes de comunicação. Desafios para a computação moderna.
Desenvolvimento de algoritmos em pseudocódigo. Desenvolvimento de algoritmos em fluxograma. Técnicas de programação em linguagem de médio nível. Desenvolvimento, depuração e teste de algoritmos e códigos-fonte. Aplicação de boas práticas de programação. Técnicas de programação em linguagem de alto nível.
Desenvolvimento de programas para sistemas embarcados. Desenvolvimento de protótipos usando microcontroladores. Simulação e interação com dispositivos físicos. Linguagens e plataformas para programação visual. Elaboração de projeto final integrando hardware e software.
Atividades de acolhimento ao ingressante. Estrutura curricular do curso de Ciência da Computação. Atividades de nivelamento. Atos legais do curso. Mercado de trabalho: organização, perspectivas salariais e expectativas de carreira. Possibilidades das práticas extensionistas baseadas em computação. Organização de projetos de pesquisa e inovação em computação. Atividades complementares de graduação (ACG).
Palestras e oficinas sobre temas socioeconômicos, ambientais, religiosos, técnico-científicos de interesse geral e específicos da Ciência da Computação. Oficinas técnicas de interesse para a Ciência da Computação
Segundo período
Mundo Digital: organização e impactos. Sociedade digital e sociedade da informação. Mundo Cibernético: impactos e riscos. Plataformas Digitais: comércio eletrônico, governança eletrônica, entretenimento digital, mídias e redes sociais. Computação do futuro. Preparação de projetos para a sociedade digital. Atividades de extensão com integração entre academia e saberes da sociedade. Atividades de integração entre conhecimentos acadêmicos e saberes de outros setores da sociedade, unindo teoria e prática, por meio das modalidades de extensão
Estruturas de dados dinâmicas em memória principal. Algoritmos de ordenação e pesquisa em memória principal. Organização, armazenamento e recuperação de dados em memória secundária. Reconhecimento de padrões e compactação.
Sistemas numéricos e de codificação. Álgebra Booleana. Lógica combinacional. Lógica sequencial. Dispositivos de lógica programável. Linguagem de descrição de hardware. Análise e síntese de circuitos lógicos digitais. Aritmética computacional. Organização de computadores: unidade central de processamento, memórias, barramentos e dispositivos de entrada e saída.
Exploração de uma linguagem de programação de alto nível. Práticas investigativas para desenvolvimento de projetos de software e aplicativos utilizando linguagens e/ou ferramentas de programação de alto nível.
Dispositivos gráficos e arquiteturas de hardware. Gráficos vetoriais e matriciais. Transformações geométricas. Fundamentos sobre geometria analítica e geometria descritiva. Projeções. Pipeline de visualização gráfica. Aplicações gráficas interativas e não interativas usando biblioteca gráfica. Técnicas de modelagem gráfica de objetos e cenas 3D. Ferramenta de modelagem gráfica de alto nível. Técnicas de animação 2D e 3D. Introdução à Jogos digitais e motores de jogos. Captura de movimento, modelagem e animação facial.
Implementação de aplicações web front-end. Estruturação e estilização de páginas web dinâmicas e responsivas. Desenvolvimento de scripts client-side.
Palestras e oficinas sobre temas socioeconômicos, ambientais, religiosos, técnico-científicos de interesse geral e específicos da Ciência da Computação. Oficinas técnicas de interesse para a Ciência da Computação.
Terceiro período
Processadores. Microarquitetura. Barramentos, interfaces e periféricos. Mecanismos de interrupção e de exceção. Hierarquia de memória (memória primária, memória secundaria, cache, memória virtual). Pipelining. Arquiteturas paralelas e multiprocessadores.
Introdução a bancos de dados; Modelagem de dados; Projeto de bancos de dados relacionais e não relacionais; Linguagens de consulta; Sistemas Gerenciadores de Banco de Dados (SGBDs); Bancos de dados NoSQL; Segurança de banco de dados; Bancos de dados distribuídos; Bancos de dados cliente/servidor; Linguagem Estruturada de Consulta; Projeto de bancos de dados; Otimização de consultas; Controle de transações e concorrência; Recuperação de falhas; Data Warehouse e Data Mining; Tendências em bancos de dados.
Conceitos básicos. Métodos de resolução de problemas. Formas de representação do conhecimento: lógica proposicional, lógica de predicados de primeira ordem, sistemas baseados em regras, redes semânticas e frames. Tratamento de incerteza: raciocínio probabilístico e lógica fuzzy. Introdução à computação bioinspirada: redes neurais, computação evolutiva e inteligência coletiva.
Práticas investigativas com projetos utilizando microprocessadores, microcontroladores e simuladores.
Implementação de aplicações web back-end. Camada de persistência de dados. Geração dinâmica de páginas Web. Desenvolvimento e documentação de Web APIs. Autenticação.
Linguagens formais e gramáticas: a hierarquia de Chomsky. Autômatos e máquina de Turing. A tese de Church-Turing. Decidibilidade e computabilidade.
Quarto período
A Filosofia como busca pelo “saber” e a questão da verdade. Raciocínio lógico: opinião e argumentação; contradição e falácias. Ciência e filosofia moderna: racionalismo e empirismo. Crise da razão e a questão da técnica. Crítica da linguagem e novas linguagens.
Análise léxica. Análise sintática. Análise semântica. Geração de código intermediário. Tradução dirigida pela sintaxe. Geração de código. Otimização de código. Geradores de analisadores léxicos e sintáticos. Projeto e Implementação de Compiladores/Interpretadores para linguagens de programação.
Introdução à computação em nuvem. Modelos de serviço. Modelos de implantação. Virtualização e contêineres. Aplicações nativas da nuvem. Armazenamento e rede. Escalabilidade. Segurança. Modelos de tarifação. Principais provedores.
Introdução à Ciência de Dados e Big Data. Metodologia de Ciência de Dados. Análise Exploratória de Dados. Estatísticas descritivas. Visualização de Dados. Noções de probabilidade. Modelos de distribuição de probabilidade. Inferência Estatística. Aprendizado de Máquina. Aprendizado Profundo. Classificação e Regressão. Linguagem Python para Ciência de Dados.
Características de sistemas computacionais móveis, aplicações, arquiteturas, plataformas e ambientes de desenvolvimento. Projeto de aplicações para dispositivos móveis e interoperabilidade entre aplicações, incluindo arquitetura cliente-servidor.
Implementação de aplicações fullstack. Integração de aplicações web e mobile por meio de Web APIs. Implantação em ambientes de computação em nuvem. Atividades de integração entre conhecimentos acadêmicos e saberes de outros setores da sociedade, unindo teoria e prática, por meio das modalidades de extensão.
Estudo e aplicação de metodologias de pesquisa qualitativa e participativa para diagnóstico de demandas sociais em comunidades. Técnicas de coleta e análise de dados, mapeamento social e construção de indicadores sociais. Compreensão crítica das desigualdades sociais e das condições de vulnerabilidade. Identificação de oportunidades de intervenção social e fortalecimento da relação dialógica com a comunidade.
Estudo e aplicação de metodologias de pesquisa qualitativa e participativa para diagnóstico de demandas sociais em comunidades. Técnicas de coleta e análise de dados, mapeamento social e construção de indicadores sociais. Compreensão crítica das desigualdades sociais e das condições de vulnerabilidade. Identificação de oportunidades de intervenção social e fortalecimento da relação dialógica com a comunidade.
Mundo digital, espaço virtual e espaço cibernético: organização, impactos, riscos e ameaças. Incidentes cibernéticos: ataques, golpes e crimes. Princípios da segurança cibernética global. Criptografia: fundamentos, técnicas, algoritmos e aplicações. Segurança Cibernética e a trilha de formação em investigação (DFIR). Investigação Cibernética, Computação Forense, Perícia Computacional, Inteligência Cibernética, Inteligência de Ataques e Ameaças, Resposta a Incidentes.
Quinto período
O conceito de Cidadania; os direitos civis, políticos e sociais no Brasil. As diferentes formas de manifestação da desigualdade; diversidade e desigualdades sociais. Tópicos contemporâneos sobre sociedade e cidadania.
Unidade curricular de natureza estratégica que permite ao aluno escolher, dentre um conjunto de UC previamente definidas, diferentes propostas complementares à sua formação.
Fundamentos das linguagens de programação. Conceitos de linguagens de programação. Paradigmas de programação: imperativo, declarativo, funcional e orientado a objetos. Exemplos práticos e estudos de caso em linguagens dos diversos paradigmas.
Elaboração de projetos de intervenção social com base em diagnósticos comunitários. Planejamento estratégico de ações sociais, definição de metas, indicadores de impacto e recursos necessários. Abordagens interdisciplinares e participação comunitária no processo de tomada de decisão. Construção de soluções inovadoras e sustentáveis para problemas sociais complexos.
Elaboração de projetos de intervenção social com base em diagnósticos comunitários. Planejamento estratégico de ações sociais, definição de metas, indicadores de impacto e recursos necessários. Abordagens interdisciplinares e participação comunitária no processo de tomada de decisão. Construção de soluções inovadoras e sustentáveis para problemas sociais complexos.
Fundamentos de Redes de Computadores. Estruturas e modelos de comunicação em redes. Modelo OSI. Arquitetura TCP/IP. Mecanismos e protocolos de roteamento. Processos de análise e encaminhamento de pacotes. Endereçamento IPv6. Funcionamento do protocolo ICMP. Características e aplicações do protocolo UDP. Resolução de nomes e funcionamento do DNS. Distribuição dinâmica de endereços IP com DHCP. Comunicação web e estrutura do protocolo HTTP.
Introdução a Robótica: definição, aplicações e conceitos básicos. Sensores, Atuadores e Efetuadores. Arquiteturas para robótica móvel: reativas, deliberativas, híbridas e comportamental. Navegação, localização e mapeamento da robótica móvel. Atuadores e sensores: noções básicas de tipos e características. Internet of Robotic Things (IoRT). Robótica inteligente.
Estrutura de um sistema operacional. Gerência de processos: processos, comunicação, escalonamento, multiprocessamento, programação concorrente. Sincronização de processos. Deadlock. Gerência de memória: memória virtual, paginação, segmentação, mudança de contexto, proteção. Gerenciamento de arquivos. Gerenciamento de dispositivos de entrada/saída. Sistemas Operacionais Atuais. Virtualização de Armazenamento. Simulação de Sistemas. Escalabilidade.
Palestras e oficinas sobre temas socioeconômicos, ambientais, religiosos, técnico-científicos de interesse geral e específicos da Ciência da Computação. Oficinas técnicas de interesse para a Ciência da Computação.
Principais concepções da antropologia filosófica. O problema da liberdade e a dimensão simbólico-cultural do ser humano. Panorama histórico da ética na tradição filosófica ocidental. Fenomenologia do ethos e ética do dever. Questões éticas fundamentais e atuais.
Sexto período
Temas atuais de pesquisa e desenvolvimento na área da Ciência da Computação. A unidade curricular não possui uma ementa fixa, permitindo uma abordagem flexível de conteúdos e tendências emergentes no campo da Computação.
Notações para complexidade de algoritmos. Crescimento assintótico de funções e classes de complexidade. Análise de algoritmos iterativos e recursivos. Teorema Mestre. Indução matemática. Algoritmos fundamentais para busca, ordenação e seleção. Técnicas de Projeto de Algoritmos: força-bruta, retrocesso, divisão e conquista, programação dinâmica e algoritmos gulosos. Tratabilidade de problemas. Teoria da Complexidade. Teorema de Cook. Introdução à teoria dos conjuntos. Grafos e seus algoritmos. Divisibilidade. Congruência. Análise de eficiência de Algoritmos
Conceitos e princípios de Engenharia de Software; Processos de software; Engenharia de requisitos; Análise de sistemas; Projeto de software; Projeto da camada de domínio; Projeto da camada de persistência; Prototipação de software; Introdução aos testes de software.
Introdução à administração de redes heterogêneas. Arquitetura de um sistema de gerenciamento de redes. Protocolos padrões para o gerenciamento de redes. Metodologias e protocolos para segurança em redes interconectadas. Monitoramento e ferramentas de gerenciamento. Serviços de Diretórios
O processo de desenvolvimento de novos negócios. Identificação de oportunidades: pesquisa e validação do problema de mercado. Aplicação de ferramentas de modelagem. Análise de cenários econômicos e financeiros, identificação de tendências emergentes e avaliação de viabilidade e escalabilidade de ideias de negócio. Análise de mercado, previsão de demanda e análise de concorrência. Aplicação de metodologias para lançamento rápido de produtos no mercado e obtenção de feedbacks iniciais. Elaboração de PITCH. O processo de captação de recursos para investimento: fontes de financiamento.
Simulação e virtualização de redes de computadores. Modelagem, configuração e gerenciamento de redes em ambientes virtuais. Monitoramento e análise de tráfego de rede. Diagnóstico e solução de problemas de comunicação entre dispositivos. Configuração e teste de protocolos de rede, incluindo roteamento, endereçamento, ICMP, DNS, DHCP, HTTP e UDP. Implementação de serviços e infraestrutura de redes em ambientes simulados. Desenvolvimento de projetos e estudos de caso aplicados a redes interconectadas.
Unidade curricular de natureza estratégica que permite ao aluno escolher, dentre um conjunto de UC previamente definidas, diferentes propostas complementares à sua formação.
Implementação de projetos de intervenção social em contextos comunitários. Aplicação de metodologias ativas para execução de ações planejadas. Trabalho em equipe, gestão de conflitos e resolução de problemas em campo. Acompanhamento e avaliação contínua das ações realizadas, com possibilidade de ajustes e adaptação de estratégias para garantir o sucesso da intervenção.
Implementação de projetos de intervenção social em contextos comunitários. Aplicação de metodologias ativas para execução de ações planejadas. Trabalho em equipe, gestão de conflitos e resolução de problemas em campo. Acompanhamento e avaliação contínua das ações realizadas, com possibilidade de ajustes e adaptação de estratégias para garantir o sucesso da intervenção.
Origens religiosas das culturas e mentalidades. Tradição cristã e a relação entre fé e razão. Experiências das espiritualidades, cristianismo e expressões do sagrado. Relações históricas afro-brasileiras e indígenas.
Sétimo período
Metodologias ágeis; DevOps; Gerenciamento de projetos de software; Qualidade de software; Manutenção de software; Padrões de projeto; Reuso de software; Frameworks de software; Testes de software; Engenharia de software como serviço; Tecnologias emergentes em Engenharia de Software.
Métodos de elaboração de documentos técnicos. Orientações e acompanhamento de atividades desenvolvidas em um ambiente técnico (acadêmico ou profissional).
Histórico da IoT – Internet of Things. Fundamentos Básico da IoT. Arquitetura e Tecnologias para suporte à IoT. Aplicações e oportunidades de negócios em IoT: Cidades inteligentes, segurança e transporte; energia e infraestrutura; automação residencial (Smart Home) e saúde; aplicações no agronegócio e na indústria. Projeto e implementação de sistemas para a Internet das Coisas.
Unidade curricular de natureza estratégica que permite ao aluno escolher, dentre um conjunto de UC previamente definidas, diferentes propostas complementares à sua formação.
Avaliação crítica dos impactos das ações de intervenção social. Análise de resultados, elaboração de indicadores de sucesso e identificação de desafios e oportunidades de melhoria. Proposição de estratégias para garantir a continuidade e a replicação das ações. Construção de modelos de governança comunitária e estabelecimento de parcerias para garantir a sustentabilidade das iniciativas.
Avaliação crítica dos impactos das ações de intervenção social. Análise de resultados, elaboração de indicadores de sucesso e identificação de desafios e oportunidades de melhoria. Proposição de estratégias para garantir a continuidade e a replicação das ações. Construção de modelos de governança comunitária e estabelecimento de parcerias para garantir a sustentabilidade das iniciativas.
Palestras e oficinas sobre temas socioeconômicos, ambientais, religiosos, técnico-científicos de interesse geral e específicos da Ciência da Computação. Oficinas técnicas de interesse para a Ciência da Computação.
Temas atuais de pesquisa e desenvolvimento na área da Ciência da Computação. A unidade curricular não possui uma ementa fixa, permitindo uma abordagem flexível de conteúdos e tendências emergentes no campo da Computação.
Formação e representação de imagens digitais. Discretização. Aquisição, pré-processamento, segmentação, extração de características, reconhecimento e interpretação. Derivadas e aplicações. Convolução, correlação, integração e aplicações. Domínio da frequência
Humanismo cristão na atualidade e seus desafios. A pessoa em suas relações sociais, econômicas, étnico-raciais e gênero em interface com a fé cristã, os direitos humanos e a cultura de paz. Questões ambientais e sustentabilidade, interculturalidade, mudanças climáticas, desafios éticos e justiça social.
Oitavo período
Temas atuais de pesquisa e desenvolvimento na área da Ciência da Computação. A unidade curricular não possui uma ementa fixa, permitindo uma abordagem flexível de conteúdos e tendências emergentes no campo da Computação.
Conceituação sobre cidades inteligentes e estudos de casos de referência. Introdução à análise multidisciplinar para tomada de decisões com base em aspectos de Planejamento e Desenho Urbano, Sustentabilidade, Eficiência Energética e Gestão de Serviços Públicos, com foco em cidades brasileiras de pequeno e médio porte. Levantamento e mapeamento de informações auxiliadas por tecnologia de informação geográfica. Normas Técnicas sobre cidades inteligentes.
Representação gráfica de curvas e superfícies. Representação volumétrica. Modelos de iluminação local e global. Renderização baseada em física. Geração procedural de geometria e texturas, perlin noise e fractais. Efeitos de pós-processamento em CPU e suas aplicações em jogos digitais. Algoritmos avançados de renderização. Arquiteturas de motores de jogos.
Unidade curricular de natureza estratégica que permite ao aluno escolher, dentre um conjunto de UC previamente definidas, diferentes propostas complementares à sua formação.
Objetivos gerais da computação paralela e distribuída. Tipos de arquiteturas não convencionais. Problemas e conceitos básicos. Tipos e granularidades de paralelismo. Classificações de Flynn, Duncan e por tipo de memória. Lei de Grosch e Efeito Amdahl. Organização do trabalho dos EPs. Formas de expressar paralelismo. Comunicação e sincronismo. Linguagens e sistemas de programação. Algoritmos paralelos e distribuídos. Aplicações.
Introdução à segurança de sistemas; Conceitos e princípios de Cybersegurança; Vulnerabilidades, ameaças e ataques; Common Vulnerability Scoring System (CVSS); Common Weakness Enumeration (CWE); Common Vulnerabilities and Exposures (CVE); Mecanismos de filtragem de tráfego; Virtual Private Networks (VPNs) e protocolos de segurança; Sistemas de Detecção e Prevenção de Intrusão; Gerenciamento de Eventos e Informações de Segurança (SIEM); Monitoramento de redes; Centros de Resposta a Incidentes de Segurança (CERT); Aspectos metodológicos relacionados à segurança de redes; Arquiteturas para segurança; Criptografia; Segurança web; Segurança de software; Segurança de dados; Segurança em aplicações móveis; Testes de penetração; Segurança em DevOps ; Conformidade com normas e regulamentações.
Fundamentos de Sistemas Distribuídos. Arquitetura de sistemas distribuídos (centralizada e descentralizada). Sincronização de processos distribuídos. Objetos distribuídos e serviços Web. Relógios em sistemas distribuídos. Comunicação em grupo e tolerância a falhas.
Proposição de problemas computacionalmente resolvíveis, que representem oportunidades para demonstração dos conhecimentos adquiridos ao longo do curso e para o desenvolvimento de estudos avançados em Ciência da Computação, preparando o aluno para pesquisa e inovação, tanto no setor produtivo quanto em programas de pós-graduação. Os resultados do Trabalho de Diplomação devem ser verificados em sessões de defesa do tema perante Banca Examinadora, em que o aluno deve relatar suas experiências, aprendizados, resultados e expectativas para o exercício da profissão.