O Curso de Ciência da Computação está inserido na área de Ciências Exatas e da Terra e na subárea de Ciência da Computação. Na UFT, o curso atua em 05 linhas de pesquisa. As linhas são: Arquitetura de Sistemas de Computação, Banco de Dados e Engenharia de Software, Inteligência Artificial e Otimização, Modelagem Computacional de Sistemas e Processamento Gráfico e Multimídia. Cada linha de pesquisa possui um conjunto de professores associados e a infraestrutura de laboratórios, de forma à atender as atividades de ensino, pesquisa e extensão do Curso de Ciência da Computação.
Arquitetura de Sistemas de Computação
Sistemas de computação pode ser dividido em três subáreas fundamentais: (1) Projeto de sistemas eletrônicos: está preocupada com o problema geral da modelagem de sistemas e máquinas e em como fazê-las responder adequadamente as entradas. Otimização e técnicas matemáticas desempenham um papel fundamental, especialmente quando os sistemas de interesse crescem em escala. Sistemas com capacidades de compreensão da imagem é uma das áreas de pesquisa, bem como o uso de visão por computador para ajudar os seres humanos. Sistemas embarcados também fazem parte dessa área, se concentrando no desenvolvimento de software de baixo nível em uma variedade de plataformas de hardware diferentes, incluindo dispositivos autônomos, como robôs, unidades de processamento paralelas e ambientes de computação distribuída. (2) Otimização: é a ciência de escolher o melhor elemento de uma coleção sujeita a algumas limitações. Tais problemas surgem em domínios tão variados como projetos de sistemas de engenharia, alocação de recursos, estimativa estatística e teoria dos jogos. Em várias dessas áreas, as técnicas de otimização constituem o arcabouço computacional de escolha no desenvolvimento de métodos manejáveis para desafiar problemas em larga escala. (3) Sistemas em rede: adotam uma visão ampla e interdisciplinar sobre o tema. Se concentrando não apenas em redes de comunicação tradicionais e sistemas distribuídos (por exemplo, projeto de protocolo de rede, computação em nuvem, centros de dados), mas também no controle e dinâmica de sistemas em rede e contextos sociais. A medida que cada subárea de concentração se expande maior é junção entre elas mantendo a interdisciplinaridade e complementação.
Banco de Dados e Engenharia de Software
Essa linha de pesquisa tem o objetivo desenvolver o conhecimento científico e tecnológico de forma aplicada nas áreas de Banco de Dados e Engenharia de software para aliar a pesquisa acadêmica com a aplicação prática na indústria, de forma a desenvolver pesquisas que fomentam a qualidade e a produtividade para o setor de software. Os resultados das pesquisas preveem desenvolver soluções materializadas em sistemas, métodos, modelos, projetos, processos e produtos tecnológicos e inovadores de valor agregado que possam contribuir para questões técnicas e organizacionais. A linha de pesquisa visa desenvolver estudos em temáticas da engenharia de software em domínios de aplicação para o desenvolvimento de métodos, processos, ferramentas, técnicas e medições para a construção de softwares com profissionalismo, qualidade e eficiência na construção de softwares. Sistemas de tempo real, sistemas cliente-servidor, sistemas paralelos e distribuídos, sistemas baseado na web, jogos, sistemas colaborativos e computação móvel, são exemplos de temas a serem desenvolvidos na engenharia de software. Em termos de banco de dados, serão abordados assuntos relacionado com a gestão de informações no que concerne a captura, digitalização representação, organização transformação e apresentação. Essa linha investiga algoritmos para consulta e atualização efetiva e eficiente de informações armazenadas, incluindo técnicas de processamento paralelo e distribuídos e as diferentes arquiteturas computacionais para esse fim. As principais temáticas pesquisadas são: sistemas de banco de dados, modelagem, indexação, processamento de transações, mineração de dados, bancos de dados paralelos e distribuídos, busca e recuperação de informações, sistemas multimídia e gerência de grandes volumes de dados.
Inteligência Artificial e Otimização
Esta área do conhecimento abrange o estudo de técnicas de inteligência artificial e otimização com o objetivo de desenvolver, avaliar e aplicar métodos e técnicas na criação de sistemas computacionais. A Inteligência Artificial aborda pesquisas sobre a inteligência nos sistemas naturais e artificiais, através da investigação dos aspectos teóricos e práticos envolvidos na geração, aquisição, representação, organização, armazenamento e recuperação de conhecimento. Esses conceitos são aplicados no desenvolvimento de soluções computacionais para problemas em diversas áreas uma vez que se trata de uma área de conhecimento de natureza interdisciplinar. A Inteligência Artificial encontra-se articulada em torno de cinco linhas de pesquisa que se complementam: visão computacional, robótica inteligente, mineração de dados, sistemas multi-agentes e representação e raciocínio sobre o conhecimento. A Otimização dedica-se, de modo geral, à modelagem computacional de problemas de otimização, assim como à busca de algoritmos eficientes para a resolução de problemas. Encontra-se articulada em torno de cinco linhas de pesquisa que se complementam: métodos formais, modelagem de problemas, otimização combinatória, heurísticas/metaheurísticas e teoria e algoritmos em grafos.
Modelagem Computacional de Sistemas
A área de concentração Modelagem Computacional de Sistemas que visa formar profissionais aptos a identificar problemas, analisar e modelar sistemas que apoiem a administração e o funcionamento de empresas ou instituições, explorando recursos tecnológicos, com vistas à otimização de resultados. Espera-se destes profissionais a capacidade de propor e desenvolver soluções inéditas ou aperfeiçoar as já existentes, tornando-as operantes no que diz respeito à objetivação de um determinado processo utilizando modelagem computacional, por meio de um trabalho que exige forte e constante interação com a comunidade científica e profissional de áreas multidisciplinares, sob o enfoque interdisciplinar, a fim de desenvolver e simular modelos computacionais que possam atender demandas acadêmicas e profissionais.
A área de concentração encontra-se amparada por três linhas de pesquisa: 1) Modelagem Quantitativa, Otimização e Simulação – Trata da elaboração de modelos teóricos de sistemas físicos e sua análise através de simulações computacionais; da solução otimizada de sistemas complexos; da elaboração e descrição metodologias e de modelos quantitativos de sistemas complexos, sua implementação e avaliação. Essa linha ainda envolve a pesquisa em otimização e simulação de conhecimento em diferentes áreas, abrangendo o uso de modelos matemático-computacionais e de técnicas de otimização, numa perspectiva de apoio a processos decisórios. 2) Análise e Síntese em Ecossistemas: Aborda o projeto e desenvolvimento de sistemas computacionais e análise de ambientes computacionais em sistemas multidisciplinares, e envolve a concepção, especificação e desenvolvimento de ambientes e ferramentas de apoio a processos em ecossistemas. Tem o objetivo de projetar, analisar e implementar modelos ecológicos. Ênfase empírica (guiada a dados) e modelos mecanicistas que abordam uma hierarquia de escalas e processos. Sistemas ecológicos consideram um conjunto de entidades biológicas (plantas, micróbios, animais) e entidades físicas (elementos, sólidos, água) e suas interações como uma unidade funcional (isto é, um ecossistema). 3) Modelos e Sistemas de Gestão e Educação: Trata da concepção e desenvolvimento de objetos de aprendizagem para apoio ao ensino, com uso de tecnologias da informação e comunicação; e o desenvolvimento de metodologias, técnicas e processos para a gestão das organizações, com abordagem interdisciplinar.
Processamento Gráfico e Multimídia
Processamento Gráfico (PG) estuda os processos ou técnicas computacionais que envolvem modelos geométricos, imagens digitais e vídeos. Os projetos nesta área de conhecimento envolvem a transformação de dados geométricos em imagens, a transformação de imagens em dados diversos, o estudo de formas eficientes para apresentar visualmente grandes volumes de dados, o desenvolvimento de algoritmos para auxiliar na descoberta de estruturas de interesse presentes em imagens e vídeos, o estudo de formas de representação e manipulação de modelos geométricos tridimensionais, técnicas de visualização e interação dentro de sistemas de Realidade Virtual e Aumentada, além de design e avaliação de interfaces. O Processamento Gráfico engloba a realização de atividades de ensino, pesquisa e desenvolvimento nas áreas de Processamento de Imagens, Computação Gráfica, Visão Computacional, Visualização de Dados/Imagens, Busca e Recuperação em Imagens e Vídeos, Reconhecimento de Padrões em Imagens, Multimídia e Interface Homem Máquina.