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.
Obs.: é necessário concluir 5 disciplinas de extensão, pois apenas 64 horas das 80 horas de cada disciplina são propriamente carga horária de extensão. Assim, 80 horas das 400 horas totais serão contabilizadas como carga horária optativa.

