Matriz Curricular
(A matriz abaixo é a do currículo 2024.1. Para a de 2016.1, veja o sítio do currículo 2016.1 ou a seção da matriz curricular de 2016.1).
A seguir está a distribuição dos 31 componentes obrigatórios por semestre e mais abaixo a tabela de componentes optativos. Caso queira saber sobre os horários, a grade de horários das disciplinas obrigatórias em cada semestre do curso também está disponível no site do curso;
Obs.: não há uma distribuição balanceada de disciplinas ao longo dos semestres pois, além dos componentes obrigatórios, é necessário também cumprir uma carga horária optativa de 672 horas (42 créditos), o que pode incluir ou não o TCC, além de 320 horas em extensão, que devem ser completadas através das disciplinas optativas marcadas em verde (Grupo de Componentes Específicos de Extensão, de acordo com o PPC, página 73, e a Resolução n° 28/2017/CEPE/UFC, Arts. 5°, II, e 7°). As disciplinas optativas podem ser feitas a partir do segundo semestre.
| Sem. | Código | Disciplina | CH | Requisitos |
Equivalência |
| 01 | CB0534 | Cálculo Diferencial e Integral I | 96h |
— |
— |
| CK0253 | Seminários em Computação | 32h |
— |
— |
|
| CB0661 | Matemática Discreta | 96h |
— |
— |
|
| CK0211 | Fundamentos de Programação | 64h | — | CK0108 ou CK0087 ou CK0030 | |
| CK0169 | Circuitos Digitais | 64h | — | CK0106 ou CK0009 | |
| 02 | CB0535 | Cálculo Diferencial e Integral II | 96h | CB0534 | — |
| CB0589 | Álgebra Linear | 64h | — | CB0537 ou CB0582 | |
| CK0209 | Estruturas de Dados | 64h | CB0661 e CK0211 | CK0109 ou CK0029 | |
| CK0226 | Programação | 64h | CK0211 | CK0110 | |
| CK0170 | Transmissão de Dados | 64h | — | CK0106 ou CK0009 | |
| 03 | CK0220 | Lógica para Ciência da Computação | 96h | CB0661 | CB0515 |
| CC0261 | Introdução à Probabilidade e à Estatística | 64h | CB0534 | CC0051 ou CC0265 ou AB0076 | |
| CK0111 | Algoritmos em Grafos | 64h | CK0209 | — | |
| CK0235 | Técnicas de Programação I | 64h | CK0209 e CK0226 | CK0112 | |
| CK0195 | Arquitetura de Computadores | 64h | CK0169 | CK0113 | |
| 04 | CK0203 | Construção e Análise de Algoritmos | 64h | CK0111 | CK0019 ou CK0183 |
| CK0047 | Métodos Numéricos I | 64h | CK0226 e CB0534 | — | |
| CK0245 | Computação Gráfica I | 64h | CB0589 e CK0226 | CK0090 | |
| CK0443 | Fundamentos de Bancos de Dados | 64h | CK0211 | CK0114 ou CK0105 | |
| CK0115 | Linguagens de Programação I | 96h | CK0211 | CK0043 | |
| 05 | CK0247 | Engenharia de Software I | 64h | CK0226 | CK0119 |
| CK0048 | Métodos Numéricos II | 64h | CK0047 e CB0535 e CB0589 | — | |
| CK0249 | Redes de Computadores I | 64h | CK0170 | CK0184 ou CK0061 | |
| CK0095 | Sistemas de Gerenciamento de Bancos de Dados | 64h | CK0443 | CK0117 | |
| 06 | CK0248 | Inteligência Artificial | 64h | CK0209 e CC0261 | CK0031 |
| CK0234 | Sistemas Operacionais | 96h | CK0195 | CK0069 | |
| CK0192 | Análise e Projeto de Sistemas I | 64h | CK0235 | CK0116 | |
| CK0118 | Autômatos e Linguagens Formais | 64h | CK0220 | — | |
| 07 | CK0202 | Construção de Compiladores | 96h | CK0115 e CK0195 | CK0017 |
| CK0096 | Teoria da Computação | 64h | CK0118 | CK0101 | |
| CK0212 | Informática e Sociedade | 32h | — | CK0120 | |
| 08 | CCP0001 | Atividades Complementares | 64h | — | — |
| Disciplinas Optativas | |||||
| Código | Disciplina | CH | Requisitos | Equivalência | |
| CK0243 | Abstrações de Software | 64h | CK0220 | — | |
| CK0190 | Administração de Bancos de Dados | 64h | CK0114 | — | |
| ED0049 | Administração de Empresas | 96h | — | ED0056 | |
| CC0325 | Álgebra Linear Computacional | 64h | CB0589 e CK0047 | — | |
| CK0132 | Algoritmos Aproximativos | 64h | CK0203 | — | |
| CK0133 | Algoritmos Distribuídos | 64h | CK0203 | — | |
| CK0134 | Algoritmos Paralelos | 64h | CK0203 | — | |
| CK0191 | Algoritmos Probabilísticos | 64h | CK0203 | — | |
| CK0171 | Animação por Computador | 64h | CK0245 | — | |
| CK0193 | Aprendizagem de Máquina | 64h | CB0589 e CK0226 | CK0138 | |
| CK0475 | Aprendizagem de Máquina Probabilística | 64h | CK0193 | — | |
| CK0097 | Automatização do Raciocínio | 64h | CK0220 | — | |
| CK0196 | Bancos de Dados Distribuídos | 64h | CK0114 | — | |
| CK0139 | Bancos de Dados Não-Convencionais | 64h | CK0114 | — | |
| CK0197 | Busca e Recuperação da Informação | 64h | CK0114 | — | |
| CB0536 | Cálculo Diferencial e Integral III | 96h | CB0535 | — | |
| CB0098 | Ciência de Dados em Larga Escala | 64h | — | — | |
| CK0214 | Colaboração em Projetos de Software Livre | 80h | CK0235 | — | |
| CC0343 | Combinatória Poliédrica | 64h | CC0263 | — | |
| CK0198 | Complexidade Computacional | 64h | CK0203 | — | |
| CK0199 | Complexidade Descritiva I | 64h | CK0220 | — | |
| CK0148 | Computação de Alto Desempenho | 64h | CK0203 e CK0234 | — | |
| CK0246 | Computação Gráfica II | 64h | CK0245 | CK0091 | |
| CK0410 | Comunicação com Dados | 80h | CK0411 e (CK0284 ou CK0266) | — | |
| EH0316 | Contabilidade Geral | 64h | — | EH0306 | |
| PD0075 | Cosmovisão Africana e Cultura dos Afrodescendentes no Brasil | 64h | — | PRG0002 | |
| CK0204 | Decomposição de Grafos | 64h | CK0111 | — | |
| CK0205 | Desenvolvimento de Software para Nuvem | 64h | CK0235 | CK0107 | |
| CK0206 | Desenvolvimento de Software para Plataformas Móveis | 64h | CK0235 e CK0195 | CK0147 ou SMD0122 | |
| CK0207 | Desenvolvimento de Software para Web | 64h | CK0235 | — | |
| CK0445 | Distribuição de Processos e Dados | 64h | — | — | |
| CK0099 | Economia Solidária Digital | 80h | — | — | |
| LAB0026 | Educação Ambiental | 64h | — | PRG0003 | |
| PC0353 | Educação em Direitos Humanos | 64h | — | PRG0004 | |
| CK0271 | Educação Midiática | 80h | — | — | |
| CK0102 | Empreendedor em Informática | 64h | — | — | |
| CK0208 | Engenharia de Software II | 64h | CK0247 | — | |
| CB0507 | Estruturas Algébricas | 96h | CB0661 | — | |
| CK0126 | Estruturas de Dados Avançadas | 64h | CK0209 | CK0051 | |
| SMD0025 | Ética e Política Autoral | 64h | — | — | |
| CK0272 | Extensão em Desenvolvimento de Software para Instituições Públicas | 80h | CK0235 e CK0443 | — | |
| ED0070 | Fundamentos da Administração | 64h | — | ED0049 ou ED0056 | |
| CD0381 | Fundamentos de Física I | 64h | — | CD0201 | |
| CD0382 | Fundamentos de Física II | 64h | CD0381 | — | |
| CD0383 | Fundamentos de Física III | 64h | CD0381 | — | |
| CD0480 | Fundamentos de Física IV | 64h | CD0478 e CD0479 | — | |
| CK0150 | Gerenciamento de Redes | 64h | CK0249 | — | |
| CK0273 | Informática para a Comunidade | 80h | — | — | |
| CK0469 | Integração de Dados | 64h | CK0443 | — | |
| SMD0108 | Interação Humano-Computador I | 64h | — | CK0151 | |
| CB0519 | Introdução às Equações Diferenciais Ordinárias | 96h | CK0048 | — | |
| CK0284 | Introdução à Ciência de Dados | 64h | CK0226 | CK0268 | |
| CK0411 | Introdução à Divulgação Científica | 80h | — | — | |
| TI0091 | Introdução à Robótica | 64h | CB0589 | — | |
| CK0264 | Introdução à Computação Móvel e Ubíqua | 64h | CK0206 | — | |
| CC0297 | Introdução aos Processos Estocásticos | 96h | CC0261 | — | |
| CK0215 | Laboratório de Programação | 64h | CK0226 | CK0038 | |
| HLL0077 | Língua Brasileira de Sinais | 64h | — | — | |
| SMD0045 | Linguagem de Programação Script | 64h | CK0235 | — | |
| CK0216 | Linguagens de Programação II | 64h | CK0115 | CK0044 | |
| CK0218 | Lógica Modal I | 64h | CK0220 | — | |
| CK0219 | Lógica Modal II | 64h | CK0220 | — | |
| CK0221 | Manutenção e Evolução de Software | 64h | CK0235 e CK0247 | — | |
| SMD0035 | Matemática e Física para Jogos | 64h | CK0235 | — | |
| TI0165 | Microprocessadores | 96h | CK0169 | TI0170 | |
| CK0223 | Mineração de Dados | 64h | CK0114 | CK0149 | |
| CK0152 | Modelagem Analítica e Avaliação de Desempenho de Sistemas de Computação | 64h | CC0261 e CK0249 | — | |
| CK0172 | Modelagem em Computação Gráfica I | 64h | CK0245 | — | |
| CK0173 | Modelagem em Computação Gráfica II | 64h | CK0245 | — | |
| CC0321 | Otimização Combinatória e Metaheurística | 96h | CC0263 | — | |
| CK0224 | Padrões de Projeto de Software | 64h | CK0235 e CK0247 | — | |
| CK0274 | Pensamento Computacional na Educação Popular | 80h | CK0211 | — | |
| CK0269 | Privacidade de Dados | 64h | CK0114 | — | |
| CK0276 | Processamento de Dados em Big Data | 64h | CK0095 | — | |
| CK0277 | Processamento Digital de Imagens e Visão Computacional | 96h | CB0589 e CK0226 e CC0261 | — | |
| CK0227 | Programação Concorrente | 64h | CK0235 e CK0115 | — | |
| CK0228 | Programação em Bancos de Dados | 64h | CK0114 | — | |
| CK0278 | Programação em C++: Abstração com Eficiência | 64h | CK0235 | — | |
| CC0399 | Programação Inteira | 64h | CC0263 | — | |
| CC0263 | Programação Linear | 64h | CB0589 | — | |
| CC0323 | Programação Não-Linear | 64h | CB0535 e CB0589 | — | |
| CK0279 | Projeto Social | 80h | CK0273 | — | |
| CK0230 | Prova Assistida por Computador | 64h | CK0220 | — | |
| CK0472 | Qualidade de Dados | 64h | CK0443 | — | |
| CK0231 | Qualidade de Software | 64h | CK0247 | — | |
| CK0232 | Redes Complexas em Computação | 64h | CK0114 | — | |
| CK0250 | Redes de Computadores II | 64h | CK0249 | — | |
| CK0233 | Redes Móveis e sem Fio | 64h | CK0249 | — | |
| CK0474 | Redes Neurais e Aprendizado Profundo | 64h | CK0193 | — | |
| CK0280 | Segurança Cibernética | 64h | CK0249 | — | |
| CK0252 | Segurança em Redes | 64h | CK0249 | — | |
| TI0076 | Sistemas de Tempo Real | 64h | TI0165 | — | |
| CK0154 | Sistemas Distribuídos | 64h | CK0234 e CK0249 | TI0151 | |
| TI0158 | Sistemas Eletrônicos Digitais Reconfiguráveis | 64h | TI0165 | — | |
| TI0148 | Sistemas Embarcados | 64h | CK0234 e TI0165 | — | |
| CK0236 | Técnicas de Programação II | 64h | CK0235 | CK0129 | |
| CK0237 | Teoria de Matroides | 64h | CB0661 | — | |
| CK0125 | Teoria dos Grafos | 64h | CB0661 | — | |
| CK0238 | Teoria dos Modelos Finitos I | 64h | CK0220 | — | |
| CB0802 | Teoria dos Números | 96h | CB0661 | CB0676 ou CB0508 | |
| CK0254 | Tópicos Avançados em Algoritmos | 64h | CK0203 | CK0137 | |
| CK0255 | Tópicos Avançados em Aprendizagem de Máquina | 64h | CK0193 | — | |
| CK0256 | Tópicos Avançados em Bancos de Dados | 64h | CK0114 | CK0144 | |
| CK0257 | Tópicos Avançados em Combinatória | 64h | CK0203 | CK0145 | |
| CK0258 | Tópicos Avançados em Complexidade | 64h | CK0220 e CK0203 | — | |
| CK0259 | Tópicos Avançados em Computação Gráfica | 64h | CK0245 | CK0155 | |
| CK0260 | Tópicos Avançados em Engenharia de Software | 64h | CK0247 | — | |
| CK0261 | Tópicos Avançados em Inteligência Artificial | 64h | CK0248 | CK0146 ou CK0156 | |
| CK0262 | Tópicos Avançados em Lógica Matemática | 64h | CK0220 | CK0131 | |
| CK0263 | Tópicos Avançados em Redes e Sistemas Distribuídos | 64h | CK0250 | CK0158 ou CK0163 | |
| CK0240 | Verificação Dedutiva de Programas | 64h | CK0209 e CK0220 | — | |
| CK0281 | Verificação e Validação de Software | 64h | CK0235 e CK0247 | CK0241 | |
| CK0266 | Visualização de Dados | 64h | CK0235 | CK0242 | |
| CK0201 | Web Semântica | 64h | CK0443 | — | |
Importante:
É recomendável fazer um bom planejamento para que o curso seja concluído dentro do prazo normal (8 semestres / 4 anos). Segue abaixo um exemplo de plano de conclusão do curso em 8 semestres. Não é obrigatório seguir a tabela abaixo, ela apenas exemplifica uma forma de alocação das disciplinas para uma integralização da carga horária no tempo correto, mas é interessante tê-la como base para ao menos não ultrapassar o tempo máximo de conclusão do curso (12 semestres / 6 anos) e, portanto, se tornar jubilável.

