Toda a estrutura curricular do curso de Bacharelado em Engenharia de Software foi elaborada de forma a contemplar os objetivos do curso e atingir o perfil profissional proposto. A organização do currículo permite, a compreensão, o entendimento e o conhecimento para aplicar e desenvolver modelos, utilizando as novas tecnologias e metodologias, assegurando as inter-relações com outras áreas do conhecimento, contribuindo assim, com o processo de compreensão e transformação da realidade, desenvolvendo no discente não só competências, como também formando um cidadão consciente do seu papel na sociedade e alicerçado nos princípios da ética e da cidadania.
A integralização curricular compreenderá uma formação de 3.200 horas (equivalendo a 200 créditos) com tempo ideal para conclusão do curso estimado em 4 (quatro) anos ou 8 (oito) semestres letivos. Sendo assim, o estudante do Curso de Engenharia de Software, modalidade Bacharelado, deverá observar o tempo máximo para a sua conclusão, estipulado em 06 (sete) anos ou 12 (catorze) períodos letivos. Os alunos devem cursar uma carga horária mínima por semestre de 4 créditos e, no máximo, 32 créditos.
As disciplinas do Curso de Engenharia de Software são de três tipos: obrigatórias, optativas (da integralização curricular do curso) e optativas-livres (de fora da integralização curricular do curso) e também atividades extraclasses: estágio supervisionado, trabalho de conclusão de curso e atividades complementares, como extensão, monitoria, iniciação científica, participação e organização de seminários e palestras etc. Eventualmente, respeitado o limite, algumas disciplinas poderão ser ministradas a distância. Devido ao rápido surgimento de novas tecnologias de informação, faz-se necessário a inclusão de disciplinas optativas que abordem tais temas. Para tanto, as disciplinas chamadas tópicos especiais que constam no currículo serão ofertadas de acordo com a demanda por estas tecnologias, não possuindo assim ementa definida a priori.
As unidades curriculares (UC) representam áreas de conhecimento que agrupam componentes curriculares afins. No curso de Engenharia de Software, os componentes curriculares foram organizados em quatro grandes áreas: I) Formação Básica; II) Formação Tecnológica; III) Formação Complementar e Humanística; e IV) Formação Suplementar. As tabelas a seguir apresentam as disciplinas correspondentes a cada área.
Formação Básica em Ciência da Computação
| Código | Disciplina | Caráter |
|---|---|---|
| QXD0001 | Fundamentos de Programação | Obrigatória |
| QXD0005 | Arquitetura de Computadores | Obrigatória |
| QXD0007 | Programação Orientada a Objetos | Obrigatória |
| QXD0010 | Estrutura de Dados | Obrigatória |
| QXD0016 | Linguagens de Programação | Obrigatória |
| QXD0041 | Projeto e Análise de Algoritmos | Obrigatória |
| QXD0040 | Linguagens Formais e Autômatos | Optativa |
| QXD0046 | Teoria da Computação | Optativa |
| QXD0114 | Programação Funcional | Optativa |
| QXD0115 | Estrutura de Dados Avançada | Optativa |
| QXD0153 | Desafios de Programação | Optativa |
Formação Básica em Matemática
| Código | Disciplina | Caráter |
|---|---|---|
| QXD0008 | Matemática Discreta | Obrigatória |
| QXD0012 | Probabilidade e Estatística | Obrigatória |
| QXD0017 | Lógica para a Computação | Obrigatória |
| QXD0056 | Matemática Básica | Obrigatória |
Formação Tecnológica em Sistemas de Informação
| Código | Disciplina | Caráter |
|---|---|---|
| QXD0231 | Sistemas Colaborativos | Opcional |
| QXD0022 | Auditoria e Segurança de Sistemas de Informação | Opcional |
| QXD0249 | Gestão de Processos de Negócios | Opcional |
| QXD0027 | E-Business | Opcional |
Formação Tecnológica em Ciência da Computação
| Código | Disciplina | Caráter |
|---|---|---|
| QXD0011 | Fundamentos de Banco de Dados | Obrigatória |
| QXD0020 | Desenvolvimento de Software para a Web | Obrigatória |
| QXD0102 | Desenvolvimento de Software para Dispositivos Móveis | Obrigatória |
| QXD0079 | Computação em Nuvem | Opcional |
| QXD0025 | Compiladores | Opcional |
| QXD0037 | Inteligência Artificial | Opcional |
| QXD0075 | Redes Sociais | Opcional |
| QXD0076 | Sistemas Multiagentes | Opcional |
| QXD0099 | Desenvolvimento de Software para Persistência | Opcional |
| QXD0039 | Introdução à Computação Gráfica | Opcional |
| QXD0164 | Linguagens de Marcação e Scripts | Opcional |
| QXD0074 | Desenvolvimento de Software Concorrente | Opcional |
| QXD0176 | Aprendizado de Máquina | Opcional |
Formação Tecnológica em Engenharia de Software
| Código | Disciplina | Caráter |
|---|---|---|
| QXD0014 | Análise e Projeto de Sistemas | Obrigatória |
| QXD0042 | Qualidade de Software | Obrigatória |
| QXD0236 | Introdução à Engenharia de Software | Obrigatória |
| QXD0058 | Projeto Detalhado de Software | Obrigatória |
| QXD0060 | Processos de Software | Obrigatória |
| QXD0061 | Requisitos de Software | Obrigatória |
| QXD0063 | Verificação e Validação | Obrigatória |
| QXD0064 | Arquitetura de Software | Obrigatória |
| QXD0066 | Gerência de Configuração | Obrigatória |
| QXD0221 | Interação Humano-Computador | Obrigatória |
| QXD0062 | Manutenção de Software | Opcional |
| QXD0065 | Especificação Formal de Software | Opcional |
| QXD0068 | Reuso de Software | Opcional |
| QXD0071 | Estimativa de Custo em Projetos de Software | Opcional |
| QXD0073 | Experimentação em Engenharia de Software | Opcional |
| QXD0078 | Introdução ao Desenvolvimento de Jogos | Opcional |
| QXD0198 | Avaliação da Interação Humano-Computador | Opcional |
| QXD0211 | User Experience | Opcional |
Formação Tecnológica em Sistemas Operacionais e Redes de Computadores
| Código | Componente Curricular | Caráter |
|---|---|---|
| QXD0013 | Sistemas Operacionais | Obrigatória |
| QXD0021 | Redes de Computadores | Obrigatória |
| QXD0043 | Sistemas Distribuídos | Opcional |
| QXD0069 | Segurança | Opcional |
A área de formação complementar abrange um conjunto de disciplinas que tem como objetivo preparar os formandos para a interação com profissionais de outras áreas.
| Código | Componente Curricular | Caráter |
|---|---|---|
| QXD0023 | Gerência de Projetos de Software | Obrigatória |
| QXD0029 | Empreendedorismo | Obrigatória |
| QXD0103 | Ética, Direito e Legislação | Obrigatória |
| QXD0035 | Inglês Instrumental I | Opcional |
| QXD0036 | Inglês Instrumental II | Opcional |
| QXD0246 | Relações Étnico-Raciais e Africanidades | Opcional |
| QXD0232 | Educação Ambiental | Opcional |
| QXD0245 | Educação em Direitos Humanos | Opcional |
A Formação Suplementar é composta por matérias que não se enquadram perfeitamente nas áreas de formação originalmente propostas nas Diretrizes Curriculares.
| Código | Componente Curricular | Caráter |
|---|---|---|
| QXD0104 | Estágio Supervisionado I | Obrigatória |
| QXD0105 | Estágio Supervisionado II | Obrigatória |
| QXD0110 | Projeto de Pesquisa Científica e Tecnológica | Obrigatória |
| QXD0111 | Trabalho de Conclusão de Curso I | Obrigatória |
| QXD0112 | Trabalho de Conclusão de Curso II | Obrigatória |
| QXD0237 | Projeto Integrado em Engenharia de Software I | Obrigatória |
| QXD0238 | Projeto Integrado em Engenharia de Software II | Obrigatória |
| QXD0239 | Projeto Integrado em Engenharia de Software III | Obrigatória |
| QXD0113 | Língua Brasileira de Sinais-LIBRAS | Opcional |
| Atividades Complementares | Obrigatória | |
| Atividades de Extensão | Obrigatória |
As unidades curriculares deverão formar o futuro Bacharel em Engenharia de Software para exercer seu papel de cidadão levando em conta o desempenho de atividades nas áreas de Engenharia de Software, considerando ainda sua responsabilidade social.