Ministério da Educação
Universidade Federal do Amazonas
Câmara de Ensino de Graduação
RESOLUÇÃO Nº 047, DE 30 DE JUNHO DE 2025
REGULAMENTA o Projeto Pedagógico do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, vinculado ao Instituto de Computação (Icomp), da Universidade Federal do Amazonas (UFAM), versão 2026/1.
O PRESIDENTE DA SESSÃO ORDINÁRIA DA CÂMARA DE ENSINO DE GRADUAÇÃO, DO CONSELHO DE ENSINO, PESQUISA E EXTENSÃO DA UNIVERSIDADE FEDERAL DO AMAZONAS, no uso de suas atribuições estatutárias;
CONSIDERANDO a Lei Nº 9.394, de 20 de dezembro de 1996, que estabelece as diretrizes e bases da educação nacional;
CONSIDERANDO a Lei Nº 11.788, de 25 de setembro de 2008, que dispõe sobre o estágio de estudantes; altera a redação do art. 428 da Consolidação das Leis do Trabalho (CLT), aprovada pelo Decreto-Lei no 5.452, de 1º de maio de 1943, e a Lei no 9.394, de 20 de dezembro de 1996; revoga as Leis nos 6.494, de 7 de dezembro de 1977, e 8.859, de 23 de março de 1994, o parágrafo único do art. 82 da Lei no 9.394, de 20 de dezembro de 1996, e o art. 6º da Medida Provisória no 2.164-41, de 24 de agosto de 2001; e dá outras providências;
CONSIDERANDO o Decreto Nº 5.296, de 02 de dezembro de 2004, que regulamenta as Leis nos 10.048, de 8 de novembro de 2000, que dá prioridade de atendimento às pessoas que especifica, e 10.098, de 19 de dezembro de 2000, que estabelece normas gerais e critérios básicos para a promoção da acessibilidade das pessoas com deficiência ou com mobilidade reduzida, e dá outras providências;
CONSIDERANDO o Decreto Nº 5.625, de 22 de dezembro de 2005, que regulamenta a Lei nº 10.436, de 24 de abril de 2002, que dispõe sobre a Língua Brasileira de Sinais (Libras);
CONSIDERANDO a Resolução CNE/CP N° 01, de 17 de junho de 2004, que institui Diretrizes Curriculares Nacionais para a Educação das Relações Étnico-Raciais e para o Ensino de História e Cultura Afro-Brasileira e Africana;
CONSIDERANDO a Resolução CNE/CES Nº 2, de 18 de junho de 2007, que dispõe sobre carga horária mínima e procedimentos relativos à integralização e duração dos cursos de graduação, bacharelados, na modalidade presencial;
CONSIDERANDO a Resolução CNE/CP Nº 01, de 30 de maio de 2012, que estabelece as Diretrizes Curriculares Nacionais para a Educação em Direitos Humanos;
CONSIDERANDO a Resolução CNE/CP Nº 2, de 15 de junho de 2012, que estabelece as Diretrizes Curriculares Nacionais para a Educação Ambiental;
CONSIDERANDO a Resolução CNE/CES Nº 5, de 16 de novembro de 2016, que institui as Diretrizes Curriculares Nacionais para os cursos de graduação na área da Computação, abrangendo os cursos de bacharelado em Ciência da Computação, em Sistemas de Informação, em Engenharia de Computação, em Engenharia de Software e de licenciatura em Computação, e dá outras providências;
CONSIDERANDO a Resolução Nº 018, de 01 de agosto de 2007, CEG/CONSEPE, que regulamenta as Atividades Complementares dos Cursos de Graduação da Universidade Federal do Amazonas;
CONSIDERANDO a Resolução Nº 037, de 04 de julho de 2011, CEG/CONSEPE, que estabelece integralização dos tempos máximos de duração dos cursos de graduação presenciais da Universidade Federal do Amazonas;
CONSIDERANDO a Resolução Nº 067, de 30 de novembro de 2011, CEG/CONSEPE, que disciplina os estágios obrigatórios e não obrigatórios da Universidade Federal do Amazonas;
CONSIDERANDO a Resolução nº 020, de 16 de dezembro de 2019, CONSEPE, que regulamenta a criação de curso, criação e modificação curricular e extinção de curso superior no âmbito da UFAM;
CONSIDERANDO a Resolução nº 044, de 04 de dezembro de 2023, CONSEPE, que dispõe sobre a regulamentação da Curricularização das ações de extensão Universitária nos Cursos de Graduação da Universidade Federal do Amazonas e dá outras providências;
CONSIDERANDO as diretrizes do Plano Brasileiro de Inteligência Artificial 2024-2028, que destaca a formação de talentos como uma prioridade nacional para atender à alta demanda por especialistas em IA e promover a autonomia tecnológica;
CONSIDERANDO o ofício nº 32/2025/CCCCOMP (2569855), no qual encaminha a proposta de criação do curso de Graduação em Inteligência Artificial (BIA), bacharelado, vinculado ao (Icomp);
CONSIDERANDO a ata do Conselho Diretor do Instituto de Computação - CONDIR (2570463), realizada no dia 28 de março de 2025;
CONSIDERANDO a Informação nº 22/2025/DAE - PROEG/PROEG/UFAM, (2652561), que trata da análise do processo de criação de curso, aprovação e regulamentação do Projeto Pedagógico do Curso de Graduação em Inteligência Artificial, bacharelado;
CONSIDERANDO, finalmente, a Decisão (SEI nº 2661833), do plenário em reunião ordinária realizada em XX de XX de 2025,
RESOLVE:
Art. 1º REGULAMENTAR o Projeto Pedagógico do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, vinculado ao Instituto de Computação (Icomp), da Universidade Federal do Amazonas (UFAM), versão 2026/1.
Art. 2º A integralização curricular do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, dar-se-á com a conclusão da carga horária total de 3.200 (três mil e duzentas) horas/aula e 155 (cento e cinquenta e cinco) créditos, com a subdivisão que segue:
I - disciplinas obrigatórias do núcleo básico de formação - formação comum aos cursos de Graduação em Inteligência Artificial, Graduação em Tecnologia da Informação, Graduação em Engenharia de Software e Graduação em Ciência da Computação;
II - disciplinas obrigatórias do núcleo específico de formação do Curso;
III - disciplinas eletivas;
V - Atividades Acadêmico-Científico-Culturais (AACC's);
VI - Atividades Curriculares de Extensão.
Art. 3º As disciplinas obrigatórias do núcleo básico de formação, correspondem ao total de 1.350 (mil trezentos e cinquenta) horas/aula e 84 (oitenta e quatro) créditos.
Art. 4º disciplinas obrigatórias do núcleo específico de formação, correspondem ao total de 1.050 (mil e cinquenta) horas/aula e 63 (sessenta e três) créditos.
Art. 5º As disciplinas eletivas correspondem ao total de 120 (cento e vinte) horas/aula, equivalentes a 04 (quatro) créditos.
Art. 6º As disciplinas optativas correspondem ao total de 120 (cento e vinte) horas/aula, equivalentes a 04 (quatro) créditos.
Art. 7º As Atividades Acadêmico-Científico-Culturais (AACC's) constituem componente curricular obrigatório e correspondem ao total de 240 (duzentos e quarenta) horas.
Art. 8º As Atividades Curriculares de Extensão correspondem ao total de 320 (trezentos e vinte) horas, que serão integralizadas por meio de disciplinas obrigatórias e modalidades extensionistas.
Art. 9º O curso será ofertado em regime presencial, de crédito semestral, turno integral, sendo permitida a matrícula em disciplinas, respeitando o limite máximo de 30 (trinta) e mínimo de 12 (doze) créditos por período.
Art. 10. A integralização curricular far-se-á em, no mínimo, quatro anos, equivalentes a oito períodos letivos, e, no máximo, seis anos, equivalentes a 12 (doze) períodos letivos no mínimo.
Art. 11. O desdobramento da Estrutura Curricular do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, está organizada em blocos de conteúdos, tópicos, por componentes curriculares, e contido no Anexo I desta Resolução.
Art. 12. A distribuição das disciplinas do currículo do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, por período letivo, far-se-á segundo o que estabelece a periodização e o quadro de disciplinas obrigatórias (do núcleo básico de formação), disciplinas obrigatórias (do núcleo específico de formação), eletivas, optativas e de extensão, contidos no Anexo II desta Resolução.
Art. 13. O programa de ensino das disciplinas do currículo do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, compõe o Anexo III desta Resolução.
Art. 14. As normas regulamentares das Atividades Acadêmico-Científico-Culturais do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, estão estabelecidas no Anexo IV desta Resolução.
Art. 15. As normas regulamentares do Trabalho de Conclusão de Curso (TCC) do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, estão estabelecidas no Anexo V desta Resolução.
Art. 16. As normas regulamentares das Atividades Curriculares de Extensão do Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1, estão estabelecidas no Anexo VI desta Resolução.
Art. 17. Aplicar-se-á esta Resolução aos discentes que ingressarem no Curso de Graduação em Inteligência Artificial, bacharelado, modalidade presencial, turno integral, de ingresso único por meio da Área Básica de Ingresso (ABI) Computação, versão 2026/1.
Art. 18. Esta Resolução entra em vigor na data de sua publicação.
PLENÁRIA DA CÂMARA DE ENSINO DE GRADUAÇÃO, DO CONSELHO DE ENSINO, PESQUISA E EXTENSÃO DA UNIVERSIDADE FEDERAL DO AMAZONAS, em Manaus, 30 de junho de 2025.
DAVID LOPES NETO
Presidente
DESDOBRAMENTO DA ESTRUTURA CURRICULAR
1. Conteúdos Curriculares da Formação Tecnológica e Básica para todos os Cursos de Bacharelado e de Licenciatura |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
sistemas operacionais |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
compiladores |
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
engenharia de software |
ICC430 |
ENGENHARIA DE SOFTWARE I |
60 |
4.4.0.0 |
ICC431 |
ENGENHARIA DE SOFTWARE II |
60 |
4.4.0.0 |
|
interação humano-computador |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
ICC406 |
INTERAÇÃO HUMANO-COMPUTADOR |
60 |
4.4.0.0 |
|
redes de computadores |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
|
sistemas de tempo real |
ICC062 |
ARQUITETURA DE COMPUTADORES |
150 |
5.0.5.0 |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
|
inteligência artificial e computacional |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
|
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
|
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
|
ICC209 |
RECUPERAÇÃO DE INFORMAÇÃO |
60 |
4.4.0.0 |
|
ICC208 |
ENGENHARIA DE DADOS |
60 |
4.4.0.0 |
|
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
|
ICC254 |
PROCESSAMENTO DE LINGUAGEM NATURAL |
60 |
4.4.0.0 |
|
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
|
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
|
ICC262 |
IA NEURO-SIMBÓLICA |
60 |
4.4.0.0 |
|
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
|
processamento de imagens |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
|
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
computação gráfica |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
|
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
banco de dados |
ICC205 |
INTRODUÇÃO A BANCOS DE DADOS |
60 |
4.4.0.0 |
|
ICC208 |
ENGENHARIA DE DADOS |
60 |
4.4.0.0 |
dependabilidade |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
segurança |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
multimídia |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
sistemas embarcados |
ICC062 |
ARQUITETURA DE COMPUTADORES |
150 |
5.0.5.0 |
processamento paralelo |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
|
processamento distribuído |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
|
robótica |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
|
realidade virtual |
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
|
automação |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
novos paradigmas de computação |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
|
matemática discreta |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
estruturas algébricas |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
matemática do contínuo [cálculo, álgebra linear, equações diferenciais, geometria analítica; matemática aplicada (séries, transformadas), cálculo numérico] |
IEM075 |
CÁLCULO DIFERENCIAL E INTEGRAL I |
60 |
4.4.0.0 |
IEM076 |
CÁLCULO DIFERENCIAL E INTEGRAL II |
60 |
4.4.0.0 |
|
IEM012 |
ÁLGEBRA LINEAR I |
60 |
4.4.0.0 |
|
IEM022 |
ÁLGEBRA LINEAR II |
60 |
4.4.0.0 |
|
teoria dos grafos |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
|
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
|
análise combinatória |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
probabilidade e estatística |
IEE001 |
PROBABILIDADE E ESTATÍSTICA |
60 |
4.4.0.0 |
pesquisa operacional e otimização |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
|
teoria da computação |
ICC040 |
LINGUAGENS FORMAIS E AUTÔMATOS |
60 |
4.4.0.0 |
lógica |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
algoritmos e complexidade |
ICC001 |
INTRODUÇÃO À COMPUTAÇÃO |
90 |
5.4.1.0 |
ICC002 |
ALGORITMOS E ESTRUTURAS DE DADOS I |
90 |
5.4.1.0 |
|
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
|
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
|
linguagens formais e autômatos |
ICC040 |
LINGUAGENS FORMAIS E AUTÔMATOS |
60 |
4.4.0.0 |
abstração e estruturas de dados |
ICC001 |
INTRODUÇÃO À COMPUTAÇÃO |
90 |
5.4.1.0 |
ICC002 |
ALGORITMOS E ESTRUTURAS DE DADOS I |
90 |
5.4.1.0 |
|
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
|
fundamentos de linguagens (sintaxe, semântica e modelos) |
ICC001 |
INTRODUÇÃO À COMPUTAÇÃO |
90 |
5.4.1.0 |
programação |
ICC001 |
INTRODUÇÃO À COMPUTAÇÃO |
90 |
5.4.1.0 |
ICC002 |
ALGORITMOS E ESTRUTURAS DE DADOS I |
90 |
5.4.1.0 |
|
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
|
ICC027 |
PROGRAMAÇÃO ORIENTADA A OBJETOS |
60 |
3.2.1.0 |
|
ICC007 |
PROGRAMAÇÃO PARA WEB |
60 |
3.2.1.0 |
|
modelagem computacional |
ICC205 |
INTRODUÇÃO A BANCOS DE DADOS |
60 |
4.4.0.0 |
ICC431 |
ENGENHARIA DE SOFTWARE II |
60 |
4.4.0.0 |
|
métodos formais |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
análise, especificação, verificação e testes de sistemas |
ICC430 |
ENGENHARIA DE SOFTWARE I |
60 |
4.4.0.0 |
ICC431 |
ENGENHARIA DE SOFTWARE II |
60 |
4.4.0.0 |
|
circuitos digitais |
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
arquitetura e organização de computadores |
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
|
avaliação de desempenho |
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
|
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
|
ética e legislação |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
empreendedorismo |
ICC103 |
EMPREENDEDORISMO EM INFORMÁTICA |
60 |
4.4.0.0 |
computação e sociedade |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
filosofia |
ICC107 |
METODOLOGIA CIENTÍFICA EM COMPUTAÇÃO |
60 |
4.4.0.0 |
ICC107 |
METODOLOGIA CIENTÍFICA EM COMPUTAÇÃO |
60 |
4.4.0.0 |
|
meio ambiente |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
fundamentos de administração |
ICC103 |
EMPREENDEDORISMO EM INFORMÁTICA |
60 |
4.4.0.0 |
fundamentos de economia |
ICC103 |
EMPREENDEDORISMO EM INFORMÁTICA |
60 |
4.4.0.0 |
|
||||
2. Conteúdos Curriculares do Eixo 1: Fundamentos de Matemática, Estatística e Ciência da Computação |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Matemática Discreta (conjuntos, relações, funções) |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
Fundamentos da Lógica Matemática |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
Cálculo I e II |
IEM075 |
CÁLCULO DIFERENCIAL E INTEGRAL I |
60 |
4.4.0.0 |
IEM076 |
CÁLCULO DIFERENCIAL E INTEGRAL II |
60 |
4.4.0.0 |
|
Estatística descritiva e inferencial |
IEE001 |
PROBABILIDADE E ESTATÍSTICA |
60 |
4.4.0.0 |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
|
Álgebra Linear |
IEM012 |
ÁLGEBRA LINEAR I |
60 |
4.4.0.0 |
IEM022 |
ÁLGEBRA LINEAR II |
60 |
4.4.0.0 |
|
Probabilidade e Estatística (Teorema de Bayes, valor esperado) |
IEE001 |
PROBABILIDADE E ESTATÍSTICA |
60 |
4.4.0.0 |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
|
Pesquisa Operacional e Otimização (programação dinâmica, processos de Markov) |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
|
Teoria dos Grafos |
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
|
Algoritmos e Complexidade |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
Processamento Paralelo e Distribuído |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
|
Teoria da Computação |
ICC040 |
LINGUAGENS FORMAIS E AUTÔMATOS |
60 |
4.4.0.0 |
Criptografia |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
Estruturas de Dados |
ICC002 |
ALGORITMOS E ESTRUTURAS DE DADOS I |
90 |
5.4.1.0 |
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
|
Bancos de Dados |
ICC205 |
INTRODUÇÃO A BANCOS DE DADOS |
60 |
4.4.0.0 |
Técnicas de Programação |
ICC027 |
PROGRAMAÇÃO ORIENTADA A OBJETOS |
60 |
3.2.1.0 |
Avaliação de Desempenho |
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
|
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
|
Projeto de Algoritmos |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
Cálculo Numérico |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
ICC003 |
ALGORITMOS E ESTRUTURAS DE DADOS II |
90 |
5.4.1.0 |
|
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
|
IEM076 |
CÁLCULO DIFERENCIAL E INTEGRAL II |
60 |
4.4.0.0 |
|
|
||||
3. Conteúdos Curriculares do Eixo 2: Desenvolvimento e Gestão de Sistemas de IA |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Metodologia Científica |
ICC107 |
METODOLOGIA CIENTÍFICA EM COMPUTAÇÃO |
60 |
4.4.0.0 |
Métodos Formais de Desenvolvimento de Sistemas |
ICC431 |
ENGENHARIA DE SOFTWARE II |
60 |
4.4.0.0 |
Engenharia de Software (Agentes, Objetos, Dados) |
ICC430 |
ENGENHARIA DE SOFTWARE I |
60 |
4.4.0.0 |
ICC431 |
ENGENHARIA DE SOFTWARE II |
60 |
4.4.0.0 |
|
Engenharia de Conhecimento (Ontologias, Grafos de Conhecimento) |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
Segurança em Sistemas Computacionais |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
Arquiteturas de Agentes (ACT-R, SOAR, ICARUS, FORR) |
ICC261 |
SISTEMAS MULTI-AGENTES |
60 |
4.4.0.0 |
Curadoria de Dados |
ICC208 |
ENGENHARIA DE DADOS |
60 |
4.4.0.0 |
Computação em Nuvem |
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
Sistemas Distribuídos e Concorrentes |
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
Arquitetura e Organização de Computadores |
ICC066 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
60 |
4.4.0.0 |
ICC062 |
ARQUITETURA DE COMPUTADORES |
60 |
4.4.0.0 |
|
Interação Humano-IA |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
Sistemas Operacionais |
ICC065 |
SISTEMAS OPERACIONAIS I |
60 |
4.4.0.0 |
Robótica Inteligente |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
IA Embarcada |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
Internet das Coisas (IoT) |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
Realidade Virtual e Aumentada |
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
Programação de Aplicativos para Dispositivos Móveis |
ICC007 |
PROGRAMAÇÃO PARA WEB |
60 |
3.2.1.0 |
Empreendedorismo e Computação/IA e Sociedade |
ICC103 |
EMPREENDEDORISMO EM INFORMÁTICA |
60 |
4.4.0.0 |
Propriedade Intelectual e Ética em IA |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
Explicabilidade e Confiança em IA |
ICC262 |
IA NEURO-SIMBÓLICA |
60 |
4.4.0.0 |
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
|
|
||||
4. Conteúdos Curriculares do Eixo 3: Representação de Conhecimento e Raciocínio |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Lógica Proposicional e de Primeira Ordem |
ICC120 |
MATEMÁTICA DISCRETA |
60 |
4.4.0.0 |
Lógica Não-Monotônica, Modal e de Descrições |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
ICC262 |
IA NEURO-SIMBÓLICA |
60 |
4.4.0.0 |
|
Lógica Difusa |
ICC262 |
IA NEURO-SIMBÓLICA |
60 |
4.4.0.0 |
Teoria dos Jogos e Teoria da Utilidade |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
Agentes Inteligentes (BDI, Cognitivos, Deliberativos) |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
Ontologias e Web Semântica |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
Representação baseada em Espaço de Estados |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
|
Algoritmos de Busca (informada e não-informada) |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
Resolução de Restrições |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
Planejamento Automatizado |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
Raciocínio Probabilístico |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
Inferência Bayesiana |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
Cadeias e Processos de Markov |
IEE001 |
PROBABILIDADE E ESTATÍSTICA |
60 |
4.4.0.0 |
SAT-solvers |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
Planejamento Estocástico |
ICC260 |
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
60 |
4.4.0.0 |
Raciocínio Temporal (LTL, CTL) |
ICC258 |
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
60 |
4.4.0.0 |
Análise de Algoritmos |
ICC006 |
PROJETO E ANÁLISE DE ALGORITMOS |
60 |
4.4.0.0 |
Computação e Sociedade (Ética, Sustentabilidade) |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
|
||||
5. Conteúdos Curriculares do Eixo 4: Ciência de Dados |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Alfabetização em Dados |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
Estatística e Probabilidade |
IEE001 |
PROBABILIDADE E ESTATÍSTICA |
60 |
4.4.0.0 |
Banco de Dados |
ICC205 |
INTRODUÇÃO A BANCOS DE DADOS |
60 |
4.4.0.0 |
Mineração de Dados |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
Grandes Modelos de Linguagem (LLMs) |
ICC254 |
PROCESSAMENTO DE LINGUAGEM NATURAL |
60 |
4.4.0.0 |
Técnicas de Visualização de Dados |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
Preprocessamento de Dados |
ICC253 |
CIÊNCIA DE DADOS |
60 |
3.2.1.0 |
Integração e Recuperação de Informação |
ICC209 |
RECUPERAÇÃO DE INFORMAÇÃO |
60 |
4.4.0.0 |
Sistemas Multimídia |
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
Privacidade de Dados |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
Legislação Vigente (LGPD) |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
Ética e Segurança em IA |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
|
||||
6. Conteúdos Curriculares do Eixo 5: Aprendizado de Máquina |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Paradigmas de AM (Supervisionado, Não-Supervisionado, Reforço) |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Classificação, Regressão e Agrupamento |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Descida de Gradiente |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Treinamento e Teste de Modelos |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Árvores de Decisão, Naive Bayes, Regressão Linear e Logística |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Redes Neurais (Simples e Profundas) |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
SVMs |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Redes Bayesianas |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Ensembles de Modelos |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Processos de Decisão Markovianos |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Métodos de Monte Carlo e Diferença Temporal |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Aprendizado por Reforço Profundo |
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
Métricas de Avaliação (precisão, recall, F1, etc.) |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Ética e Legislação no uso de AM |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
Privacidade de Dados |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
|
||||
7. Conteúdos Curriculares do Eixo 6: Percepção e Atuação (Visão Computacional, Processamento de Linguagem Natural, Robótica) |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Transformada de Fourier |
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
Modelos HMM e GMM |
ICC257 |
APRENDIZADO DE MÁQUINA II |
60 |
3.2.1.0 |
Redes Convolucionais e Recorrentes |
ICC256 |
APRENDIZADO DE MÁQUINA I |
60 |
3.2.1.0 |
Processamento de Linguagem Natural (PLN) |
ICC254 |
PROCESSAMENTO DE LINGUAGEM NATURAL |
60 |
4.4.0.0 |
N-grams, Modelos de Espaço Vetorial, Técnicas de Sumarização |
ICC254 |
PROCESSAMENTO DE LINGUAGEM NATURAL |
60 |
4.4.0.0 |
Tradução de Linguagens |
ICC254 |
PROCESSAMENTO DE LINGUAGEM NATURAL |
60 |
4.4.0.0 |
Modelos de Linguagem Generativos (LLMs) |
ICC254 |
PROCESSAMENTO DE LINGUAGEM NATURAL |
60 |
4.4.0.0 |
Robótica: Sensores, Atuadores, Navegação e Planejamento |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
Coordenação de Multi-robôs |
ICC261 |
SISTEMAS MULTIAGENTES |
60 |
4.4.0.0 |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
|
Interação Humano-Robô |
ICC263 |
ROBÓTICA |
60 |
4.4.0.0 |
Controle Baseado em Visão |
ICC259 |
IA MULTIMODAL |
60 |
4.4.0.0 |
Uso Ético e Responsável da Percepção Computacional |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
|
||||
8. Conteúdos Curriculares do Eixo 7: Aperfeiçoamento Pessoal e Profissional |
||||
TÓPICOS |
SIGLA |
DISCIPLINAS DESDOBRADAS |
CH |
CR |
Gestão de Tempo |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
Autorregulação da Aprendizagem |
ICC114 |
COMPUTAÇÃO E UNIVERSIDADE |
60 |
4.4.0.0 |
Comunicação Profissional |
ICC112 |
TEXTOS ACADÊMICOS EM COMPUTAÇÃO |
60 |
3.2.1.0 |
Inglês Técnico |
ICC112 |
TEXTOS ACADÊMICOS EM COMPUTAÇÃO |
60 |
3.2.1.0 |
Metodologia Científica |
ICC107 |
METODOLOGIA CIENTÍFICA EM COMPUTAÇÃO |
60 |
4.4.0.0 |
Aprendizagem Ativa e Baseada em Projetos |
ICC112 |
TEXTOS ACADÊMICOS EM COMPUTAÇÃO |
60 |
3.2.1.0 |
Inovação e Empreendedorismo |
ICC103 |
EMPREENDEDORISMO EM INFORMÁTICA |
60 |
4.4.0.0 |
Ética em IA e Propriedade Intelectual |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
Sociedade e Sustentabilidade em IA |
ICC106 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
60 |
4.4.0.0 |
ESTRUTURA CURRICULAR - DISCIPLINAS OBRIGATÓRIAS POR PERÍODOS
(NÚCLEO BÁSICO - FORMACÃO COMUM - ABI)
PER. |
CÓD. |
NOME DA DISCIPLINA |
CRED. |
CH |
PRÉ- REQ. |
|||
---|---|---|---|---|---|---|---|---|
T |
P |
E |
TOTAL |
|||||
1 |
INTRODUÇÃO À COMPUTAÇÃO |
5.4.1.0 |
60 |
30 |
0 |
90 |
— |
|
TEXTOS ACADÊMICOS EM COMPUTAÇÃO |
3.2.1.0 |
30 |
30 |
0 |
60 |
— |
||
IEM075 |
CÁLCULO DIFERENCIAL E INTEGRAL I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
MATEMÁTICA DISCRETA |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
||
COMPUTAÇÃO E UNIVERSIDADE |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
||
SUBTOTAL PERÍODO 1 |
20.18.2.0 |
270 |
60 |
0 |
330 |
|
||
2 |
LINGUAGENS FORMAIS E AUTÔMATOS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC120 |
|
ALGORITMOS E ESTRUTURAS DE DADOS I |
5.4.1.0 |
60 |
30 |
0 |
90 |
ICC001 |
||
IEM076 |
CÁLCULO DIFERENCIAL E INTEGRAL II |
4.4.0.0 |
60 |
0 |
0 |
60 |
IEM075 |
|
IEM012 |
ÁLGEBRA LINEAR I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
FUNDAMENTOS DE INTELIGÊNCIA ARTIFICIAL |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC120 |
||
METODOLOGIA CIENTÍFICA EM COMPUTAÇÃO |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
||
SUBTOTAL PERÍODO 2 |
25.24.1.0 |
360 |
30 |
0 |
390 |
|
||
3 |
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
ALGORITMOS E ESTRUTURAS DE DADOS II |
5.4.1.0 |
60 |
30 |
0 |
90 |
ICC002 |
||
ENGENHARIA DE SOFTWARE I |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC001 |
||
IEM022 |
ÁLGEBRA LINEAR II |
4.4.0.0 |
60 |
0 |
0 |
60 |
IEM012 |
|
IEE001 |
PROBABILIDADE E ESTATÍSTICA |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
SUBTOTAL PERÍODO 3 |
21.20.1.0 |
300 |
30 |
0 |
330 |
|
||
4 |
CIÊNCIA DE DADOS |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC002 |
|
PROGRAMAÇÃO ORIENTADA A OBJETOS |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC002 |
||
ENGENHARIA DE SOFTWARE II |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC430 |
||
SISTEMAS OPERACIONAIS I |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC066 |
||
INTRODUÇÃO A BANCOS DE DADOS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC003 |
||
SUBTOTAL PERÍODO 4 |
18.16.2.0 |
240 |
60 |
0 |
300 |
|
||
SUBTOTAL CICLO BÁSICO |
84.78.6.0 |
1170 |
180 |
0 |
1350 |
|
(NÚCLEO ESPECÍFICO - FORMACÃO ESPECÍFICA DO CURSO)
PER. |
CÓD. |
NOME DA DISCIPLINA |
CRED. |
CH |
PRÉ- REQ. |
|||
---|---|---|---|---|---|---|---|---|
T |
P |
E |
TOTAL |
|||||
5 |
APRENDIZADO DE MÁQUINA I |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC253 |
|
REPRESENTAÇÃO DO CONHECIMENTO E RACIOCÍNIO |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC260 |
||
RECUPERAÇÃO DE INFORMAÇÃO |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC003 |
||
ARQUITETURA DE COMPUTADORES |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC061 |
||
ENGENHARIA DE DADOS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC205 |
||
SUBTOTAL PERÍODO 5 |
19.18.1.0 |
270 |
30 |
0 |
300 |
|
||
6 |
APRENDIZADO DE MÁQUINA II |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC253 |
|
PROJETO E ANÁLISE DE ALGORITMOS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC003 |
||
PROCESSAMENTO DE LINGUAGEM NATURAL |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC256 |
||
IA MULTIMODAL |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC256 |
||
SISTEMAS MULTIAGENTES |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC260 |
||
SUBTOTAL PERÍODO 6 |
19.18.1.0 |
270 |
30 |
0 |
300 |
|
||
7 |
IA NEURO-SIMBÓLICA |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC260 |
|
ROBÓTICA |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC027 |
||
GERÊNCIA DE PROJETOS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC431 |
||
SUBTOTAL PERÍODO 7 |
12.12.0.0 |
180 |
0 |
0 |
180 |
|
||
8 |
COMPUTAÇÃO, ÉTICA E SOCIEDADE |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
EMPREENDEDORISMO EM INFORMÁTICA |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
||
TRABALHO DE CONCLUSÃO DE CURSO |
5.0.5.0 |
0 |
150 |
0 |
150 |
ICC107, ICC431 |
||
SUBTOTAL PERÍODO 8 |
13.8.5.0 |
120 |
150 |
0 |
270 |
|
||
SUBTOTAL CICLO ESPECÍFICO BIA |
63.56.7.0 |
840 |
210 |
0 |
1050 |
|
ESTRUTURA CURRICULAR - DISCIPLINAS ELETIVAS
PER. |
CÓD. |
NOME DA DISCIPLINA |
CRED. |
CH |
PRÉ- REQ. |
|||
---|---|---|---|---|---|---|---|---|
T |
P |
E |
TOTAL |
|||||
2 |
IHE130 |
INGLÊS INSTRUMENTAL I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
2 |
IEC082 |
CÁLCULO NUMÉRICO |
4.4.0.0 |
60 |
0 |
0 |
60 |
IEM075 |
4 |
ALGORITMOS E ESTRUTURAS DE DADOS AVANÇADOS |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
2 |
PRÁTICA EM PROGRAMAÇÃO I |
2.2.0.0 |
30 |
0 |
0 |
30 |
ICC001 |
|
3 |
PRÁTICA EM PROGRAMAÇÃO II |
2.2.0.0 |
30 |
0 |
0 |
30 |
ICC001 |
|
4 |
PRÁTICA EM PROGRAMAÇÃO III |
2.2.0.0 |
30 |
0 |
0 |
30 |
ICC001 |
|
4 |
PRÁTICA EM PROGRAMAÇÃO IV |
2.2.0.0 |
30 |
0 |
0 |
30 |
ICC001 |
|
3 |
TÓPICOS ESPECIAIS EM PROGRAMAÇÃO I |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
3 |
TÓPICOS ESPECIAIS EM PROGRAMAÇÃO II |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
3 |
TÓPICOS ESPECIAIS EM PROGRAMAÇÃO III |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
4 |
TÓPICOS ESPECIAIS EM PROGRAMAÇÃO IV |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
4 |
TÓPICOS ESPECIAIS EM PROGRAMAÇÃO V |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
4 |
TÓPICOS ESPECIAIS EM PROGRAMAÇÃO VI |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
2 |
PROGRAMAÇÃO COMPETITIVA I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
3 |
PROGRAMAÇÃO COMPETITIVA II |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
4 |
TÓPICOS ESPECIAIS EM ESTATÍSTICA APLICADA À COMPUTAÇÃO |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
1 |
EXPERIÊNCIA CRIATIVA I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
2 |
EXPERIÊNCIA CRIATIVA II |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
2 |
TÓPICOS ESPECIAIS EM CIÊNCIA DA COMPUTAÇÃO I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
2 |
TÓPICOS ESPECIAIS EM CIÊNCIA DA COMPUTAÇÃO II |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
2 |
TÓPICOS AVANÇADOS EM CIÊNCIA DA COMPUTAÇÃO I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
3 |
TÓPICOS AVANÇADOS EM CIÊNCIA DA COMPUTAÇÃO II |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
3 |
TÓPICOS ESPECIAIS EM CIÊNCIA DA COMPUTAÇÃO III |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
3 |
TÓPICOS ESPECIAIS EM CIÊNCIA DA COMPUTAÇÃO IV |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
4 |
TÓPICOS AVANÇADOS EM CIÊNCIA DA COMPUTAÇÃO III |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
4 |
TÓPICOS AVANÇADOS EM CIÊNCIA DA COMPUTAÇÃO IV |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
3 |
DESENVOLVIMENTO DE JOGOS DIGITAIS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
4 |
DESENVOLVIMENTO DE JOGOS PARA DISPOSITIVOS MÓVEIS |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC002 |
|
4 |
VERIFICAÇÃO FORMAL DE SOFTWARE E SISTEMAS |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
4 |
TÉCNICAS PARA VERIFICAÇÃO, SÍNTESE E TESTE DE SOFTWARE |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
4 |
TÓPICOS ESPECIAIS EM PESQUISA EM EDUCAÇÃO EM COMPUTAÇÃO I |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
|
4 |
TÓPICOS ESPECIAIS EM PESQUISA EM EDUCAÇÃO EM COMPUTAÇÃO II |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
ESTRUTURA CURRICULAR - DISCIPLINAS OPTATIVAS
CÓD. |
NOME DA DISCIPLINA |
CRED. |
CH |
PRÉ- REQ. |
|||
---|---|---|---|---|---|---|---|
T |
P |
E |
TOTAL |
||||
IHP123 |
LÍNGUA BRASILEIRA DE SINAIS B |
4.4.0.0 |
60 |
0 |
0 |
60 |
— |
ICC900 |
INFORMÁTICA INSTRUMENTAL |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC205 |
IEC111 |
INFORMÁTICA INSTRUMENTAL |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC205 |
ICC901 |
INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC205 |
IEC037 |
INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES |
3.2.1.0 |
30 |
30 |
0 |
60 |
ICC205 |
IEC081 |
INTRODUÇÃO À CIÊNCIA DOS COMPUTADORES |
4.4.0.0 |
60 |
0 |
0 |
60 |
ICC205 |
ICC903 |
GERAÇÃO E USO DE BANCO DE DADOS |
3.3.0.0 |
45 |
0 |
0 |
45 |
ICC205 |
IEC048 |
GERAÇÃO E USO DE BANCO DE DADOS |
3.3.0.0 |
45 |
0 |
0 |
45 |
ICC205 |
ESTRUTURA CURRICULAR - DISCIPLINAS DE EXTENSÃO
PER. |
CÓD. |
NOME DA DISCIPLINA |
CRED. |
CH |
PRÉ- REQ. |
|||
---|---|---|---|---|---|---|---|---|
T |
P |
E |
TOTAL |
|||||
7 |
ICC600 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO I |
12.0.0.12 |
0 |
0 |
180 |
180 |
ICC001 |
7 |
ICC601 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO II |
12.0.0.12 |
0 |
0 |
180 |
180 |
ICC001 |
7 |
ICC602 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO III |
12.0.0.12 |
0 |
0 |
180 |
180 |
ICC001 |
8 |
ICC603 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO IV |
12.0.0.12 |
0 |
0 |
180 |
180 |
— |
8 |
ICC604 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO V |
12.0.0.12 |
0 |
0 |
180 |
180 |
— |
8 |
ICC605 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO VI |
12.0.0.12 |
0 |
0 |
180 |
180 |
— |
5 |
ICC606 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO VII |
6.0.0.6 |
0 |
0 |
90 |
90 |
ICC001 |
5 |
ICC607 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO VIII |
6.0.0.6 |
0 |
0 |
90 |
90 |
ICC001 |
6 |
ICC608 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO IX |
6.0.0.6 |
0 |
0 |
90 |
90 |
ICC001 |
6 |
ICC609 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO X |
6.0.0.6 |
0 |
0 |
90 |
90 |
ICC001 |
7 |
ICC610 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO XI |
6.0.0.6 |
0 |
0 |
90 |
90 |
— |
7 |
ICC611 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO XII |
6.0.0.6 |
0 |
0 |
90 |
90 |
— |
8 |
ICC612 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO XIII |
6.0.0.6 |
0 |
0 |
90 |
90 |
— |
8 |
ICC613 |
PRÁTICAS EXTENSIONISTAS EM COMPUTAÇÃO XIV |
6.0.0.6 |
0 |
0 |
90 |
90 |
— |
|
|
SUBTOTAL |
120.0.0.120 |
0 |
0 |
1800 |
1800 |
|
PROGRAMA DE ENSINO DAS DISCIPLINAS OBRIGATÓRIAS
1º PERÍODO - CICLO BÁSICO
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC001 |
Introdução à Computação |
5.4.1.0 |
60h |
30h |
0h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Computação e cultura digital. Pensamento computacional: abstração, decomposição, identificação de padrões e construção de algoritmos. Métodos de resolução de problemas, com ênfase na abordagem de George Pólya. Representação e manipulação de dados: variáveis, vetores e matrizes. Estruturas de controle de fluxo: sequência, seleção e repetição. Introdução à linguagem de programação imperativa: sintaxe, tipos de dados e operadores. Modularização, procedimentos, funções e recursão. Conceitos de precisão, eficiência e boas práticas na implementação de algoritmos. Introdução a testes e depuração de programas.
Compreender os conceitos fundamentais da computação, incluindo métodos de solução de problemas, construção de algoritmos, lógica de programação, estruturas de dados e estruturas de controle. Desenvolver habilidades de pensamento computacional e capacidade de modelar e resolver problemas por meio de algoritmos e programas. Utilizar um ambiente de programação como recurso para construção, teste e reflexão sobre as soluções produzidas.
Compreender a importância da lógica de programação e das estruturas de dados na resolução de problemas. Elaborar algoritmos para resolver problemas computacionais de forma estruturada. Implementar algoritmos utilizando uma linguagem de programação imperativa. Manipular estruturas de dados fundamentais, como variáveis, vetores e matrizes. Utilizar estruturas de controle de fluxo, como sequências, seleções e repetições, para definir o comportamento dos programas. Avaliar a corretude e eficiência de algoritmos e programas desenvolvidos. Desenvolver habilidades de trabalho em equipe e de comunicação técnica.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC112 |
Textos Acadêmicos em Computação |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Leitura e compreensão de textos técnicos escritos em português ou inglês na área de Computação. Técnicas de leitura para compreensão geral e específica de textos escritos em inglês: skimming e scanning. Estratégias de leitura crítica e análise de textos acadêmicos escritos em português ou inglês. Mapas conceituais. Citações (diretas, paráfrases). Elaboração de referências bibliográficas. Clareza no texto escrito. Objetividade. Argumentação (conceitos básicos, tipos de argumentos, falhas de argumentação). Estruturação de parágrafos. Elaboração de gráficos e tabelas. Precisão vocabular. Coesão e coerência. Plágio acadêmico. Ferramentas digitais de preparação de documentos por marcação. Ferramentas digitais para tradução e aprimoramento da leitura de textos técnicos.
Analisar e criticar textos na área de Computação. Decompor as ideias principais de um texto técnico em mapas conceituais. Compor textos argumentativos-dissertativos na área de computação, com clareza e objetividade. Adaptar o tom do texto conforme o tipo de documento, contexto, objetivo e público. Desenvolver linha de raciocínio organizada durante a composição de um texto escrito. Identificar e depurar falhas de argumentação em um texto técnico. Identificar problemas de elaboração de gráficos e tabelas. Diferenciar os tipos de plágio acadêmico e evitá-los. Editar textos básicos em sistemas de preparação de documentos por marcação (por exemplo, LaTeX ou similar).
Identificar as principais ideias e detalhes em textos técnicos escritos em português e inglês. Praticar técnicas de leitura rápida (skimming) para obter uma visão geral de textos em inglês. Aplicar técnicas de leitura detalhada (scanning) para localizar informações específicas em textos técnicos. Construir mapas conceituais para organizar e sintetizar informações de textos acadêmicos. Diferenciar entre citações diretas e paráfrases, aplicando-as corretamente em textos acadêmicos. Elaborar referências bibliográficas de acordo com normas técnicas (ex.: SBC, APA). Desenvolver clareza e objetividade na escrita de textos técnicos e acadêmicos. Argumentar de forma consistente, utilizando tipos de argumentos e evitando falhas de argumentação. Estruturar parágrafos de forma lógica e coesa, garantindo a progressão de ideias. Criar gráficos e tabelas para apresentar dados de forma clara e precisa. Ampliar o vocabulário técnico em português e inglês, garantindo precisão na escrita. Revisar textos para garantir coesão e coerência, eliminando ambiguidades e inconsistências. Utilizar ferramentas de marcação (ex.: LaTeX) para preparação de documentos acadêmicos. Explorar ferramentas digitais de tradução e aprimoramento de leitura para textos técnicos. Refletir sobre a importância da integridade acadêmica e as consequências do plágio.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC114 |
Computação e Universidade |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Apresentação dos cursos de graduação na área de Computação: Ciência da Computação, Engenharia de Software, Inteligência Artificial e Tecnologia da Informação. Áreas de formação e de atuação profissional em Computação. Desenvolvimento histórico da Computação e suas consequências tecnológicas, sociais e econômicas. Descobertas e invenções que representaram saltos tecnológicos. Currículos, disciplinas obrigatórias, eletivas e optativas, e demais componentes curriculares nos cursos Bacharelado em Computação. Computação e Sociedade: direitos de populações sub-representadas (mulheres, pessoas negras e afrodescendentes, povos originários, pessoas LGBTQIAPN+, pessoas com deficiência, imigrantes e refugiados, pessoas de comunidades rurais ou remotas, entre outras); impacto dos sistemas computacionais nas mudanças climáticas, na biodiversidade e na segurança alimentar e nutricional; vieses algorítmicos e diversidade étnico-racial e de gênero.
Compreender a estrutura e o propósito dos cursos de graduação na área de Computação. Reconhecer o desenvolvimento histórico da Computação e seu impacto na sociedade. Refletir sobre os desafios contemporâneos da Computação, incluindo questões éticas, sociais e ambientais. Identificar as oportunidades e os desafios da carreira profissional em Computação.
Identificar as diferenças entre os cursos de Ciência da Computação, Engenharia de Software, Inteligência Artificial e Tecnologia da Informação. Explorar as áreas de formação e atuação profissional em Computação, incluindo tendências do mercado e oportunidades de carreira. Reconhecer os marcos históricos e as invenções que transformaram a Computação. Analisar os componentes curriculares dos cursos de Bacharelado em Computação e sua relevância para a formação profissional. Discutir o impacto da Computação nos direitos de populações sub-representadas. Avaliar as consequências ambientais dos sistemas computacionais. Refletir sobre os vieses algorítmicos e sua relação com a diversidade étnico-racial e de gênero. Promover a compreensão das competências técnicas e comportamentais valorizadas no mercado de trabalho em Computação.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC120 |
Matemática Discreta |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conjuntos, Contagem/Enumeração e Análise Combinatória; Relações e Funções; Funções Recursivas e suas fórmulas fechadas; Indução Matemática; Introdução à Lógica Formal; Lógica Proposicional; Lógica de Predicados; Técnicas de Demonstração; Introdução a Grafos.
Reconhecer estruturas matemáticas em sistemas discretos. Descrever e representar problemas discretos utilizando notações matemáticas formais. Formalizar uma solução para problemas discretos de forma sequencial e precisa. Provar propriedades de estruturas discretas.
Identificar conjuntos contáveis e quais ferramentas aplicar para determinar a cardinalidade dos conjuntos finitos e infinitos. Identificar e diferenciar relações e funções matemáticas e problemas modelados por esses formalismos. Compreender e aplicar os conceitos de recursão e Indução Matemática no contexto de computação e matemática. Formalizar estruturas/expressões lógicas utilizando a Lógica Proposicional e a Lógica de Predicados. Demonstrar formalmente propriedades matemáticas sobre conjuntos discretos, em particular, conjuntos enumeráveis. Compreender o conceito de grafos e sua conexão com relações matemáticas, sendo capaz de modelar problemas reais com esse formalismo. Aplicar, combinar e estender o conhecimento adquirido de forma criativa e personalizada para resolução de problemas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEM075 |
Cálculo Diferencial e Integral I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Funções. Gráficos e Curvas. Limite e Continuidade. A Derivada. A Regra da Cadeia. O Teorema do Valor Médio. Funções Inversas. Integração. Teorema. Fundamental do Cálculo. Integrais Impróprias. Técnicas de Integração. Aplicação de Integrais.
Estudar o Cálculo Diferencial e Integral para uma variável. Estudar o teorema fundamental do Cálculo Diferencial e Integral.
Reconhecer as consequências e obter contra-exemplos de cada teorema. Estudar Aplicações do Cálculo.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC040 |
Linguagens Formais e Autômatos |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução às Linguagens Formais; Linguagens Regulares, Autômatos Finitos, Gramáticas Regulares, Expressões Regulares e Lema do Bombeamento para Linguagens Regulares; Linguagens Livres de Contexto, Gramáticas Livres de Contexto, Autômatos de Pilha e Lema do Bombeamento para Linguagens Livres de Contexto; Linguagens Sensíveis ao Contexto, Linguagens Enumeráveis, Linguagens Recursivamente Enumeráveis e Máquinas de Turing; Computabilidade e Decidibilidade.
Compreender conceitos essenciais sobre a estruturação das linguagens e os métodos pelos quais as máquinas as processam. Analisar os diferentes tipos de autômatos e seu papel no reconhecimento de padrões e linguagens formais. Desenvolver habilidades em pensamento lógico e abstrato, aplicáveis em diversas áreas da computação. Avaliar problemas decidíveis e indecidíveis para demonstrar uma compreensão clara dos limites da computabilidade.
Definir os principais conceitos de sistemas formais, incluindo alfabetos, axiomas, regras de inferência e dedução lógica. Conhecer as diferentes classes de linguagens. Representar e manipular linguagens formais por meio de expressões regulares e autômatos finitos. Projetar e implementar gramáticas livres de contexto para modelagem de linguagens formais. Aplicar algoritmos de minimização e conversão entre modelos de autômatos. Usar Máquinas de Turing para avaliar a decidibilidade de problemas, diferenciando problemas decidíveis dos indecidíveis. Relacionar os modelos teóricos da computação com aplicações práticas na construção de linguagens de programação.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC107 |
Metodologia Científica em Computação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Bases filosóficas do método científico. Estruturação do trabalho científico: planos e projetos de trabalho. Pesquisa e organização das fontes de referência bibliográfica e citação. Elaboração, revisão, edição e apresentação do trabalho científico. Vieses na pesquisa científica: cognitivos, culturais, ideológicos, colonialidade.
Compreender os fundamentos da metodologia científica e sua aplicação na Computação. Desenvolver habilidades para planejar, conduzir e apresentar pesquisas acadêmicas. Avaliar criticamente fontes de informação e metodologias de pesquisa. Identificar e refletir sobre vieses cognitivos, culturais e ideológicos na produção do conhecimento científico.
Definir os principais conceitos e bases filosóficas do método científico. Identificar e aplicar diferentes planos e projetos de trabalho na pesquisa em Computação. Pesquisar, organizar e gerenciar fontes bibliográficas utilizando normas de citação adequadas. Elaborar textos científicos estruturados, coerentes e bem fundamentados. Revisar e editar produções acadêmicas com base em critérios de clareza, objetividade e rigor metodológico. Apresentar trabalhos científicos de forma oral e escrita, utilizando técnicas de comunicação eficazes. Analisar e mitigar vieses cognitivos, culturais, ideológicos e de colonialidade na produção e disseminação do conhecimento científico.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC260 |
Fundamentos de Inteligência Artificial |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Teoria de processos cognitivos. Evolução do conhecimento filosófico e científico. Heurísticas, resolução de problemas e modelagem. Solução criativa de problemas e modelagem. Introdução à IA e Fundamentos Cognitivos. IA Simbólica e Agentes Artificiais Cognitivos. Representação do Conhecimento. Raciocínio e Inferência. Planejamento e Métodos de busca como ferramentas de planejamento. Aprendizado em IA Simbólica. Aprendizado em IA Simbólica e tipos de clássicos de aprendizado. Comunicação e Processamento de Linguagem Natural. Limitações da IA Simbólica e Incerteza na resolução de problemas. Abordagens Probabilísticas e Híbridas. IA Confiável, Impactos Éticos e Sociais do uso de IA.
Compreender a integração das áreas fundamentais da IA e suas evoluções, desde modelos simbólicos até noções conexionistas e probabilísticas, capacitando-os a identificar problemas complexos, desenvolver soluções com técnicas adequadas a cada cenário e reconhecer quando abordagens avançadas são necessárias, visando ao benefício da humanidade com ênfase em responsabilidade ética, impacto social positivo e alinhamento com desafios contemporâneos como sustentabilidade, equidade e transparência.
Compreender os conceitos fundamentais e teorias da IA. Identificar e formular problemas de IA, a reconhecer e definir diferentes tipos de problemas de IA em contextos práticos, desde aprendizado, planejamento até raciocínio automatizado. Selecionar e aplicar os algoritmos adequados para resolução de problemas (busca, planejamento, raciocínio automatizado etc.). Compreender os 4 tipos clássicos de aprendizado de máquina: supervisionado, não supervisionado, semi-supervisionado e por reforço. Aplicar e avaliar modelos de aprendizado de máquina em tarefas simples (indução, classificação, clustering, árvore de decisão, ações simples). Aplicar e avaliar modelos de agentes que aprendem por tentativa e erro e usam IA Generativa em problemas simples e agentes com aprendizado por reforço. Aplicar e avaliar as vantagens e desafios de modelos de IA neuro-simbólica para IA explicável, confiável e compreensível ao ser humano. Contextualizar de forma crítica os impactos e responsabilidade, desde a rigidez de IA simbólica como os vieses de dados e suas consequências em aplicações sociais. Integrar reflexões sobre ética, equidade e regulamentação em todos os projetos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEM012 |
Álgebra Linear I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Matrizes. Cálculo de Determinantes. Sistemas de Equações Lineares. Vetores. Equações da Reta e do Plano. Ângulos. Distância e Intersecções. Geometria Analítica Plana.
Estabelecer critérios para o tratamento de problemas de natureza vetorial, encontrados em diversas situações práticas como: linearidade, representação de grandeza física, programação linear e outras.
Identificar as propriedades e operações básicas de matrizes. Calcular determinantes e compreender sua relevância em sistemas lineares. Resolver sistemas de equações lineares utilizando métodos diretos e iterativos. Representar vetores geometricamente e algebricamente. Determinar equações da reta e do plano no espaço tridimensional. Analisar ângulos, distâncias e interseções entre objetos geométricos. Aplicar conceitos de geometria analítica plana em problemas práticos. Utilizar ferramentas computacionais para visualização e resolução de problemas de Álgebra Linear.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEM076 |
Cálculo Diferencial e Integral II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Derivação de Vetores. Regra da Cadeia. Funções de Várias Variáveis. Derivada Diferencial. Derivada de Ordem Superior. Máximos e Mínimos. Funções Potenciais e Integrais de Linha. Integrais Múltiplas. Mudança de Variável na Integral. Teorema de Green. Fórmula de Taylor e Séries.
Ao final do curso o aluno deverá ser capaz de saber conceitos e operações básicas sobre funções de várias variáveis.
Ter noção sobre derivação de vetores, Regra da Cadeia, Séries. Compreender problemas envolvendo máximos e mínimos. Conhecer as derivadas de ordem superiores e derivada direcional. Conhecer as integrais múltiplas assim como sua interpretação geométrica. Resolver problemas envolvendo as integrais múltiplas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC003 |
Algoritmos e Estruturas de Dados II |
5.4.1.0 |
60h |
30h |
0h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à complexidade de algoritmos. Heap Binário. Algoritmos de ordenação heapsort, ordenação por contagem (counting sort, pigeonhole sort, bucketsort e radixsort). Tabelas hash por endereçamento aberto e por encadeamento. Árvores binárias de busca, árvores 2-3, árvores rubro-negras, Tries. Manipulação de arquivos: árvores B e ordenação externa. Representação de grafos e algoritmos de caminhamento em grafos. Algoritmo de Dijkstra.
Descrever, discutir e implementar os algoritmos de ordenação estudados, com especial atenção à eficiência. Descrever formas eficientes de implementar algoritmos. Reconhecer os custos de algoritmos. Diferenciar os diversos algoritmos e estruturas de dados de busca e ordenação. Diferenciar as estruturas de vetores, árvores e hash como opções de contêineres de dados. Criar soluções algorítmicas para problemas práticos. Implementar algoritmos e estruturas de dados em memória externa.
Compreender os conceitos de complexidade de algoritmos. Analisar o desempenho de algoritmos utilizando a complexidade temporal e espacial. Implementar e compreender o funcionamento do heap binário e seu uso em algoritmos de ordenação. Desenvolver e aplicar o algoritmo heapsort, avaliando sua eficiência em comparação com outros métodos de ordenação. Implementar algoritmos de ordenação não comparativa, como counting sort, pigeonhole sort, bucketsort e radixsort, e entender suas aplicações e limitações. Compreender as tabelas hash e implementar métodos de endereçamento aberto e encadeamento para resolução de colisões. Analisar a eficiência das operações em tabelas hash, incluindo inserção, busca e remoção de elementos. Estudar árvores binárias de busca e implementar diferentes tipos de árvores balanceadas, como árvores 2-3 e árvores rubro-negras. Explorar a manipulação de arquivos utilizando árvores B e compreender sua relevância na ordenação externa de dados. Representar grafos em diferentes formas (listas de adjacência, matrizes de adjacência) e entender suas características. Implementar e aplicar algoritmos de caminhamento em grafos, como busca em profundidade (DFS) e busca em largura (BFS).
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC066 |
Introdução à Organização de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Sistemas de Numeração, Álgebra de Boole. Projeto de Circuitos Combinacionais. Unidade lógica e aritmética (ULA). Latches e Flip-Flops. Análise de Circuitos Sequenciais. Arquitetura de von Neumann. Hierarquia de Memória. Elementos da CPU e o Caminho de Dados. Noções de desempenho.
Fornecer os conceitos elementares dos sistemas de numeração, do funcionamento das principais portas lógicas digitais e sua formalização através da Álgebra Booleana. Fornecer ao aluno conhecimentos básicos sobre Organização de Computadores e sobre as técnicas básicas de projeto de máquinas programáveis. Capacitar o aluno para avaliar e comparar diferentes arquiteturas de computadores. Mostrar como apontar e diagnosticar problemas relacionados ao desempenho de sistemas ou subsistemas, bem como a prescrever soluções para otimizar o uso e desempenho de sistemas computacionais.
Converter números entre sistemas de numeração binária, decimal e hexadecimal. Representar números inteiros e de ponto flutuante utilizando complemento de dois e o padrão IEEE754. Aplicar os postulados e teoremas da álgebra de Boole para simplificar expressões lógicas. Identificar e utilizar formas normais disjuntivas e conjuntivas para representação de funções lógicas. Projetar circuitos lógicos utilizando portas lógicas básicas e combinacionais. Simplificar expressões lógicas utilizando mapas de Karnaugh. Implementar circuitos combinacionais, como multiplexadores, comparadores e somadores. Analisar o funcionamento de circuitos sequenciais, como flip-flops, contadores e registradores. Projetar circuitos básicos de memória. Utilizar ferramentas de simulação e prototipagem para testar e validar circuitos digitais. Colaborar em equipes para realizar projetos práticos em laboratório, desenvolvendo habilidades de trabalho em grupo.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC430 |
Engenharia de Software I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução a Software e Engenharia de Software. Princípios da Engenharia de Software. Qualidades esperadas em Engenharia de Software. Etapas Básicas da Engenharia de Software. Ciclos de vida em Desenvolvimento de Software. Processos de Desenvolvimento de Software – tradicionais e ágeis. Qualidade de Produto e Qualidade de Processo de Software. Engenharia de Requisitos e Tipos de Requisitos. Elicitação, Especificação e Gerência de Requisitos. Design Thinking aplicado à Engenharia de Requisitos. Técnicas de especificação: Histórias de Usuário e Casos de Uso. Medição e Estimativas de Projetos de Software.
Compreender os fundamentos da Engenharia de Software e sua importância no desenvolvimento de sistemas. Explicar os princípios e qualidades esperadas na Engenharia de Software. Aplicar conceitos básicos de processos de desenvolvimento de software, incluindo abordagens tradicionais e ágeis. Identificar as principais etapas da Engenharia de Software e seus impactos no ciclo de vida do software. Compreender os conceitos e princípios de qualidade de produtos e processos de software. Identificar técnicas de medição de software. Desenvolver habilidades para elicitação, especificação e gerência de requisitos.
Definir os conceitos fundamentais de software e Engenharia de Software. Descrever os princípios e qualidades esperadas no desenvolvimento de software. Explicar as principais etapas da Engenharia de Software e sua relevância no ciclo de vida do software. Comparar diferentes modelos de ciclo de vida e suas características. Diferenciar processos de desenvolvimento tradicionais e ágeis. Identificar os elementos básicos dos modelos de qualidade de processo. Aplicar conceitos básicos de medição em projetos de software. Identificar e descrever requisitos de software de forma estruturada. Classificar e diferenciar tipos de requisitos e suas características. Aplicar técnicas de elicitação, especificação e gerenciamento de requisitos, incluindo Histórias de Usuário e Casos de Uso. Explicar os fundamentos do Design Thinking e sua aplicação na Engenharia de Requisitos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEE001 |
Probabilidade e Estatística |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estatística descritiva. Cálculo das probabilidades. Variáveis aleatórias. Valores característicos de uma variável aleatória. Modelos de distribuição discreta. Modelos de distribuição contínua. Amostragem e distribuição amostral. Estimação de parâmetros. Teste de Hipótese.
Aplicar teoria e as técnicas de Probabilidade e Estatística na resolução de problemas.
Descrever conjuntos de dados utilizando medidas de tendência central e dispersão. Calcular probabilidades de eventos em espaços amostrais discretos e contínuos. Definir variáveis aleatórias e suas funções de distribuição. Determinar valores esperados, variâncias e outros parâmetros de variáveis aleatórias. Identificar e aplicar modelos de distribuição discreta (como Binomial e Poisson). Identificar e aplicar modelos de distribuição contínua (como Normal e Exponencial). Analisar técnicas de amostragem e distribuições amostrais. Estimar parâmetros populacionais utilizando intervalos de confiança. Realizar testes de hipóteses para tomada de decisão baseada em dados. Utilizar ferramentas computacionais para simulação e análise estatística.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEM022 |
Álgebra Linear II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Espaços Vetoriais. Aplicações Lineares. Núcleo e Imagem. Aplicações Lineares e Matrizes. Produto Interno. Formas Bilineares.
Fornecer uma base sólida da teoria dos espaços vetoriais e dos operadores lineares de maneira a possibilitar suas aplicações nas diversas áreas da ciência e da tecnologia.
Definir espaços vetoriais e identificar suas propriedades fundamentais. Classificar transformações lineares quanto à injetividade, sobrejetividade e bijetividade. Determinar núcleo e imagem de aplicações lineares e suas relações com a teoria de sistemas lineares. Representar aplicações lineares por meio de matrizes em diferentes bases. Aplicar o conceito de produto interno em problemas de ortogonalização e projeção. Analisar formas bilineares e suas representações matriciais. Resolver problemas práticos envolvendo decomposições matriciais e diagonalização. Utilizar softwares matemáticos para implementação e visualização de conceitos abordados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC027 |
Programação Orientada a Objetos |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos de programação orientada a objetos: classes, objetos, atributos, estado, métodos, sobrecarga, sobreposição, mensagens, pacotes, encapsulamento, herança, hierarquia de classes, generalização, especialização, polimorfismo, classes abstratas, interfaces. Modelagem usando Unified Modeling Language. Coletor de lixo. Tratamento de exceções. Entrada e saída. Coleções genéricas. Aplicação dos conceitos usando outras tecnologias tais como threads, interface gráfica, banco de dados, programação de dispositivos móveis e/ou programação web.
Conhecer e discutir os conceitos e termos relacionados à programação orientada a objetos. Modelar, projetar e implementar soluções baseadas na orientação a objetos. Exercitar os conceitos usando linguagens de programação orientadas a objetos, de acordo com o domínio e restrições das aplicações.
Definir os diversos conceitos de orientação a objetos. Identificar as principais características da orientação a objetos como sobrecarga, sobreposição, classes abstratas e interfaces. Explicar a importância dos conceitos de encapsulamento, modularidade, herança e polimorfismo. Implementar classes e relacionamentos em uma linguagem orientada a objetos. Aplicar os conceitos para resolver problemas práticos em programação. Propor soluções que usem orientação a objetos na construção de sistemas complexos e escaláveis. Debater o uso de linguagens de programação como ferramentas a serem escolhidas na resolução de problemas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC065 |
Sistemas Operacionais I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Gerência de Processos: Estados de processo, troca de processos e escalonamento, simples, prioridade, justiça e multi-CPU. Gerência de Memória: Endereçamento, segmentação, paginação, swap. Concorrência: Threads, conceitos de concorrência, exclusão mútua, variáveis de condição, semáforos. Entrada e saída: HD, SSD, RAID, Sistemas de arquivo, integridade e journaling. Estudos de caso.
Compreender o funcionamento de um Sistema Operacional. Identificar as principais funções de um Sistema Operacional. Compreender conceitos de multiprogramação, escalonamento de processos, paginação, memória virtual, sistema de arquivos, virtualização, entre outros. Utilizar de maneira adequada os recursos de Sistemas Operacionais atuais.
Identificar os estados de um processo e compreender as técnicas de troca e escalonamento de processos. Implementar algoritmos de escalonamento, como simples, por prioridade e multi-CPU. Analisar técnicas de gerenciamento de memória, como endereçamento, segmentação, paginação e swap. Resolver problemas de concorrência utilizando threads, exclusão mútua, variáveis de condição e semáforos. Comparar diferentes tecnologias de armazenamento, como HD, SSD e RAID. Implementar e gerenciar sistemas de arquivos, incluindo técnicas de integridade e journaling. Estudar casos reais de sistemas operacionais para aplicar os conceitos aprendidos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC205 |
Introdução a Bancos de Dados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Tecnologia de Bancos de Dados: Abordagem de Bancos de Dados, Sistemas Gerenciadores de Bancos de Dados, Sistemas de Bancos de Dados; Modelo Relacional: Conceitos, Álgebra Relacional; Linguagem SQL: Comandos SQL, Restrições, Visões, Programação; Armazenamento e Recuperação de Dados em Memória Secundária: Dispositivos de Armazenamento, Representação de Dados, Organização de Arquivos, Campos, Registros e Blocos, Indexação; Processamento de Consultas: Otimização de Consultas, Execução de Consultas; Aspectos Operacionais de Bancos de Dados: Transações, Escalonamento, Controle de Concorrência, Recuperação de Falhas; Projeto de Bancos de Dados: Modelo Entidade-Relacionamento, Modelo ER Estendido, Mapeamento ER Relacional.
Identificar os fundamentos da tecnologia de bancos de dados, incluindo seus principais recursos, características e aplicações. Reconhecer a arquitetura e o funcionamento de sistemas gerenciadores de bancos de dados. Identificar problemas relacionados ao controle de concorrência e à recuperação de falhas em bancos de dados e aplicar técnicas para resolver problemas de controle de concorrência e recuperação de falhas. Projetar bancos de dados considerando boas práticas e requisitos específicos. Implementar bancos de dados conforme as diretrizes de projeto estabelecidas.
Identificar os conceitos fundamentais de bancos de dados e suas aplicações, demonstrando comprometimento com a construção de conhecimento técnico e teórico; diferenciar sistemas gerenciadores de bancos de dados e suas arquiteturas, adotando uma postura crítica e analítica na avaliação de suas características; utilizar a linguagem SQL para criação, manipulação e consulta de bancos de dados, demonstrando autonomia e precisão na escrita de comandos; modelar bancos de dados utilizando o modelo Entidade-Relacionamento e suas extensões, aplicando organização e atenção aos detalhes no desenvolvimento dos esquemas; implementar bancos de dados relacionais a partir de um projeto conceitual, demonstrando responsabilidade e rigor técnico na execução das tarefas; explicar os princípios de organização, armazenamento e indexação de dados em memória secundária, promovendo clareza na comunicação ao compartilhar conhecimentos; avaliar técnicas de processamento e otimização de consultas, adotando uma postura investigativa e analítica para encontrar soluções eficientes; examinar estratégias de controle de concorrência e recuperação de falhas, demonstrando proatividade na busca por estratégias eficazes; comparar diferentes abordagens de escalonamento de transações, adotando pensamento crítico para identificar vantagens e desvantagens de cada técnica; experimentar ferramentas e tecnologias utilizadas na implementação e gerenciamento de bancos de dados, demonstrando curiosidade e abertura ao aprendizado contínuo.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC253 |
Ciência de Dados |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos gerais, incluindo história, etapas de projeto, ciclo de vida de dados, governança e questões éticas e legais. Exploração de dados com ênfase em conceitos de estatística e probabilidade, análise uni e multivariada e visualização de dados (incluindo storytelling). Engenharia de Dados cobrindo aspectos de qualidade de dados (lidar com falta, ruído, inconsistência etc), transformações diversas (e.g, normalização e anonimização), engenharia de atributos e balanceamento. Modelagem de Dados, incluindo amostragem, variabilidade, vieses e tarefas típicas de previsão, como classificação, regressão, agrupamento, associação e geração. Testes e avaliação, incluindo métricas, reamostragem de dados, testes de hipóteses, projeto experimental, ajustes de parâmetros, interpretação e explicação.
Compreender os conceitos fundamentais da área, incluindo o ciclo de vida dos dados, etapas de projeto, governança e questões éticas e legais. Integrar os conhecimentos teóricos e práticos necessários à exploração, engenharia, modelagem, testes e avaliação de dados. Analisar a aplicação dos métodos de análise estatística e visualização de dados no contexto da geração de insights para a tomada de decisão. Aplicar modelos rasos de classificação e regressão, como árvores de decisão, k-NN e regressão linear.
Identificar e descrever os fundamentos e as etapas de projeto da ciência de dados. Explorar dados aplicando conceitos de estatística, probabilidade, análise univariada e multivariada e técnicas de visualização e storytelling. Implementar processos de engenharia de dados para garantir a qualidade, transformação, normalização, anonimização, engenharia de atributos e balanceamento. Modelar dados por meio de amostragem, análise de variabilidade, identificação de vieses e aplicação de técnicas de previsão como classificação, regressão, agrupamento, associação e geração de dados. Realizar testes e avaliações utilizando métricas, testes de hipóteses, projetos experimentais, ajustes de parâmetros e interpretar os resultados para oferecer explicações fundamentadas. Empregar técnicas de reamostragem, como validação cruzada, hold-out e bagging para ajuste de hiperparâmetros e teste de modelos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC431 |
Engenharia de Software II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Princípios de Projeto de Software. Interação entre projeto e requisitos. Modelagem de Software e Representação de Sistemas. Notação UML e sua Aplicação no Projeto de Software (Diagramas de Classe, Sequência, Atividade e Máquina de Estados). Arquitetura de Software, Padrões e Estilos Arquiteturais. Padrões de Projeto e Reutilização de Software. Ferramentas de suporte a projeto. Refatoração e Evolução de Software.
Compreender os princípios de projeto de software e sua relação com os requisitos do sistema. Aplicar técnicas de modelagem para representar sistemas de software de forma estruturada. Utilizar a notação UML para modelar aspectos estruturais e comportamentais de um sistema de software. Identificar e aplicar padrões e estilos arquiteturais no desenvolvimento de software. Aplicar padrões de projeto para promover a reutilização e a qualidade do software. Utilizar ferramentas de suporte ao projeto de software para modelagem e documentação.
Explicar os princípios fundamentais de projeto de software e sua importância na qualidade do sistema. Analisar a relação entre requisitos e decisões de projeto de software. Aplicar conceitos de modelagem para representar diferentes aspectos de um sistema de software. Elaborar diagramas UML, incluindo diagramas de classe, sequência, atividade e máquina de estados. Identificar e utilizar diferentes estilos e padrões arquiteturais. Aplicar padrões de projeto na solução de problemas recorrentes no desenvolvimento de software. Avaliar a aplicabilidade de ferramentas de suporte ao projeto de software para modelagem e documentação.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC062 |
Arquitetura de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Microprocessadores monociclo, multiciclo e pipeline. Diferenças entre CISC e RISC. Arquiteturas de Von Neumann e de Harvard. Conceitos sobre Hazards, Tratamento de Hazards e forwarding. Técnicas de desempenho: CPI, IPC, ILP, Branch prediction, Loop unrolling, execução fora de ordem e reorganização de instruções. Assembly: Codificação de 32 e 64 bits. Processamento paralelo: Conceitos e definições. Microprocessadores superescalares. Arquiteturas multinúcleo. Coerência de cache. SIMD e MIND. Placas GPU. Consumo de energia. Confiabilidade. Pipeline. CISC. RISC. Hazards e forwarding. CPI, IPC, ILP, Branch prediction, Loop unrolling. Out-of-order. Assembly 32 e 64 bits. Superescalar. Multinúcleo. Cache. SIMD e MIND. GPU. Energia. Confiabilidade.
Compreender o desempenho dos microprocessadores, comparando abordagens monociclo, multiciclo e pipeline. Entender as diferenças e implicações para o desempenho das arquiteturas RISC e CISC. Investigar a codificação assembly de 32 e 64 bits. Aplicar programação em baixo nível para relacionar com conceitos de compilação e tradução de linguagens de alto nível para linguagem de máquina. Calcular ganhos de desempenho e suas limitações, por exemplo, aplicando a Lei de Amhdal.
Programar no nível do hardware. Simular e entender pipeline. Simular uma hierarquia de memória. Experimentar com arquiteturas multicore. Experimentar com arquiteturas paralelas. Entender os requisitos energéticos das arquiteturas e seus impactos no meio ambiente.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC208 |
Engenharia de Dados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos Introdutórios: Dados Massivos (Big Data), Processamento Analítico e Transacional, ETL (Extract, Transform, Load), Engenharia de Dados; Computação em Nuvem, Virtualização de Dados e Clusters Computacionais; Plataformas de Dados de Alto Desempenho em Clusters; Bancos de Dados não-Relacionais: Teorema CAP, Bancos de Dados Colunares, Bancos de Dados Chave-Valor, Bancos de Dados de Documentos, Bancos de Dados de Grafos; Processamento de Fluxo de Dados (Streaming); Arquiteturas de Big Data, Data Warehouses e Data Lakes; Limpeza de Dados (Data Cleaning)
Projetar, implementar e gerenciar pipelines e infraestruturas de dados escaláveis e de alto desempenho. Identificar, modelar e integrar grandes volumes de dados em ambientes distribuídos. Aplicar técnicas de processamento em lote e em fluxo contínuo para otimizar a ingestão, transformação e análise de dados. Utilizar arquiteturas modernas, incluindo Data Warehouses, Data Lakes e computação em nuvem, para armazenar, processar e disponibilizar dados de forma eficiente. Garantir qualidade, segurança e governança dos dados em diferentes contextos organizacionais.
Identificar e aplicar conceitos fundamentais da engenharia de dados para projetar, construir e otimizar pipelines de dados; implementar soluções escaláveis para ingestão, armazenamento e processamento de grandes volumes de dados em ambientes distribuídos; selecionar e utilizar bancos de dados relacionais e não relacionais de acordo com requisitos específicos de desempenho, escalabilidade e consistência; aplicar técnicas de processamento em lote e em fluxo contínuo para atender a demandas analíticas e operacionais; integrar e gerenciar dados em arquiteturas modernas, como Data Warehouses, Data Lakes e computação em nuvem; garantir a qualidade, segurança e governança dos dados, assegurando conformidade com padrões e regulamentações; avaliar impactos sociais e ambientais de soluções de engenharia de dados, promovendo práticas sustentáveis no uso e armazenamento de dados; aplicar princípios éticos na coleta, armazenamento, compartilhamento e processamento de dados, respeitando privacidade e legislação vigente; desenvolver habilidades de comunicação para relatar descobertas, justificar decisões técnicas e colaborar com equipes multidisciplinares; trabalhar em equipe de forma colaborativa, respeitando diferentes perspectivas e contribuindo para a resolução de problemas de engenharia de dados; analisar implicações organizacionais e estratégicas da engenharia de dados para apoiar a tomada de decisão em empresas e instituições; refletir sobre sua própria atuação como engenheiro de dados, buscando aprendizado contínuo e aprimoramento profissional.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC209 |
Recuperação da Informação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos Gerais sobre Recuperação de Informação. Avaliação em sistemas de recuperação de informação: coleções de referência online e offline. Bias em sinais de relevância online e recuperação de informação contrafactual. Operações sobre texto: radical de palavras, lematização, vetorização e transformers. Modelos clássicos de recuperação de informação. Fontes de evidência de relevância: estudos de casos em diferentes ambientes de busca, fontes textuais, de estrutura e metainformação sobre os documentos, citações e de interação com usuários. Métodos de aprendizado de máquina para ordenação de resultados de busca. Algoritmos de indexação e processamento eficiente de consultas. Arquiteturas distribuídas para sistemas de busca. Compressão de Dados para Recuperação de Informação. Servidores de busca e sua integração com os conceitos aprendidos na disciplina.
Conhecer e implementar técnicas e métricas de avaliação de sistemas de recuperação de informação. Conhecer e implementar modelos clássicos de recuperação de informação. Conhecer e implementar sistemas de busca que utilizam diferentes fontes de evidência de relevância e técnicas de aprendizado de máquina para combiná-las no desenvolvimento de sistemas de busca. Conhecer técnicas eficientes de indexação e processamento de consultas.
Conhecer e aplicar técnicas de avaliação de sistemas de recuperação de informação, incluindo a análise de coleções de referência online e offline, e entender os impactos do bias nos sinais de relevância. Implementar modelos clássicos de recuperação de informação, como o modelo vetorial e o modelo probabilístico, e avaliar seu desempenho em diferentes cenários de busca. Explorar e aplicar operações sobre texto, como radicalização de palavras, lematização, vetorização e o uso de transformers, no processamento e na representação eficiente de documentos em sistemas de busca. Integrar diferentes fontes de evidência de relevância, como estudos de casos, informações estruturais, metainformação, citações e interações com usuários, no desenvolvimento de sistemas de recuperação de informação mais eficientes. Implementar métodos de aprendizado de máquina para a ordenação de resultados de busca, combinando fontes de evidência de relevância e otimizando o processo de recuperação de informações. Conhecer e aplicar algoritmos de indexação eficientes, projetando e implementando sistemas de busca que suportem processamento de consultas em arquiteturas distribuídas, com foco na compressão de dados para maior desempenho.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC256 |
Aprendizado de Máquina I |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos de Aprendizado de Máquina: definições e tipos (supervisionado, não supervisionado, por reforço). Formalização do processo de aprendizado: função-conceito, hipótese, busca. Modelos paramétricos e não paramétricos. Conceitos de aprendizado estatístico: teorema no-free lunch, fontes de erro e indecidibilidade, viés e variância. Espaço de hipóteses, capacidade do espaço de hipóteses e complexidade dos modelos. Generalização e aprendizado viciado, underfitting e overfitting. Teste de modelos: métricas de desempenho, técnicas de reamostragem. Modelos rasos. Regressores Logísticos. Ensembles. Redes neurais. Aprendizado profundo: extração automática de características, visualização de representações. Modelos profundos: redes totalmente conectadas, convolutivas, de sequência e geradoras. Transfer learning e composição de modelos.
Formalizar os conhecimentos adquiridos em Ciência de Dados sob os fundamentos do Aprendizado de Máquina. Entender o equilíbrio entre viés e variância e lidar com situações de underfitting e overfitting. Analisar problemas que podem ser resolvidos com Aprendizado de Máquina e escolher modelos apropriados. Analisar a evolução dos modelos rasos e ensembles e sua transição para abordagens profundas. Avaliar a relevância da extração automática de características e da visualização de representações no contexto do desenvolvimento de sistemas inteligentes.
Entender as situações nas quais os diferentes tipos de aprendizado devem ser aplicados, suas finalidades, vantagens e desvantagens. Entender o formalismo por trás do Aprendizado de Máquina. Entender conceitualmente o funcionamento do aprendizado estatístico. Compreender e reconhecer na prática fontes de erro e indecidibilidade, viés e variância. Ajustar hiperparâmetros, selecionar atributos e trabalhar dados para lidar com generalização, underfitting e overfitting. Escolher quando empregar modelos rasos ou profundos. Escolher modelos adequados para problemas de Aprendizado de Máquina. Utilizar redes neurais como modelos de classificação e como extratores de características. Interpretar resultados experimentais e sintetizar conhecimentos obtidos a partir de estudos de caso e aplicações práticas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC258 |
Representação do Conhecimento e Raciocínio |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Formalismos Clássicos: Lógica de primeira ordem. Redes semânticas e Frames. Ontologias, Sistemas de Regras e Raciocínio, sistemas SE ENTÃO. Encadeamento para frente/para trás. Raciocínio probabilístico com Redes Bayesianas e Lógica Difusa. Raciocínio Contextual e Não Monotônico. LLMs e aprendizado de probabilidades implícitas em texto, raciocínio causal explícito das redes bayesianas. Visualização de embeddings. Grafos de conhecimento, embeddings e raciocínio híbrido. Tokenização e Estruturas de Dados. Sequências de Tokens como representação de conhecimento em LLMs. Integração de RCR com PLN. Ética e Segurança em RCR. Viés em Ontologias e Mitigação de preconceitos. Consistência de RCR com regulamentação (ex. LGPD).
Projetar sistemas de representação de conhecimento (KR) robustos e flexíveis, essenciais para o desenvolvimento de agentes inteligentes e modelos modernos de geração automática (LLMs, difusão de imagens), combinando formalismos clássicos com representações probabilísticas e distribuídas, conhecimento estruturado, raciocínio não monotônico, raciocínio derrotável (defeasible reasoning), raciocínio sob incerteza e vagueza, raciocínio sobre ações, explicação e diagnóstico, e o trade-off entre expressividade e tratabilidade.
Compreender formalismos clássicos de Representação do Conhecimento: lógica de primeira ordem, redes semânticas, grafos de conhecimento e ontologias, sistemas de regras para modelagem de domínios complexos como diagnóstico médico. Desenvolver sistemas de inferência (encadeamento de regras, resolução lógica) e raciocínio probabilístico (redes Bayesianas), e senso comum raciocínio derrotável em para problemas reais. Identificar as limitações de abordagens clássicas de RCR e analisar o trade-off entre expressividade e tratabilidade. Saber diferenciar RCR e representações sub-simbólicas para lidar com ambiguidades, grandes volumes de informações e semântica implícitas. Entender e utilizar o conceito de embeddings para codificar conhecimento em espaço vetorial contínuo (RCR Embed). Aplicar embedding e grafos de conhecimento (KGs) para conectar representações simbólicas a dados não estruturados. Integrar RCR Embed com aprendizado de máquina preparando bases para sistemas híbridos. Entender como tokenização, embeddings e espaços latentes representam conhecimento em LLMs. Aplicar KR em agentes inteligentes e modelos gerativos, exemplos de geração ética de textos e imagens.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC006 |
Projeto e Análise de Algoritmos |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Fundamentos em Teoria da Computação. Técnicas de Análise de Algoritmos. Complexidade Computacional. Classes de Problemas Computacionais. Crescimento Assintótico de Funções. Somatórias e Resolução de Recorrências. Técnicas de Projeto de Algoritmos. Divisão e Conquista: Mergesort e Multiplicação de Matrizes. Algoritmos de Ordenação. Algoritmos de Busca. Método Guloso: Código de Huffman. Árvore Geradora Mínima (Prim e Kruskal). Caminho de Custo Mínimo (Dijkstra e Bellman-Ford). Programação Dinâmica: Multiplicações Matriciais, Maior Subsequência Comum, Distância de Edição. Árvore Binária de Busca. Árvores com Balanceamento e Hashs. Problemas Computacionais Clássicos. Grafos e suas Aplicações: Algoritmos Elementares. Teoria da NP-Completude: Problemas NP-Completos e NP-Difíceis. Redução Polinomial.
Reconhecer e lidar com classes específicas de problemas. Identificar e propor soluções eficientes para classes de problemas, quando possível, por meio da aplicação das diversas técnicas de projeto e análise de algoritmos apresentadas.
Analisar a complexidade computacional de algoritmos, identificando seu comportamento assintótico e relacionando-o com o tipo de problema a ser resolvido. Identificar e prever as demandas de tempo e recursos computacionais de um algoritmo na medida que o tamanho da entrada cresce. Aplicar técnicas de projeto de algoritmos, como divisão e conquista, programação dinâmica e método guloso, na construção de soluções eficientes para problemas computacionais clássicos. Identificar e classificar problemas computacionais em diferentes classes, como P, NP-completo e NP-difícil, e avaliar as implicações dessas classificações para a busca de soluções. Resolver problemas de otimização utilizando algoritmos de grafos, como o cálculo de árvore geradora mínima e caminho de custo mínimo, e aplicar esses conceitos a problemas práticos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC254 |
Processamento de Linguagem Natural |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Processamento de Linguagem Natural e Modelos de Linguagem. Classificação de palavras, trechos e documentos. Modelos de Linguagem de Grande Escala (LLMs): comparação de diferentes LLMs, Engenharia de Prompt; Retreino de LLMs focando em qualidade e eficiência. Métricas de avaliação. Geração aprimorada com recuperação e uso de LLMs como agentes. Aplicações de LLMs.
Capacitar os alunos a compreender, aplicar e desenvolver modelos para processamento de linguagem natural com foco em modelos de linguagem neurais. Entender conceitos fundamentais de processamento de linguagem natural, técnicas de pré-processamento, modelos probabilísticos, arquiteturas transformer, técnicas avançadas de ajuste fino (fine-tuning), quantização, recuperação aumentada com geração (RAG), e uso de LLMs como agentes.
Estudar os fundamentos teóricos de processamento de linguagem natural. Pesquisar sobre os diferentes modelos de linguagem e arquiteturas de LLMs disponíveis. Entender o efeito dos termos do contexto no resultado gerado (engenharia de prompt. Explorar a estrutura e funcionamento de redes neurais por exemplos práticos. Investigar a arquitetura dos Transformers em detalhes. Implementar treinamento contínuo e fine-tuning em LLMs com datasets de biotecnologia. Entender as implicações do uso de LLMs com relação a eficiência e custos energéticos. Utilizar LLMs como agentes inteligentes. Conhecer casos de uso práticos de LLMs.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC257 |
Aprendizado de Máquina II |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Métodos não supervisionados: agrupamento e associação. Interpretabilidade e Explicabilidade de Modelos. Aprendizado por Reforço: conceitos fundamentais e formalismos (processos de decisão de Markov e equação de Bellman); exploração versus aproveitamento; métodos baseados em valor; métodos baseados em política; métodos baseados em modelo, incluindo os que combinam valor e política; aprendizado profundo por reforço com ênfase em autoaprendizado
Compreender os fundamentos teóricos e práticos de métodos não supervisionados e os baseados em aprendizado por reforço, além de técnicas de interpretabilidade e explicabilidade de modelos de aprendizado de máquina em geral. Reconhecer as abordagens mais adequadas para diferentes cenários de aplicação.
Aplicar algoritmos de agrupamento e associação para identificar padrões e estruturas em dados. Interpretar técnicas de interpretabilidade e explicabilidade para aumentar a transparência dos modelos. Desenvolver modelos de aprendizado por reforço. Avaliar estratégias de exploração versus aproveitamento para otimizar a tomada de decisão em ambientes dinâmicos. Implementar métodos baseados em valor, em política e baseados em modelo. Experimentar técnicas de aprendizado profundo por reforço e suas aplicações mais atuais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC259 |
Inteligência Artificial Multimodal |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos fundamentais relacionados ao aprendizado de máquina multimodal. Aprendizado de Representação. Tradução, mapeamento e alinhamento de modalidade. Raciocínio conjunto e compreensão de imagens/vídeos, texto, áudio e outras modalidades. Modelos Multimodais. Fusão de Modelos. Composição de Modelos.
Compreender conceitos e técnicas de aprendizado de máquina multimodal abordando alguns dos principais objetivos da inteligência artificial ao integrar e modelar duas ou mais modalidades de dados. Conhecer diferentes métodos de integração de diferentes modalidades em um sistema de representação ou raciocínio compartilhado, incluindo texto, áudio, imagens/vídeos e outras modalidades. Avaliar e aplicar métodos de aprendizado de máquina multimodal em tarefas práticas.
Definir os principais conceitos e métodos de integração e modelagem de múltiplas modalidades comunicativas, incluindo mensagens linguísticas, acústicas e visuais. Aplicar métodos de aprendizado de máquina multimodal dada a heterogeneidade dos dados e a contingência frequentemente encontrada entre as modalidades. Compreender e aplicar conceitos matemáticos fundamentais relacionados a modelos multimodais, incluindo alinhamento e fusão multimodal, aprendizado de representação heterogênea e modelagem temporal. Aplicar métodos multimodais em problemas reais. Combinar e estender o conhecimento adquirido considerando os desafios atuais e futuros.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC261 |
Sistemas Multiagentes |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Agentes Inteligentes: Introdução aos agentes inteligentes. Definição. Arquiteturas: reativa, deliberativa, híbrida. Propriedades: raciocínio, aprendizagem, autonomia, proatividade, etc. Tipologia: agentes de interface, agentes de informação, sistemas heterogêneos. Sistemas Multiagente: Introdução aos sistemas inteligentes distribuídos. Comunicação. Padrões. Coordenação. Negociação. Planejamento distribuído. Votação. Leilões. Formação de coalizões. Tomada de decisão multiagente. Aplicações.
Definir e explicar os conceitos fundamentais de agentes inteligentes e sistemas multiagentes, incluindo arquiteturas, propriedades e tipologias. Implementar e aplicar algoritmos centrais em sistemas multiagentes para resolver problemas práticos. Analisar e comparar técnicas de comunicação, planejamento distribuído e tomada de decisão. Projetar e desenvolver modelos de sistemas multiagentes para aplicações específicas. Criar e propor soluções para problemas em sistemas multiagentes, integrando múltiplas técnicas e estratégias.
Listas e explicar problemas e técnicas importantes na área de sistemas multiagentes. Explicar como funcionam os algoritmos centrais na área de sistemas multiagentes. Ser capaz de implementar algum algoritmo central na área de sistemas multiagentes. Avaliar e aplicar diferentes abordagens da teoria dos jogos. Projetar e utilizar leilões para alocação de recursos em um sistema multiagente. Modelar aspectos relevantes da tomada de decisão em sistemas multiagentes utilizando processos de decisão de Markov e lógica.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC262 |
Inteligência Artificial Neurosimbólica |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Breve revisão de Lógicas clássicas e não-clássicas para IA Neurosimbólica, Anotações e programas generalizados elementos sintáticos e suas semântica de reticulado inferior. Arquiteturas clássicas de Redes Neurais Artificiais (RNA) e suas limitações: Redes Recorrentes, Redes Convolutivas, Redes Neurais de Grafos, Modelos Neuro-Simbólicos Clássicos (KBANN, CILP, LTN, etc), Modelos Neurosimbólicos para Incerteza (LBM, LNN, ProbLog, etc). Aprendizado com restrição-δILP, SATNet: MAXSAT, Symbol Grounding. Máquinas Gerativas Neurosimbólicas. Aplicações e seminários.
Integrar lógica simbólica (clássica, fuzzy, modal) e redes neurais em sistemas neuro-simbólicos, capacitando os alunos a projetar modelos explicáveis, capazes de raciocínio estruturado, aprendizado relacional e generalização em domínios complexos, com aplicações em visão computacional, NLP, AI generativa e tomada de decisão ética.
Compreender fundamentos teóricos: Unificar lógica proposicional, de primeira ordem e não clássica (fuzzy, modal, intuicionista) com arquiteturas neurais. Analisar técnicas de symbol grounding e anotações em redes semânticas. Implementar sistemas neuro-simbólicos. Desenvolver modelos como LTN (Logic Tensor Networks), LNN (Logical Neural Networks), LBM (Logical Boltzmann Machines) e NeurASP. Aplicar Differentiable Inductive Logic Programming (δILP) e SATNet para aprendizado com restrições. Explorar raciocínio avançado e modelos de aprendizado de máquina autorregressivos na geração de informação aplicado a commonsense reasoning, planejamento e explicabilidade. Aplicar em casos reais para desenvolver soluções para desafios como Visual Question Answering (VQA) e Vídeo Understanding, detecção de fake news.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC263 |
Robótica |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à robótica e suas aplicações. Arquiteturas robóticas: reativas vs. deliberativas. Simulação de robôs: ferramentas e técnicas. Introdução ao Robot Operating System (ROS). Planejamento e controle de movimento. Localização e mapeamento (SLAM). Percepção e fusão sensorial. Aprendizado de máquina aplicado à robótica. Implementação e experimentação em simuladores e ambientes reais. Introdução ao Aprendizado por Reforço aplicado a robótica.
Compreender fundamentos teóricos e práticos em robótica, desde conceitos básicos até aplicações avançadas. Aplicar técnicas para modelar, analisar e controlar robôs em contextos diversos. Avaliar soluções para problemas reais por meio de projetos práticos. Criar sistemas robóticos funcionais, integrando conhecimentos multidisciplinares para enfrentar demandas complexas da área.
Modelar um robô como um agente capaz de se mover em um ambiente de operação. Criar programas em Python ou em C++ para o robô de forma que ele seja capaz de executar tarefas pré-definidas. Validar, Verificar e Testar a execução das tarefas em ambientes de simulação e reais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC404 |
Gerência de Projetos |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
O conceito e os objetivos da gerência de projetos. Abertura e definição do escopo de um projeto. Planejamento de um projeto. Adaptação do processo de desenvolvimento para a Gerência de Projeto. Execução, acompanhamento e controle de um projeto. Revisão e avaliação de um projeto. Fechamento de um projeto. Metodologias, técnicas e ferramentas da gerência de projetos. Modelo de gerenciamento de projeto do Project Management Institute. Gerência de Portfólio. Métodos Ágeis e o Gerenciamento de Projetos.
Explicar, analisar e aplicar os fundamentos do gerenciamento de projetos de desenvolvimento, explorando técnicas, comportamentos, requisitos, métricas e fases do ciclo de vida de um projeto. Além disso, avaliar e utilizar ferramentas práticas e promover discussões que conectem os conceitos teóricos à prática profissional.
Identificar grupos de processos, suas áreas de conhecimento e seus respectivos artefatos. Explicar qual o papel do gerente de projetos em uma organização de desenvolvimento de software. Distinguir entre processo de desenvolvimento de software e o arcabouço de gerenciamento de projetos para poder projetar os artefatos comuns entre os dois.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC103 |
Empreendedorismo em Informática |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de empreendedorismo. Perfil do empreendedor. Desafios, Atitudes e Habilidades. A Empresa. Negócios baseados em tecnologia. Formas de empresas. Identificação de oportunidades de negócios de base tecnológica. Análise de mercado. Concepção de produtos e serviços. Valor agregado. Estratégias competitivas. Conceito de oferta e demanda. Mercados. Setores empresariais. Marketing. Finanças e custos. Plano de Negócios. Capital de Risco e seus mecanismos de acesso. Fomento público a iniciativas empreendedoras.
Compreender os fundamentos do empreendedorismo e sua aplicação no contexto da tecnologia da informação. Desenvolver a capacidade de identificar e avaliar oportunidades de negócios inovadores. Adquirir conhecimentos sobre o ecossistema empreendedor e as fontes de financiamento. Transformar os estudantes em atores conscientes no cenário de mudanças da economia mundial. Reconhecer a importância e benefícios do empreendedorismo de base tecnológica para a sociedade.
Despertar o interesse pela criação do próprio negócio. Analisar as tendências do mercado de tecnologia e identificar oportunidades de negócio. Elaborar um canvas model e outros modelos de negócios para empresas de tecnologia. Elaborar planos de negócios consistentes para empresas de tecnologia. Realizar projeções financeiras e análises de viabilidade econômica. Identificar as principais fontes de financiamento para startups.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC106 |
Computação, Ética e Sociedade |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Impactos da tecnologia na sociedade, com foco em aspectos éticos, ambientais, e sociais. Liberdade de expressão, desinformação e seus efeitos sobre grupos étnico-raciais, minorias e direitos humanos. Privacidade, liberdades civis, e a proteção de dados pessoais, em especial de grupos vulneráveis. Segurança, leis, crimes cibernéticos e questões de propriedade intelectual, incluindo o reconhecimento e proteção de conhecimentos tradicionais e culturais de povos afro-brasileiros e indígenas. Trabalho, carreira, formação profissional, e a inclusão de diversidade racial e de gênero no setor de TI. Controle e uso da tecnologia pela sociedade, com destaque para tecnologias que promovem inclusão digital, acessibilidade, sustentabilidade ambiental e enviesamento algorítmico. Riscos e consequências dos erros e falhas em sistemas, considerando o impacto na comunidade e grupos vulneráveis. Ética e Responsabilidade profissional, promovendo o desenvolvimento de soluções tecnológicas inclusivas e sustentáveis. Integração dos princípios de sustentabilidade, diversidade, equidade, inclusão e acessibilidade, explorando como a tecnologia pode ser uma ferramenta de transformação social e ambiental. Design Universal; Ferramentas de Acessibilidade; Acessibilidade em Desenvolvimento de Software, Linguagens de Programação e Acessibilidade. Temas emergentes em impactos éticos e sociais da Computação.
Desenvolver habilidades de um profissional de informática comprometido com a solução de problemas culturais, éticos, ambientais e sociais na comunidade em que atua. Compreender a sua função social como profissional de informática para o desenvolvimento socioeconômico da sua região e do País. Identificar potenciais impactos das novas tecnologias de informação e comunicação nas comunidades e sociedades regionais. Compreender as principais questões éticas, sociais e ambientais relacionadas à informática e às tecnologias digitais. Analisar o impacto das tecnologias da informação na sociedade, com ênfase em direitos humanos, inclusão e sustentabilidade. Desenvolver uma postura crítica e ética em relação ao uso, desenvolvimento e gestão de tecnologias da informação.
Identificar os principais desafios éticos envolvidos no uso da tecnologia da informação, incluindo privacidade, segurança e direitos digitais. Analisar como as tecnologias digitais impactam a inclusão social e a acessibilidade para populações vulneráveis, como a população LGBTQIAPN+, pessoas com deficiência, povos originários e outros grupos étnico-raciais. Avaliar o papel da informática na promoção da sustentabilidade, focando em mudanças climáticas e preservação da biodiversidade. Aplicar princípios éticos e regulatórios em situações práticas relacionadas ao desenvolvimento e uso de software e sistemas informáticos. Propor soluções tecnológicas que promovam a inclusão, respeitem a diversidade e contribuam para a preservação ambiental e equidade social. Refletir sobre o impacto das decisões tecnológicas no ambiente de trabalho, promovendo ética profissional e respeito às diferenças. Explorar os desafios de inteligência artificial e automação no que diz respeito à responsabilidade ética, privacidade e impactos sociais. Criticar as implicações das tecnologias da informação no fortalecimento ou mitigação de desigualdades sociais, econômicas e culturais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC150 |
Trabalho de Conclusão de Curso |
5.0.5.0 |
0h |
150h |
0h |
150h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Especificação e desenvolvimento do trabalho final de graduação, por meio de pesquisa e documentação adequadas. Apresentação de um texto, de autoria própria ou de autoria principal, em caso de colaboração, como resultado do trabalho da pesquisa ou do desenvolvimento. Apresentação oral de trabalho acadêmico.
Desenvolver habilidades socioemocionais (resiliência, proatividade, pontualidade, compromisso) para elaborar e executar projetos de pesquisa ou de desenvolvimento de sistemas computacionais. Aplicar conhecimentos técnicos e teóricos na resolução de problemas da área de Computação. Promover a capacidade de comunicação científica por meio da escrita e apresentação de trabalhos acadêmicos.
Identificar temas relevantes para pesquisa na área de Computação. Formular problemas de pesquisa e hipóteses. Selecionar e aplicar métodos e técnicas adequados para a investigação científica. Analisar e sintetizar informações a partir de revisão bibliográfica. Desenvolver soluções ou propostas inovadoras com base em evidências científicas. Redigir textos acadêmicos conforme normas técnicas e éticas. Apresentar e defender o trabalho de forma clara e coerente perante uma banca examinadora.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEC082 |
Cálculo Numérico |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Sistemas Numéricos: Representação e manipulação de números em sistemas de ponto flutuante. Erros de arredondamento e truncamento. Sistemas Lineares: Métodos numéricos para resolver sistemas lineares, incluindo métodos diretos e iterativos. Interpolação: Interpolação polinomial e suas aplicações. Quadrados Mínimos Lineares: Aplicação dos mínimos quadrados para encontrar uma função que melhor se ajusta a um conjunto de dados. Zeros de Funções Reais: Métodos de busca de raízes de funções, como o método da bisseção, método de Newton-Raphson e método da secante. Integração Numérica: Métodos numéricos para calcular integrais definidas, como regra do trapézio, regra de Simpson e quadratura Gaussiana.
Compreender os princípios teóricos por trás dos métodos numéricos abordados. Desenvolver habilidades na implementação computacional desses métodos. Aplicar os métodos numéricos para resolver problemas práticos em diversas áreas da ciência e engenharia.
Representar números em sistemas de ponto flutuante e identificar fontes de erros como arredondamento e truncamento. Comparar métodos diretos e iterativos para resolver sistemas lineares, como eliminação de Gauss e métodos de Jacobi e Gauss-Seidel. Construir polinômios interpoladores para aproximação de funções e analisar seus erros. Aplicar o método dos mínimos quadrados para ajustar funções a conjuntos de dados. Implementar métodos numéricos para encontrar raízes de funções, como bisseção, Newton-Raphson e secante. Calcular integrais definidas utilizando técnicas como regra do trapézio, Simpson e quadratura Gaussiana. Interpretar resultados numéricos criticamente, considerando limitações e possíveis otimizações.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IHE130 |
Inglês Instrumental I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo do discurso em texto autênticos complexos, tanto de interesse geral quanto específico. Funções comunicativa do texto. Estratégias de leitura. Análise de partes complexas do sistema linguístico-gramatical da língua inglesa. Estudo de informação contida em gráficos, quadros estatísticos e diagramas.
Capacitar o aluno a ler textos nativos em inglês de interesse geral e específico, utilizando técnicas e estratégias que facilitem a compreensão.
Identificar os marcos históricos da educação de surdos no Brasil. Diferenciar as abordagens oralistas, gestuais e bilíngues no ensino de Libras. Aplicar os princípios básicos da estrutura gramatical da Libras em contextos comunicativos. Demonstrar expressões corporais e faciais adequadas para a sinalização. Utilizar a dramatização e a música como recursos pedagógicos no ensino de Libras. Interpretar as leis e políticas públicas que asseguram a inclusão educacional de surdos. Discutir os desafios e avanços na implementação da educação bilíngue para surdos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC004 |
Algoritmos e Estrutura de Dados Avançados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estruturas de dados temporais (persistência e retroatividade), estruturas de dados espaciais, hierarquia de memória, otimalidade dinâmica, hashing, filas de prioridade avançadas, grafos dinâmicos.
Explorar algoritmos e estruturas de dados avançadas, envolvendo estruturas de dados temporais (persistência e retroatividade), estruturas de dados espaciais, hierarquia de memória, otimalidade dinâmica, hashing, filas de prioridade avançadas, grafos dinâmicos.
Compreender e aplicar técnicas avançadas de projeto de algoritmos. Dominar estruturas de dados complexas e suas aplicações. Reconhecer, manipular e aplicar estruturas de dados avançadas na resolução de problemas. Desenvolver habilidades para analisar e otimizar algoritmos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC021 |
Prática em Programação I |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC022 |
Prática em Programação II |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC023 |
Prática em Programação III |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC024 |
Prática em Programação IV |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC030 |
Tópicos Especiais em Programação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC031 |
Tópicos Especiais em Programação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC032 |
Tópicos Especiais em Programação III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC033 |
Tópicos Especiais em Programação IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC034 |
Tópicos Especiais em Programação V |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC035 |
Tópicos Especiais em Programação VI |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC036 |
Programação Competitiva I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estratégias de resolução de problemas, técnicas de projeto de algoritmos, estruturas de dados básicas e avançadas, estratégias de competição, leitura técnica de textos, elaboração de especificação de problemas, reconhecimento de padrões e reaproveitamento de código, padronização e boas práticas de codificação, com abordagens individuais e formação de times para práticas de trabalho colaborativo em grupo.
Desenvolver e potencializar a capacidade de resolução de problemas por computador, envolvendo a compreensão, especificação e modelagem de problemas para serem bem resolvidos por computador, por meio de aplicação de técnicas de projeto de algoritmos e estrutura de dados, em diferentes abordagens e desafios.
Desenvolver habilidades para resolver problemas de programação desafiadores, típicos de competições de programação. Promover a boa tomada de decisão usando o ferramental computacional para a resolução de problemas, sob pressão, de modo a refinar habilidades essenciais para um resolvedor de problemas e desenvolvedor diferenciado, tanto para a academia científica quanto para o mercado de trabalho. Resolver problemas de competições de programação, simulando ambientes reais de maratonas e hackathons. Colaborar em equipes para resolver desafios complexos, desenvolvendo habilidades de trabalho em grupo. Manipular conteúdos e tópicos computacionais essenciais para a resolução eficiente de problemas algorítmicos, com foco em competições como Olimpíadas de Informática, Maratonas de Programação e outras competições de programação. Identificar situações em que estruturas de dados avançadas (ex.: árvores balanceadas, filas de prioridades avançadas, tabelas de dispersão) são necessárias para otimizar soluções. Projetar e implementar algoritmos avançados, como os de programação dinâmica, para resolver problemas de otimização. Aplicar algoritmos em grafos (ex.: Dijkstra, Floyd-Warshall, Kruskal) para resolver problemas de caminhos mínimos, conectividade e fluxo. Adaptar soluções para problemas variáveis e atuais em competições de programação, utilizando técnicas inovadoras e analisando a complexidade temporal e/ou espacial dos algoritmos, garantindo eficiência nas soluções propostas. Avaliar soluções alternativas para um mesmo problema, comparando eficiência e clareza de implementação. Explorar ferramentas e plataformas de competição (ex.: Codeforces, TopCoder, LeetCode) para praticar e aprimorar habilidades. Criar problemas e casos de teste para desafios de programação, desenvolvendo a capacidade de pensar criticamente sobre soluções. Revisar códigos de outros competidores, identificando pontos de melhoria e boas práticas. Preparar-se para competições de programação, desenvolvendo estratégias eficazes de resolução sob pressão de tempo e de penalidades diversas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC037 |
Programação Competitiva II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estratégias de resolução de problemas, técnicas de projeto de algoritmos, estruturas de dados básicas e avançadas, estratégias de competição, leitura técnica de textos, elaboração de especificação de problemas, reconhecimento de padrões e reaproveitamento de código, padronização e boas práticas de codificação, com abordagens individuais e formação de times para práticas de trabalho colaborativo em grupo.
Desenvolver e potencializar a capacidade de resolução de problemas por computador, envolvendo a compreensão, especificação e modelagem de problemas para serem bem resolvidos por computador, por meio de aplicação de técnicas de projeto de algoritmos e estrutura de dados, em diferentes abordagens e desafios.
Desenvolver habilidades para resolver problemas de programação desafiadores, típicos de competições de programação. Promover a boa tomada de decisão usando o ferramental computacional para a resolução de problemas, sob pressão, de modo a refinar habilidades essenciais para um resolvedor de problemas e desenvolvedor diferenciado, tanto para a academia científica quanto para o mercado de trabalho. Resolver problemas de competições de programação, simulando ambientes reais de maratonas e hackathons. Colaborar em equipes para resolver desafios complexos, desenvolvendo habilidades de trabalho em grupo. Manipular conteúdos e tópicos computacionais essenciais para a resolução eficiente de problemas algorítmicos, com foco em competições como Olimpíadas de Informática, Maratonas de Programação e outras competições de programação. Identificar situações em que estruturas de dados avançadas (ex.: árvores balanceadas, filas de prioridades avançadas, tabelas de dispersão) são necessárias para otimizar soluções. Projetar e implementar algoritmos avançados, como os de programação dinâmica, para resolver problemas de otimização. Aplicar algoritmos em grafos (ex.: Dijkstra, Floyd-Warshall, Kruskal) para resolver problemas de caminhos mínimos, conectividade e fluxo. Adaptar soluções para problemas variáveis e atuais em competições de programação, utilizando técnicas inovadoras e analisando a complexidade temporal e/ou espacial dos algoritmos, garantindo eficiência nas soluções propostas. Avaliar soluções alternativas para um mesmo problema, comparando eficiência e clareza de implementação. Explorar ferramentas e plataformas de competição (ex.: Codeforces, TopCoder, LeetCode) para praticar e aprimorar habilidades. Criar problemas e casos de teste para desafios de programação, desenvolvendo a capacidade de pensar criticamente sobre soluções. Revisar códigos de outros competidores, identificando pontos de melhoria e boas práticas. Preparar-se para competições de programação, desenvolvendo estratégias eficazes de resolução sob pressão de tempo e de penalidades diversas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC123 |
Tópicos Especiais em Estatística Aplicada à Computação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de Estatística Aplicada à Computação, a critério do docente.
Compreender os princípios fundamentais de probabilidade, estatística e técnicas de simulação aplicados à Ciência da Computação, Ciência de Dados e Machine Learning. Aplicar métodos probabilísticos e estatísticos para modelar incertezas e inferir parâmetros em problemas computacionais. Analisar dados de forma crítica para subsidiar a tomada de decisões baseada em evidências estatísticas. Desenvolver simulações computacionais que solucionem problemas complexos em cenários de alta incerteza ou variabilidade. Avaliar a adequação e eficácia de modelos estatísticos e técnicas de simulação em contextos práticos da Ciência da Computação.
Compreender os fundamentos de probabilidade e inferência estatística, aplicando esses conceitos para modelagem de incertezas e tomada de decisões baseada em dados. Utilizar métodos de simulação computacional, como Monte Carlo, explorando suas aplicações na resolução de problemas complexos. Explorar técnicas estatísticas aplicadas à Ciência de Dados e Machine Learning, desde a análise exploratória até a validação de modelos. Interpretar e comunicar resultados estatísticos de forma clara, crítica e eficaz, utilizando visualizações e relatórios adequados. Resolver problemas reais por meio de projetos práticos que integrem teoria e aplicação, com foco em áreas como Inteligência Artificial e Ciência de Dados. Identificar vieses e limitações em análises estatísticas, questionando suposições e propondo soluções robustas para desafios complexos na Ciência da Computação. Desenvolver habilidades analíticas e críticas para avaliar a qualidade e a relevância de modelos estatísticos em contextos práticos.
Essenciais, 1a ed. Alta Books, 2019. ISBN 978-8550806037.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC130 |
Experiência Criativa I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Competências transversais: gestão do tempo, aprendendo a aprender, pensamento crítico, pensamento sistêmico, trabalho em equipe, entre outras. Desenvolvimento de projetos: planejamento, cronograma, execução e testes. Apresentação dos resultados de um projeto.
Desenvolver e apresentar projetos de Computação, integrando disciplinas e seus conteúdos. Promover o desenvolvimento de competências transversais, como pensamento crítico, gestão do tempo, e trabalho em equipe, em contextos contemporâneos e éticos.
Planejar projetos considerando cronogramas, recursos disponíveis e impactos sociais e ambientais. Discutir soluções de computação que respondam a desafios relacionados à diversidade étnico-racial, direitos da população LGBTQIAPN+, mudanças climáticas e segurança alimentar. Avaliar projetos com base em critérios técnicos, éticos e sustentáveis. Trabalhar em equipe para resolver problemas de forma colaborativa e crítica. Apresentar resultados de projetos, comunicando-os de forma inclusiva e acessível a diferentes públicos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC131 |
Experiência Criativa II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Desenvolvimento de competências intermediárias em projetos de computação, como organização, trabalho em equipe e resolução de problemas. Planejamento e execução de projetos com foco em prototipagem simples, testes e validação. Introdução à aplicação de conceitos de diversidade, inclusão e sustentabilidade em soluções computacionais. Apresentação de resultados de forma clara e acessível para diferentes públicos.
Desenvolver projetos de Computação ao nível intermediário, integrando competências técnicas e transversais. Introduzir práticas de prototipagem, testes e validação em projetos, com foco em inclusão e sustentabilidade.
Planejar projetos computacionais intermediários, organizando cronogramas e recursos. Desenvolver protótipos simples utilizando ferramentas básicas de computação. Testar e validar projetos, identificando melhorias a partir de feedbacks. Aplicar conceitos iniciais de diversidade, inclusão e sustentabilidade no desenvolvimento de projetos. Apresentar os resultados de projetos de forma clara, utilizando recursos visuais e comunicação eficaz.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC180 |
Tópicos Especiais em Ciência da Computação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC181 |
Tópicos Especiais em Ciência da Computação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC182 |
Tópicos Avançados em Ciência da Computação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC183 |
Tópicos Avançados em Ciência da Computação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC184 |
Tópicos Especiais em Ciência da Computação III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC185 |
Tópicos Especiais em Ciência da Computação IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC186 |
Tópicos Avançados em Ciência da Computação III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC187 |
Tópicos Avançados em Ciência da Computação IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC454 |
Desenvolvimento de Jogos Digitais |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos introdutórios ao desenvolvimento de jogos. Linguagens e arquitetura de jogos. Fundamentos de programação aplicados ao desenvolvimento de jogos. Design de Jogos e Mecânicas de Gameplay. Motores Gráficos e Ambientes de Desenvolvimento. Gráficos, Animação e Áudio para Jogos. Inteligência Artificial e Física para Jogos. Teste e avaliação de jogos. Jogos massivos em rede.
Projetar, desenvolver e implementar jogos digitais, aplicando conceitos de game design, programação, animação, inteligência artificial e métodos de engenharia de software, utilizando motores gráficos modernos. Criar jogos interativos e funcionais, compreendendo todo o processo de desenvolvimento, desde a concepção da ideia até a publicação, além de analisar tendências e desafios do mercado de jogos digitais.
Compreender os conceitos fundamentais do desenvolvimento de jogos digitais, incluindo a história, gêneros e fases de produção de um jogo. Aplicar os princípios do design de jogos na criação de mecânicas, regras e interações envolventes para os jogadores. Implementar animações, física e inteligência artificial para criar comportamentos dinâmicos e realistas nos jogos. Projetar interfaces para garantir uma jogabilidade intuitiva e envolvente. Testar e depurar jogos digitais, identificando falhas e aplicando estratégias para otimização de desempenho.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC455 |
Desenvolvimento de Jogos para Dispositivos Móveis |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Sistemas Operacionais, ambientes de desenvolvimento e linguagens de programação para dispositivos móveis. Jogos eletrônicos para computador (games). Jogos em dispositivos móveis. Arquitetura dos games para dispositivos móveis. Matemática e Física para games. Áudio. Inteligência Artificial. Desenvolvimento em ambientes móveis. Estratégias. Loop de Controle do Game. Menus. Teste e avaliação do game. Lançamento e venda.
Dominar técnicas gerais de desenvolvimento de jogos. Aplicar tais técnicas em ambientes de desenvolvimento os sistemas operacionais móveis. Compreender temas críticos para programadores de jogos como codificação de áudio, animação e otimização de aplicativos para sistemas operacionais de dispositivos móveis.
Identificar os principais conceitos, ferramentas e engines utilizados no desenvolvimento de jogos para dispositivos móveis. Compreender os princípios de design, usabilidade e experiência do usuário aplicados a jogos móveis. Aplicar técnicas de programação para implementar mecânicas de jogo interativas e responsivas em dispositivos móveis. Analisar requisitos de desempenho e otimização para garantir a fluidez e eficiência dos jogos em diferentes configurações de hardware. Avaliar estratégias de monetização, publicação e marketing para distribuição de jogos móveis em lojas de aplicativos. Desenvolver um jogo completo para dispositivos móveis, integrando elementos de design, mecânicas, otimização e monetização.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC503 |
Verificação Formal de Software e Sistemas |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos básicos em complexidade computacional de problemas e algoritmos. Computabilidade e complexidade: Problema da Parada: tese de Church-Turing. Máquina de Turing e problemas Indecidíveis x Intratáveis. Problemas NPxP, NP-completos x NP-difíceis. Problema da Satisfatibilidade. Lógica Formal e Autômatos. Lógica Temporal; Algoritmos de enumeração explícita e implícita. Algoritmos aproximativos, heurísticas. Algoritmos de verificação de modelo. Algoritmos de verificação simbólica. Teorias do módulo da satisfatibilidade. Teoria de automata temporizado. Especificação com lógica temporal. Propriedades de Alcançabilidade. Segurança, vivacidade, bloqueio fatal, fairness, justiça. Métodos de abstração de modelos. Síntese indutiva guiada por contra-exemplo. Ferramentas de verificação: SMV, SPIN, DESIGN/CPN, UPPAAL, KRONOS, HYTECH, ESBMC, CBMC, CPAChecker. Noções de aritmética intervalar. Noções de programação por restrições CSP/CP. Algoritmos contratores de domínio de variáveis. Ferramenta IBEX.
Especificar, verificar e sintetizar sistemas de hardware e software. Identificar noções de linguagens formais e autômatos, complexidade e estratégias algorítmicas de verificação e síntese. Descrever processos de síntese, verificação, validação e teste de software, com ênfase em estratégias, técnicas, critérios e ferramentas que podem ser aplicados na construção de software.
Modelar problemas e classificar problemas de acordo com sua complexidade, diferenciando entre NPxP, NP-completos e NP-difíceis. Analisar o problema da Satisfatibilidade (SAT) e suas implicações na verificação formal de sistemas. Aplicar lógica formal e autômatos para especificar propriedades e comportamentos de sistemas. Explorar estratégias algorítmicas tanto de enumeração explícita quanto implícita, via programação matemática ou algoritmos combinatórios, para modelar e verificar propriedades de sistemas. Utilizar métodos de abstração de modelos e síntese indutiva guiada por contra-exemplo para melhorar a eficiência da verificação. Desenvolver soluções usando ferramentas de verificação como ESBMC, SMV, SPIN, CBMC, e outras, para realizar a verificação formal de software e sistemas. Avaliar a confiabilidade, integridade, segurança e outras propriedades críticas, como fairness e justiça, aplicando algoritmos de verificação de modelo. Implementar teorias do módulo da satisfatibilidade e algoritmos de verificação simbólica para tratar de problemas de sistemas complexos. Explorar algoritmos aproximativos e heurísticas para resolver problemas onde a verificação exata não é viável. Aplicar noções de aritmética intervalar e programação por restrições (CSP/CP) para verificação de sistemas com variáveis contínuas. Utilizar ferramentas como IBEX e algoritmos contratores para verificar sistemas com restrições complexas de domínio de variáveis.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC504 |
Técnicas para Verificação, Síntese e Teste de Software |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Visão geral sobre raciocínio automático na verificação formal, síntese e teste de software. Revisão de técnicas de otimização envolvendo algoritmos bioinspirados e meta-heurísticas em geral, como Algoritmos Genéticos e variações, Busca Tabu, Simulated Annealing, GRASP e outros. Revisão de técnicas de inteligência artificial moderna como aprendizado de máquina (não)supervisionado, por reforço, redes neurais e aprendizado profundo. Aplicações na especificação, verificação, síntese e teste de software.
Aplicar técnicas computacionais de otimização e inteligência artificial em processos de verificação, síntese e teste de software. Aplicar modelos e técnicas de aprendizado de máquina, redes neurais, aprendizado profundo para refinar e otimizar a especificação, verificação, síntese ou teste de software.
Explicar o conceito de raciocínio automático e sua relevância no contexto da verificação formal de software. Explorar algoritmos bioinspirados, como Algoritmos Genéticos, Simulated Annealing, GRASP, e Busca Tabu, e sua aplicabilidade em problemas de otimização no teste e verificação de software. Demonstrar a utilização de técnicas de aprendizado de máquina (supervisionado, não supervisionado, por reforço, por (auto)atenção, IA generativa, etc.) na síntese, verificação, teste, correção e transformação de software. Identificar as diferenças entre verificação formal, teste de software e síntese automática, bem como suas inter-relações. Utilizar técnicas de otimização combinatória para melhorar a eficiência e a precisão na verificação e teste de software. Implementar estratégias envolvendo métodos híbridos bioinspirados, de programação matemática e de aprendizado de máquina para solucionar problemas reais na verificação e síntese de software. Desenvolver protótipos de ferramentas que integrem técnicas de IA, raciocínio automático e otimização em processos de teste e verificação de software. Explorar aplicações de técnicas de verificação e síntese automática em sistemas críticos, com foco em segurança e confiabilidade.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC550 |
Tópicos Especiais em Pesquisa em Educação em Computação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Pesquisa em Educação em Computação, a critério do(a) docente.
Identificar a amplitude de tópicos de pesquisa no domínio da Educação em Computação, incluindo filosofias, pesquisas empíricas e projetos de sistemas. Avaliar os diferentes métodos de pesquisa utilizados na área, bem como seus pontos fortes e limitações. Descrever questões abertas e debates na área. Desenvolver uma proposta de pesquisa sobre um tema em aberto no domínio da Educação em Computação.
Identificar as principais questões e desafios na Educação em Computação, com base na literatura científica atual. Explorar metodologias qualitativas, quantitativas e mistas usadas em pesquisas na área de educação em Computação. Propor perguntas de pesquisa relevantes para a área de Educação em Computação, embasadas em lacunas e oportunidades identificadas na literatura. Avaliar criticamente estudos empíricos e teóricos em Educação em Computação, considerando sua metodologia e contribuições para o campo. Desenvolver projetos de pesquisa que investiguem práticas pedagógicas e o uso de tecnologias no ensino de Computação. Criar instrumentos de avaliação para medir a eficácia de estratégias de ensino em Computação, como questionários, entrevistas e experimentos controlados. Discutir questões éticas e de diversidade no ensino de Computação, incluindo aspectos de inclusão e equidade em ambientes de ensino.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC551 |
Tópicos Especiais em Pesquisa em Educação em Computação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Pesquisa em Educação em Computação, a critério do(a) docente.
Identificar a amplitude de tópicos de pesquisa no domínio da Educação em Computação, incluindo filosofias, pesquisas empíricas e projetos de sistemas. Avaliar os diferentes métodos de pesquisa utilizados na área, bem como seus pontos fortes e limitações. Descrever questões abertas e debates na área. Desenvolver uma proposta de pesquisa sobre um tema em aberto no domínio da Educação em Computação.
Identificar as principais questões e desafios na Educação em Computação, com base na literatura científica atual. Explorar metodologias qualitativas, quantitativas e mistas usadas em pesquisas na área de educação em Computação. Propor perguntas de pesquisa relevantes para a área de Educação em Computação, embasadas em lacunas e oportunidades identificadas na literatura. Avaliar criticamente estudos empíricos e teóricos em Educação em Computação, considerando sua metodologia e contribuições para o campo. Desenvolver projetos de pesquisa que investiguem práticas pedagógicas e o uso de tecnologias no ensino de Computação. Criar instrumentos de avaliação para medir a eficácia de estratégias de ensino em Computação, como questionários, entrevistas e experimentos controlados. Discutir questões éticas e de diversidade no ensino de Computação, incluindo aspectos de inclusão e equidade em ambientes de ensino.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEC082 |
Cálculo Numérico |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Sistemas Numéricos: Representação e manipulação de números em sistemas de ponto flutuante. Erros de arredondamento e truncamento. Sistemas Lineares: Métodos numéricos para resolver sistemas lineares, incluindo métodos diretos e iterativos. Interpolação: Interpolação polinomial e suas aplicações. Quadrados Mínimos Lineares: Aplicação dos mínimos quadrados para encontrar uma função que melhor se ajusta a um conjunto de dados. Zeros de Funções Reais: Métodos de busca de raízes de funções, como o método da bisseção, método de Newton-Raphson e método da secante. Integração Numérica: Métodos numéricos para calcular integrais definidas, como regra do trapézio, regra de Simpson e quadratura Gaussiana.
Compreender os princípios teóricos por trás dos métodos numéricos abordados. Desenvolver habilidades na implementação computacional desses métodos. Aplicar os métodos numéricos para resolver problemas práticos em diversas áreas da ciência e engenharia.
Representar números em sistemas de ponto flutuante e identificar fontes de erros como arredondamento e truncamento. Comparar métodos diretos e iterativos para resolver sistemas lineares, como eliminação de Gauss e métodos de Jacobi e Gauss-Seidel. Construir polinômios interpoladores para aproximação de funções e analisar seus erros. Aplicar o método dos mínimos quadrados para ajustar funções a conjuntos de dados. Implementar métodos numéricos para encontrar raízes de funções, como bisseção, Newton-Raphson e secante. Calcular integrais definidas utilizando técnicas como regra do trapézio, Simpson e quadratura Gaussiana. Interpretar resultados numéricos criticamente, considerando limitações e possíveis otimizações.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IHE130 |
Inglês Instrumental I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo do discurso em texto autênticos complexos, tanto de interesse geral quanto específico. Funções comunicativa do texto. Estratégias de leitura. Análise de partes complexas do sistema linguístico-gramatical da língua inglesa. Estudo de informação contida em gráficos, quadros estatísticos e diagramas.
Capacitar o aluno a ler textos nativos em inglês de interesse geral e específico, utilizando técnicas e estratégias que facilitem a compreensão.
Identificar os marcos históricos da educação de surdos no Brasil. Diferenciar as abordagens oralistas, gestuais e bilíngues no ensino de Libras. Aplicar os princípios básicos da estrutura gramatical da Libras em contextos comunicativos. Demonstrar expressões corporais e faciais adequadas para a sinalização. Utilizar a dramatização e a música como recursos pedagógicos no ensino de Libras. Interpretar as leis e políticas públicas que asseguram a inclusão educacional de surdos. Discutir os desafios e avanços na implementação da educação bilíngue para surdos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC004 |
Algoritmos e Estrutura de Dados Avançados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estruturas de dados temporais (persistência e retroatividade), estruturas de dados espaciais, hierarquia de memória, otimalidade dinâmica, hashing, filas de prioridade avançadas, grafos dinâmicos.
Explorar algoritmos e estruturas de dados avançadas, envolvendo estruturas de dados temporais (persistência e retroatividade), estruturas de dados espaciais, hierarquia de memória, otimalidade dinâmica, hashing, filas de prioridade avançadas, grafos dinâmicos.
Compreender e aplicar técnicas avançadas de projeto de algoritmos. Dominar estruturas de dados complexas e suas aplicações. Reconhecer, manipular e aplicar estruturas de dados avançadas na resolução de problemas. Desenvolver habilidades para analisar e otimizar algoritmos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC007 |
Programação para Web |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
A arquitetura da Web: protocolos de comunicação, navegadores e servidores Web. Programação do lado cliente: folhas de estilo, linguagens de marcação, Javascript e Document Object Model. Programação do lado servidor: padrão MVC (Model-View-Controller), persistência e validação de dados, camada de serviços, camada de repositórios, DTOs (Data Transfer Objects). Noções sobre segurança e privacidade de sistemas Web: criptografia de senhas, autenticação e autorização de usuários.
Descrever aspectos teóricos, técnicos, práticos e fundamentais envolvidos no desenvolvimento de aplicações para a Web. Usar tecnologias do lado cliente para implementar interfaces Web dinâmicas e responsivas, seguindo regras básicas de usabilidade e boas práticas de desenvolvimento. Implementar sistemas Web usando tecnologias atuais de desenvolvimento do lado servidor, explorando técnicas de persistência de dados, considerando aspectos como segurança e privacidade. Aplicar padrões de projetos para a Web para implementar códigos com alta legibilidade e manutenibilidade.
Implementar interfaces web dinâmicas e responsivas, seguindo princípios de usabilidade e boas práticas de desenvolvimento. Utilizar o padrão Model-View-Controller (MVC) para organizar e estruturar aplicações web, separando responsabilidades no código. Aplicar técnicas de validação e persistência de dados, garantindo segurança e integridade das informações. Incorporar práticas de segurança em sistemas web, incluindo criptografia, autenticação e autorização, para proteger dados sensíveis dos usuários. Manipular o Document Object Model (DOM) com JavaScript, criando interações avançadas e personalizadas nas páginas. Desenvolver camadas de serviço, utilizando padrões de design e Data Transfer Objects (DTOs) para facilitar a escalabilidade e manutenibilidade do sistema. Debater os impactos éticos e sociais das tecnologias e práticas de desenvolvimento para a web, considerando aspectos como segurança, privacidade e acessibilidade.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC010 |
Programação para Web II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Desenvolvimento Web Full Stack. Desenvolvimento de SPAs (Single-Page Application) para a Web. Sistemas de lado servidor baseados em APIs REST. Documentação de APIs. Verbos HTTP. Códigos de respostas HTTP. Desenvolvimento Frontend. Componentes de interface reutilizáveis. Conteinerização de aplicações Web.
Descrever e discutir as diferenças entre sistemas Web tradicionais e SPAs (Single-Page Applications). Descrever, discutir e implementar sistemas SPAs, explorando aspectos teóricos e práticos sobre o desenvolvimento do lado cliente e do lado servidor. Implementar APIs (Application Programming Interfaces) usando os princípios do estilo arquitetural REST. Implementar aplicações frontend que consumam endpoints de APIs REST e que sejam organizadas em componentes de interface independentes e reutilizáveis. Usar tecnologias de conteinerização de aplicações Web para criar ambientes de execução uniformes e isolados.
Implementar SPAs (Single-Page Applications) usando tecnologias frontend e backend modernas e adotando princípios de componentização. Desenvolver APIs RESTful, aplicando os verbos e códigos de resposta HTTP e usando princípios modernos de design de APIs. Documentar APIs de maneira clara e estruturada para facilitar o uso por desenvolvedores frontend. Construir componentes de interface independentes e reutilizáveis, promovendo modularidade e manutenibilidade do código frontend. Utilizar conteinerização para criar ambientes de execução consistentes e isolados, garantindo portabilidade e escalabilidade das aplicações. Comparar as diferenças arquiteturais entre SPAs e aplicações Web tradicionais, destacando os casos de uso para cada abordagem. Debater impactos éticos e sociais do desenvolvimento de sistemas Web complexos, especialmente no contexto de SPAs e APIs, abordando temas como acessibilidade, privacidade e consumo de dados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC021 |
Prática em Programação I |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC022 |
Prática em Programação II |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC023 |
Prática em Programação III |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC024 |
Prática em Programação IV |
2.2.0.0 |
30h |
0h |
0h |
30h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Atividades práticas de técnicas de programação e estruturas de dados, a critério do docente.
Desenvolver habilidades práticas na implementação de soluções de software. Aplicar conceitos fundamentais de programação em situações práticas e projetos reais. Aprimorar a capacidade de resolver problemas complexos usando técnicas de programação. Colaborar em projetos de programação, exercitando trabalho em equipe e gestão de tempo.
Implementar soluções de software utilizando diferentes linguagens de programação. Praticar técnicas de depuração e otimização de código. Integrar bibliotecas e frameworks para resolver problemas específicos. Desenvolver projetos colaborativos, utilizando controle de versão e boas práticas de desenvolvimento. Testar e validar o funcionamento correto de programas, aplicando metodologias de teste automatizado e manual. Corrigir erros e bugs no código de forma eficiente, utilizando ferramentas e técnicas apropriadas. Aplicar padrões de projeto e boas práticas de programação em implementações práticas. Aprimorar habilidades de leitura e manutenção de código legado em projetos de software. Documentar adequadamente o código desenvolvido, assegurando a clareza e a reprodutibilidade. Explorar diferentes abordagens de solução para problemas complexos de programação, comparando suas vantagens e desvantagens, bem como considerando aspectos éticos, sociais e ambientais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC030 |
Tópicos Especiais em Programação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC031 |
Tópicos Especiais em Programação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC032 |
Tópicos Especiais em Programação III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC033 |
Tópicos Especiais em Programação IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC034 |
Tópicos Especiais em Programação V |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC035 |
Tópicos Especiais em Programação VI |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de programação de computadores, a critério do docente.
Compreender os tópicos emergentes em programação e suas implicações éticas, sociais e ambientais. Aplicar técnicas e ferramentas avançadas para solucionar problemas contemporâneos de programação. Analisar as tendências atuais da área de programação, ambientes e processos de desenvolvimento, controle de versões e depuração. Avaliar questões éticas, sociais e ambientais relacionadas ao desenvolvimento e uso de novas tecnologias de programação.
Explorar ferramentas e bibliotecas recentes que facilitam o desenvolvimento de software moderno. Desenvolver projetos práticos que utilizem técnicas de programação emergentes. Integrar boas práticas de programação com considerações éticas, sociais e ambientais em projetos de software. Debater implicações éticas relacionadas à automação, inteligência artificial e privacidade no contexto da programação. Comparar diferentes abordagens e tecnologias emergentes em termos de critérios tais como eficiência, segurança e sustentabilidade. Propor soluções inovadoras que utilizem novas tecnologias de programação para resolver problemas reais. Refletir sobre o impacto social e ambiental de soluções tecnológicas criadas a partir dos tópicos discutidos em aula.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC036 |
Programação Competitiva I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estratégias de resolução de problemas, técnicas de projeto de algoritmos, estruturas de dados básicas e avançadas, estratégias de competição, leitura técnica de textos, elaboração de especificação de problemas, reconhecimento de padrões e reaproveitamento de código, padronização e boas práticas de codificação, com abordagens individuais e formação de times para práticas de trabalho colaborativo em grupo.
Desenvolver e potencializar a capacidade de resolução de problemas por computador, envolvendo a compreensão, especificação e modelagem de problemas para serem bem resolvidos por computador, por meio de aplicação de técnicas de projeto de algoritmos e estrutura de dados, em diferentes abordagens e desafios.
Desenvolver habilidades para resolver problemas de programação desafiadores, típicos de competições de programação. Promover a boa tomada de decisão usando o ferramental computacional para a resolução de problemas, sob pressão, de modo a refinar habilidades essenciais para um resolvedor de problemas e desenvolvedor diferenciado, tanto para a academia científica quanto para o mercado de trabalho. Resolver problemas de competições de programação, simulando ambientes reais de maratonas e hackathons. Colaborar em equipes para resolver desafios complexos, desenvolvendo habilidades de trabalho em grupo. Manipular conteúdos e tópicos computacionais essenciais para a resolução eficiente de problemas algorítmicos, com foco em competições como Olimpíadas de Informática, Maratonas de Programação e outras competições de programação. Identificar situações em que estruturas de dados avançadas (ex.: árvores balanceadas, filas de prioridades avançadas, tabelas de dispersão) são necessárias para otimizar soluções. Projetar e implementar algoritmos avançados, como os de programação dinâmica, para resolver problemas de otimização. Aplicar algoritmos em grafos (ex.: Dijkstra, Floyd-Warshall, Kruskal) para resolver problemas de caminhos mínimos, conectividade e fluxo. Adaptar soluções para problemas variáveis e atuais em competições de programação, utilizando técnicas inovadoras e analisando a complexidade temporal e/ou espacial dos algoritmos, garantindo eficiência nas soluções propostas. Avaliar soluções alternativas para um mesmo problema, comparando eficiência e clareza de implementação. Explorar ferramentas e plataformas de competição (ex.: Codeforces, TopCoder, LeetCode) para praticar e aprimorar habilidades. Criar problemas e casos de teste para desafios de programação, desenvolvendo a capacidade de pensar criticamente sobre soluções. Revisar códigos de outros competidores, identificando pontos de melhoria e boas práticas. Preparar-se para competições de programação, desenvolvendo estratégias eficazes de resolução sob pressão de tempo e de penalidades diversas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC037 |
Programação Competitiva II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estratégias de resolução de problemas, técnicas de projeto de algoritmos, estruturas de dados básicas e avançadas, estratégias de competição, leitura técnica de textos, elaboração de especificação de problemas, reconhecimento de padrões e reaproveitamento de código, padronização e boas práticas de codificação, com abordagens individuais e formação de times para práticas de trabalho colaborativo em grupo.
Desenvolver e potencializar a capacidade de resolução de problemas por computador, envolvendo a compreensão, especificação e modelagem de problemas para serem bem resolvidos por computador, por meio de aplicação de técnicas de projeto de algoritmos e estrutura de dados, em diferentes abordagens e desafios.
Desenvolver habilidades para resolver problemas de programação desafiadores, típicos de competições de programação. Promover a boa tomada de decisão usando o ferramental computacional para a resolução de problemas, sob pressão, de modo a refinar habilidades essenciais para um resolvedor de problemas e desenvolvedor diferenciado, tanto para a academia científica quanto para o mercado de trabalho. Resolver problemas de competições de programação, simulando ambientes reais de maratonas e hackathons. Colaborar em equipes para resolver desafios complexos, desenvolvendo habilidades de trabalho em grupo. Manipular conteúdos e tópicos computacionais essenciais para a resolução eficiente de problemas algorítmicos, com foco em competições como Olimpíadas de Informática, Maratonas de Programação e outras competições de programação. Identificar situações em que estruturas de dados avançadas (ex.: árvores balanceadas, filas de prioridades avançadas, tabelas de dispersão) são necessárias para otimizar soluções. Projetar e implementar algoritmos avançados, como os de programação dinâmica, para resolver problemas de otimização. Aplicar algoritmos em grafos (ex.: Dijkstra, Floyd-Warshall, Kruskal) para resolver problemas de caminhos mínimos, conectividade e fluxo. Adaptar soluções para problemas variáveis e atuais em competições de programação, utilizando técnicas inovadoras e analisando a complexidade temporal e/ou espacial dos algoritmos, garantindo eficiência nas soluções propostas. Avaliar soluções alternativas para um mesmo problema, comparando eficiência e clareza de implementação. Explorar ferramentas e plataformas de competição (ex.: Codeforces, TopCoder, LeetCode) para praticar e aprimorar habilidades. Criar problemas e casos de teste para desafios de programação, desenvolvendo a capacidade de pensar criticamente sobre soluções. Revisar códigos de outros competidores, identificando pontos de melhoria e boas práticas. Preparar-se para competições de programação, desenvolvendo estratégias eficazes de resolução sob pressão de tempo e de penalidades diversas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC041 |
Introdução à Teoria dos Grafos |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Percursos em Árvores Binárias, Representação de Grafos e Digrafos. Busca em Profundidade, Componentes Biconexos, Componentes Fortemente Conexos, Busca em Largura, Busca em Largura Lexicográfica, Reconhecimento de Grafos Cordais, Busca Irrestrita. Ordenação de vértices, Alteração Estrutural em Grafos, Número Cromático. Algoritmo Guloso, Árvore Geradora Máxima. Planaridade, Reconhecimento de Grafos Planares. Algoritmos de Fluxo Máximo em Redes. Algoritmos para Emparelhamentos.
Compreender os conceitos fundamentais da teoria dos grafos e suas aplicações em computação. Desenvolver habilidades para analisar e resolver problemas utilizando grafos. Aplicar algoritmos clássicos de busca, ordenação e fluxo em grafos. Avaliar a complexidade e eficiência de algoritmos em grafos. Reconhecer propriedades estruturais de grafos, como planaridade e conectividade.
Identificar e representar grafos e digrafos de forma eficiente. Implementar algoritmos de busca em profundidade e largura para percorrer grafos. Reconhecer componentes biconexos e fortemente conexos em grafos. Aplicar algoritmos de ordenação de vértices e alteração estrutural em grafos. Resolver problemas de coloração de grafos utilizando o número cromático. Implementar algoritmos gulosos para encontrar árvores geradoras máximas. Verificar a planaridade de grafos e reconhecer grafos planares. Resolver problemas de fluxo máximo em redes utilizando algoritmos específicos. Aplicar algoritmos para encontrar emparelhamentos em grafos. Analisar e comparar a eficiência de diferentes algoritmos em grafos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC044 |
Compiladores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à compilação. Ferramentas de desenvolvimento de compiladores. Análise léxica, sintática e semântica. Representação intermediária. Otimização de código. Geração de código.
Compreender os fundamentos da compilação e sua relevância para sistemas computacionais. Integrar os conhecimentos teóricos e práticos das etapas de tradução de linguagens para formar uma visão holística do processo de compilação. Desenvolver a capacidade de aplicar ferramentas e técnicas de construção de compiladores na resolução de problemas complexos como o próprio projeto e implementação de um compilador.
Analisar os conceitos e processos envolvidos na introdução à compilação e na tradução de linguagens. Explorar e aplicar ferramentas de desenvolvimento de compiladores. Implementar técnicas de análise léxica, sintática e semântica para a identificação de estruturas e significados em códigos-fonte. Construir representações intermediárias que possibilitem a otimização e a simplificação da tradução de linguagens. Gerar código executável a partir de representações intermediárias, garantindo a correta tradução e execução das instruções. Compreender estratégias de otimização de código visando a eficiência e a melhoria de desempenho dos programas compilados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC045 |
Linguagens de Programação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos, contexto histórico e aspectos de projeto. Visão geral de paradigmas. Visão mais detalhada de paradigmas selecionados como o Funcional, Lógico, Scripting, Paralelo e Distribuído. Tipos e Sistemas de Tipos. Ambientes de Execução e Modelos de Memória. Construtores avançados: programação genérica, introspectiva, reflexiva e metaprogramação. Tradução e Execução. Semântica Dinâmica (operacional, axiomática e denotacional).
Compreender os principais aspectos inerentes ao projeto de linguagens de programação, incluindo os de natureza pragmática, de forma a poder compará-las e avaliá-las. Conhecer as características dos principais paradigmas de linguagens de programação e saber aplicá-los. Compreender tipos e sistemas de tipos e como são implementados. Saber interpretar e descrever formalmente uma linguagem de programação. Compreender os aspectos gerais de implementação de linguagens, sistemas de execução e ferramentas associadas.
Desenvolver a capacidade crítica de análise dos conceitos e tendências históricas que influenciam o projeto das linguagens de programação. Identificar e aplicar os paradigmas de programação, com ênfase nos modelos funcional, lógico, scripting, paralelo e distribuído. Aplicar técnicas de programação genérica, introspectiva, reflexiva e metaprogramação na resolução de problemas. Compreender os ambientes de execução e modelos de memória sob os quais linguagens são projetadas. Implementar processos de tradução e execução visando a compreensão do funcionamento interno das linguagens, o que inclui abordagens e técnicas de especificação de linguagens.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC123 |
Tópicos Especiais em Estatística Aplicada à Computação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área de Estatística Aplicada à Computação, a critério do docente.
Compreender os princípios fundamentais de probabilidade, estatística e técnicas de simulação aplicados à Ciência da Computação, Ciência de Dados e Machine Learning. Aplicar métodos probabilísticos e estatísticos para modelar incertezas e inferir parâmetros em problemas computacionais. Analisar dados de forma crítica para subsidiar a tomada de decisões baseada em evidências estatísticas. Desenvolver simulações computacionais que solucionem problemas complexos em cenários de alta incerteza ou variabilidade. Avaliar a adequação e eficácia de modelos estatísticos e técnicas de simulação em contextos práticos da Ciência da Computação.
Compreender os fundamentos de probabilidade e inferência estatística, aplicando esses conceitos para modelagem de incertezas e tomada de decisões baseada em dados. Utilizar métodos de simulação computacional, como Monte Carlo, explorando suas aplicações na resolução de problemas complexos. Explorar técnicas estatísticas aplicadas à Ciência de Dados e Machine Learning, desde a análise exploratória até a validação de modelos. Interpretar e comunicar resultados estatísticos de forma clara, crítica e eficaz, utilizando visualizações e relatórios adequados. Resolver problemas reais por meio de projetos práticos que integrem teoria e aplicação, com foco em áreas como Inteligência Artificial e Ciência de Dados. Identificar vieses e limitações em análises estatísticas, questionando suposições e propondo soluções robustas para desafios complexos na Ciência da Computação. Desenvolver habilidades analíticas e críticas para avaliar a qualidade e a relevância de modelos estatísticos em contextos práticos.
Essenciais, 1a ed. Alta Books, 2019. ISBN 978-8550806037.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC130 |
Experiência Criativa I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Competências transversais: gestão do tempo, aprendendo a aprender, pensamento crítico, pensamento sistêmico, trabalho em equipe, entre outras. Desenvolvimento de projetos: planejamento, cronograma, execução e testes. Apresentação dos resultados de um projeto.
Desenvolver e apresentar projetos de Computação, integrando disciplinas e seus conteúdos. Promover o desenvolvimento de competências transversais, como pensamento crítico, gestão do tempo, e trabalho em equipe, em contextos contemporâneos e éticos.
Planejar projetos considerando cronogramas, recursos disponíveis e impactos sociais e ambientais. Discutir soluções de computação que respondam a desafios relacionados à diversidade étnico-racial, direitos da população LGBTQIAPN+, mudanças climáticas e segurança alimentar. Avaliar projetos com base em critérios técnicos, éticos e sustentáveis. Trabalhar em equipe para resolver problemas de forma colaborativa e crítica. Apresentar resultados de projetos, comunicando-os de forma inclusiva e acessível a diferentes públicos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC131 |
Experiência Criativa II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Desenvolvimento de competências intermediárias em projetos de computação, como organização, trabalho em equipe e resolução de problemas. Planejamento e execução de projetos com foco em prototipagem simples, testes e validação. Introdução à aplicação de conceitos de diversidade, inclusão e sustentabilidade em soluções computacionais. Apresentação de resultados de forma clara e acessível para diferentes públicos.
Desenvolver projetos de Computação ao nível intermediário, integrando competências técnicas e transversais. Introduzir práticas de prototipagem, testes e validação em projetos, com foco em inclusão e sustentabilidade.
Planejar projetos computacionais intermediários, organizando cronogramas e recursos. Desenvolver protótipos simples utilizando ferramentas básicas de computação. Testar e validar projetos, identificando melhorias a partir de feedbacks. Aplicar conceitos iniciais de diversidade, inclusão e sustentabilidade no desenvolvimento de projetos. Apresentar os resultados de projetos de forma clara, utilizando recursos visuais e comunicação eficaz.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC180 |
Tópicos Especiais em Ciência da Computação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC181 |
Tópicos Especiais em Ciência da Computação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC182 |
Tópicos Avançados em Ciência da Computação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC183 |
Tópicos Avançados em Ciência da Computação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC184 |
Tópicos Especiais em Ciência da Computação III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC185 |
Tópicos Especiais em Ciência da Computação IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC186 |
Tópicos Avançados em Ciência da Computação III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC187 |
Tópicos Avançados em Ciência da Computação IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes na área da Computação, a critério do docente.
Explorar tópicos emergentes e inovadores na área da Computação. Desenvolver a capacidade de analisar criticamente novas tendências e tecnologias. Aplicar conhecimentos teóricos e práticos em contextos multidisciplinares. Integrar conceitos avançados para resolver problemas complexos e atuais.
Identificar as principais tendências e desafios emergentes na área da Computação. Analisar o impacto de novas tecnologias e metodologias no contexto acadêmico e profissional. Implementar soluções práticas para problemas relacionados a tópicos emergentes. Discutir criticamente artigos, estudos de caso e pesquisas recentes na área. Avaliar a viabilidade e aplicabilidade de novas abordagens e ferramentas. Colaborar em projetos multidisciplinares que envolvam tópicos avançados. Apresentar resultados de pesquisas e soluções desenvolvidas de forma clara e persuasiva. Adaptar-se a mudanças tecnológicas rápidas, demonstrando flexibilidade e capacidade de aprendizado contínuo. Explorar ferramentas e frameworks associados a tópicos emergentes. Refletir sobre as implicações éticas, sociais e profissionais das inovações tecnológicas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC220 |
Tópicos Especiais em Bancos de Dados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Exploração de temas avançados e desafios de pesquisa na área de bancos de dados. Investigação de novos modelos, arquiteturas e técnicas para armazenamento, processamento e recuperação de dados. Análise de abordagens emergentes para gestão eficiente de grandes volumes de dados em diferentes contextos. Estudo crítico de trabalhos científicos recentes e identificação de lacunas de pesquisa. Desenvolvimento de propostas experimentais e avaliação de soluções inovadoras. Discussão sobre impactos e direções futuras da pesquisa em bancos de dados.
Identificar e analisar desafios e tendências de pesquisa em bancos de dados. Avaliar criticamente abordagens e soluções propostas na literatura científica. Formular questões de pesquisa relevantes e delinear metodologias para sua investigação. Projetar e implementar experimentos para validar hipóteses e comparar técnicas. Interpretar e comunicar resultados de pesquisa de forma clara e estruturada. Desenvolver habilidades para escrita científica e revisão de trabalhos acadêmicos na área. Refletir sobre o impacto das inovações em bancos de dados no avanço do conhecimento e em aplicações do mundo real.
Explorar e analisar tendências e desafios atuais em pesquisa na área de bancos de dados. Comparar e avaliar diferentes abordagens propostas na literatura científica. Formular questões de pesquisa inovadoras e definir estratégias para sua investigação. Projetar e executar experimentos que validem hipóteses e contribuam para o avanço do conhecimento. Interpretar e sintetizar resultados de pesquisa, elaborando conclusões baseadas em evidências. Desenvolver habilidades de escrita acadêmica e comunicação científica para disseminação de resultados. Debater implicações éticas e impactos sociais do uso e gerenciamento de dados em larga escala. Colaborar de forma produtiva em atividades de pesquisa, respeitando diferentes perspectivas e contribuindo para o desenvolvimento coletivo do conhecimento. Refletir criticamente sobre sua atuação como pesquisador e buscar aprimoramento contínuo na área.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC221 |
Tópicos Avançados em Banco de Dados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Exploração de arquiteturas, modelos e técnicas avançadas para armazenamento, processamento e recuperação de dados. Estudo de tecnologias emergentes e otimizações para bancos de dados distribuídos, transacionais e analíticos. Investigação de estratégias para escalabilidade, consistência, disponibilidade e desempenho. Análise de soluções para processamento de dados em tempo real e integração de múltiplas fontes de dados. Avaliação de novas abordagens para indexação, otimização de consultas e gerenciamento de dados em ambientes de alto desempenho. Discussão sobre avanços tecnológicos e impacto na evolução dos sistemas de gerenciamento de bancos de dados.
Projetar, implementar e otimizar soluções avançadas para armazenamento, processamento e recuperação de dados em ambientes de alto desempenho; identificar e avaliar arquiteturas e tecnologias emergentes em bancos de dados; analisar e comparar diferentes modelos de dados e estratégias de indexação para aplicações escaláveis e distribuídas; desenvolver e testar mecanismos para garantir escalabilidade, consistência, disponibilidade e desempenho em sistemas de gerenciamento de bancos de dados; integrar múltiplas fontes de dados e aplicar técnicas para processamento eficiente de dados em tempo real; interpretar e comunicar resultados técnicos de forma clara e estruturada, promovendo a adoção de inovações tecnológicas na área.
Explorar e implementar arquiteturas avançadas para bancos de dados, considerando aspectos de escalabilidade, consistência e desempenho; avaliar criticamente tecnologias emergentes e suas aplicações em diferentes cenários; projetar e otimizar estratégias para armazenamento, indexação e recuperação de dados em larga escala; integrar e processar dados de múltiplas fontes, aplicando técnicas modernas de gerenciamento de dados; desenvolver e testar soluções para processamento de dados em tempo real, garantindo eficiência e confiabilidade; analisar implicações éticas e impactos sociais do uso e gerenciamento de grandes volumes de dados; colaborar de forma produtiva em equipes multidisciplinares, promovendo a troca de conhecimento e a construção coletiva de soluções inovadoras; comunicar resultados técnicos de forma clara e estruturada, tanto oralmente quanto por meio de documentação técnica e relatórios; refletir sobre sua atuação profissional, buscando aprimoramento contínuo e atualização diante da evolução das tecnologias de bancos de dados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC222 |
Tópicos em Recuperação da Informação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Recuperação da Informação, a critério do(a) docente.
Prover conhecimentos básicos e avançados em tópicos relacionados à área de recuperação de informação. Aplicar esses conhecimentos em problemas práticos.
Praticar conhecimentos específicos relacionados à área de recuperação de informação. Investigar soluções avançadas alternativas existentes na literatura. Elaborar novos métodos e algoritmos relacionados à área de recuperação de informação para resolver problemas práticos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC225 |
Tópicos Especiais em Recuperação da Informação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Recuperação da Informação, a critério do(a) docente.
Prover conhecimentos básicos e avançados em tópicos relacionados à área de recuperação de informação. Aplicar esses conhecimentos em problemas práticos.
Praticar conhecimentos específicos relacionados à área de recuperação de informação. Investigar soluções avançadas alternativas existentes na literatura. Elaborar novos métodos e algoritmos relacionados à área de recuperação de informação para resolver problemas práticos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC226 |
Tópicos Avançados em Recuperação da Informação |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Recuperação da Informação, a critério do(a) docente.
Prover conhecimentos básicos e avançados em tópicos relacionados à área de Recuperação de Informação. Aplicar esses conhecimentos em problemas práticos.
Praticar conhecimentos específicos relacionados à área de recuperação de informação. Investigar soluções avançadas alternativas existentes na literatura. Elaborar novos métodos e algoritmos relacionados à área de recuperação de informação para resolver problemas práticos.
|
Sigla |
Disciplina |
CR |
Carga horária |
|||||||||||||||||||||
T |
P |
E |
TOTAL |
|||||||||||||||||||||
ICC255 |
Inteligência Artificial para Biotecnologia |
4.4.0.0 |
60h |
0h |
0h |
60h |
||||||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Inteligência Artificial Generativa e Modelos de Linguagem de Grande Escala (LLMs): comparação de diferentes LLMs, Engenharia de Prompt; IA e Biotecnologia: Aplicações de LLMs, IA no Ciclo de pesquisa e desenvolvimento (P&D) de Biotecnologia, Modelos de IA para Biotecnologia; Fundamentos: Redes Neurais, Representação Vetorial, Arquitetura de Transformers; Tópicos Avançados: Treinamento contínuo e Fine-Tuning, Geração Aumentada por Recuperação, Agentes; Modelos Multimodais; Desenvolvimento de projetos aplicados em biotecnologia utilizando IA.
Compreender os princípios fundamentais da IA Generativa e dos Modelos de Linguagem de Grande Escala (LLMs), com foco em aplicações na biotecnologia. Desenvolver habilidades práticas para implementar e utilizar modelos avançados de IA em problemas específicos da área. Aplicar técnicas de IA para inovar no desenvolvimento de soluções biotecnológicas, aprimorando pesquisas e processos na área.
Estudar os fundamentos teóricos da IA Generativa; Pesquisar sobre as diferentes arquiteturas de LLMs disponíveis. Realizar experimentos práticos com técnicas de engenharia de prompt. Desenvolver modelos aplicados a casos específicos na biotecnologia. Explorar a estrutura e funcionamento de redes neurais por exemplos práticos. Investigar a arquitetura dos Transformers em detalhes. Implementar treinamento contínuo e fine-tuning em LLMs com datasets de biotecnologia. Praticar o uso de Visual Foundation Models em aplicações de biotecnologia. Utilizar técnicas avançadas como RAG e agentes inteligentes em projetos de pesquisa.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC270 |
Tópicos Especiais em Inteligência Artificial |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Inteligência Artificial, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo da Inteligência Artificial (IA). Aplicar técnicas de IA para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de IA em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de IA avançadas.
Descrever algoritmos e modelos de IA mais recentes. Explicar os princípios de técnicas de IA. Implementar soluções baseadas em IA utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de IA em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de IA em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à IA, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de IA em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC271 |
Tópicos Avançados em Inteligência Artificial |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Inteligência Artificial, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo da Inteligência Artificial (IA). Aplicar técnicas de IA para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de IA em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de IA avançadas.
Descrever algoritmos e modelos de IA mais recentes. Explicar os princípios de técnicas de IA. Implementar soluções baseadas em IA utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de IA em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de IA em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à IA, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de IA em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC272 |
Tópicos Especiais em Inteligência Artificial II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Inteligência Artificial, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo da Inteligência Artificial (IA). Aplicar técnicas de IA para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de IA em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de IA avançadas.
Descrever algoritmos e modelos de IA mais recentes. Explicar os princípios de técnicas de IA. Implementar soluções baseadas em IA utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de IA em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de IA em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à IA, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de IA em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC273 |
Tópicos Avançados em Inteligência Artificial II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Inteligência Artificial, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo da Inteligência Artificial (IA). Aplicar técnicas de IA para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de IA em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de IA avançadas.
Descrever algoritmos e modelos de IA mais recentes. Explicar os princípios de técnicas de IA. Implementar soluções baseadas em IA utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de IA em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de IA em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à IA, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de IA em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC274 |
Tópicos Especiais em Aprendizado de Máquina |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Aprendizado de Máquina, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo do Aprendizado de Máquina. Aplicar técnicas de Aprendizado de Máquina para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de Aprendizado de Máquina em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de Aprendizado de Máquina avançadas.
Descrever algoritmos e modelos de Aprendizado de Máquina mais recentes. Explicar os princípios de técnicas de Aprendizado de Máquina. Implementar soluções baseadas em Aprendizado de Máquina utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de Aprendizado de Máquina em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de Aprendizado de Máquina em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados ao Aprendizado de Máquina, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de Aprendizado de Máquina em projetos interdisciplinares.
5. REFERÊNCIA BIBLIOGRÁFICA BÁSICA
6. REFERÊNCIA BIBLIOGRÁFICA COMPLEMENTAR
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC275 |
Tópicos Avançados em Aprendizado de Máquina |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Aprendizado de Máquina, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo do Aprendizado de Máquina. Aplicar técnicas de Aprendizado de Máquina para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de Aprendizado de Máquina em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de Aprendizado de Máquina avançadas.
Descrever algoritmos e modelos de Aprendizado de Máquina mais recentes. Explicar os princípios de técnicas de Aprendizado de Máquina. Implementar soluções baseadas em Aprendizado de Máquina utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de Aprendizado de Máquina em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de Aprendizado de Máquina em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados ao Aprendizado de Máquina, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de Aprendizado de Máquina em projetos interdisciplinares.
5. REFERÊNCIA BIBLIOGRÁFICA BÁSICA
6. REFERÊNCIA BIBLIOGRÁFICA COMPLEMENTAR
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC276 |
Tópicos Especiais em Processamento de Linguagem Natural |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Processamento de Linguagem Natural, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo do Processamento de Linguagem Natural (PLN). Aplicar técnicas de PLN para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de PLN em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de PLN avançadas.
Descrever algoritmos e modelos de PLN mais recentes. Explicar os princípios de técnicas de PLN. Implementar soluções baseadas em PLN utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de PLN em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de PLN em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à PLN, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de PLN em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC277 |
Tópicos Avançados em Processamento de Linguagem Natural |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Processamento de Linguagem Natural, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo do Processamento de Linguagem Natural (PLN). Aplicar técnicas de PLN para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas do uso de PLN em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias de PLN avançadas.
Descrever algoritmos e modelos de PLN mais recentes. Explicar os princípios de técnicas de PLN. Implementar soluções baseadas em PLN utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de PLN em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de PLN em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à PLN, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de PLN em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC278 |
Tópicos Especiais em Ciência de Dados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Ciência de Dados, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo da Ciência de Dados. Aplicar técnicas de Ciência de Dados para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas da Ciência de Dados em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias avançadas de Ciência de Dados.
Descrever algoritmos e modelos de Ciência de Dados mais recentes. Explicar os princípios de técnicas de Ciência de Dados. Implementar soluções baseadas em Ciência de Dados utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de Ciência de Dados em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de IA em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à Ciência de Dados, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de Ciência de Dados em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC279 |
Tópicos Avançados em Ciência de Dados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Ciência de Dados, a critério do(a) docente.
Compreender os conceitos avançados e emergentes no campo da Ciência de Dados. Aplicar técnicas de Ciência de Dados para resolver problemas complexos em diversas áreas de atuação. Analisar as implicações éticas, sociais, ambientais e econômicas da Ciência de Dados em diferentes contextos. Desenvolver soluções inovadoras utilizando metodologias avançadas de Ciência de Dados.
Descrever algoritmos e modelos de Ciência de Dados mais recentes. Explicar os princípios de técnicas de Ciência de Dados. Implementar soluções baseadas em Ciência de Dados utilizando ferramentas e bibliotecas modernas. Avaliar a eficácia de modelos de Ciência de Dados em termos de desempenho, acurácia e eficiência computacional. Analisar o impacto do uso de IA em áreas como segurança da informação, saúde, transporte e entretenimento. Propor soluções para problemas éticos relacionados à Ciência de Dados, tais como viés algorítmico, propriedade intelectual, proteção de dados, privacidade, segurança, divisão digital de gênero, bem como riscos de viés étnico-racial. Integrar ferramentas e frameworks avançados no desenvolvimento de aplicações de Ciência de Dados em projetos interdisciplinares.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC304 |
Comunicação sem Fio |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução. O conceito de célula. Canal sem fio. Técnicas de múltiplos acessos. Desempenho. Redes locais sem fio. Redes sem fio.
Compreender fundamentos de projeto e avaliação de desempenho de sistemas de comunicação sem fio modernos, incluindo os conceitos de canal sem fio, fundamentos de transmissão em canais sem fio, obstáculos mais comuns às transmissões, protocolos de múltiplos acessos e princípios de funcionamento das tecnologias mais utilizadas na atualidade.
Identificar os principais componentes e fundamentos dos sistemas de comunicação sem fio, incluindo a teoria de radiofrequência (RF) e suas aplicações práticas. Analisar a matemática comumente utilizada em sistemas de comunicação sem fio. Comparar diferentes técnicas de modulação utilizadas em sistemas de comunicação sem fio, avaliando suas vantagens e desvantagens em diferentes cenários. Descrever o funcionamento e as características das antenas utilizadas em sistemas de comunicação sem fio. Examinar os fatores que afetam a propagação de sinais em ambientes sem fio, identificando obstáculos comuns e suas influências na qualidade da comunicação. Desenvolver um projeto simples de um sistema de comunicação sem fio, integrando os conhecimentos adquiridos sobre modulação, antenas e propagação.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC305 |
Avaliação de Desempenho |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Técnicas de avaliação de desempenho. Metodologia geral para estudo de modelagem. Revisão de Estatística e Probabilidade. Medição. Monitoramento e síntese de dados coletados. Modelos de regressão. Projeto de experimentos. Simulação.
Proporcionar aos alunos conhecimentos sobre técnicas e métricas de avaliação de desempenho de sistemas computacionais, desenvolvendo a capacidade de análise crítica e considerando consumo energético, latência, escalabilidade e confiabilidade de tecnologias emergentes. Apresentar metodologias para modelagem, simulação e experimentação de sistemas computacionais.
Entender os fundamentos da avaliação de desempenho de sistemas computacionais. Explorar métricas e técnicas utilizadas na análise de desempenho de sistemas computacionais. Aplicar modelos matemáticos e simulações para prever e otimizar de sistemas computacionais. Avaliar o impacto do consumo energético e estratégias para sua otimização. Compreender ferramentas de monitoramento e benchmarking. Analisar estudos de caso reais de avaliação de desempenho.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC309 |
Redes de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Fundamentos das redes de computadores e sua importância na computação moderna. Arquiteturas e modelos de comunicação: modelo OSI e TCP/IP. Serviços e aplicações em rede: modelo cliente-servidor, aplicações distribuídas, protocolos de aplicação (HTTP, DNS, e-mail). Camada de Transporte: conceitos de comunicação confiável e não confiável, protocolos TCP, UDP e QUIC, controle de fluxo, controle de congestionamento e detecção de erros. Comparação entre TCP e QUIC: multiplexação, segurança integrada e redução de latência. Camada de Rede: endereçamento IP (IPv4 e IPv6), roteamento e encaminhamento de pacotes, protocolos de roteamento (RIP, OSPF, BGP), NAT e CIDR. Camada de Enlace: protocolos de acesso ao meio, Ethernet, Wi-Fi, técnicas de enquadramento e codificação, redes de alta velocidade. Fundamentos da comunicação de dados: modulação, largura de banda, mídias de transmissão e redes físicas.Redes sem fio e comunicação móvel: padrões IEEE 802.11 (Wi-Fi), redes celulares (4G/5G), redes de sensores sem fio e IoT. Questões de segurança, privacidade e ética em redes. Impacto socioeconômico das redes de comunicação e sua evolução.
Explicar os conceitos fundamentais das redes de computadores e sua evolução. Identificar e analisar os protocolos e serviços da camada de aplicação. Avaliar o impacto da latência, largura de banda, confiabilidade e segurança nas aplicações de rede. Comparar os protocolos da camada de transporte e suas aplicações na comunicação confiável e não confiável. Compreender os princípios de funcionamento do roteamento e encaminhamento na camada de rede. Discutir a importância das redes sem fio e sua influência na computação moderna. Avaliar os impactos éticos, ambientais e sociais das redes de computadores.
Implementar aplicações de rede utilizando APIs de sockets. Explicar o funcionamento dos protocolos de aplicação como HTTP, DNS e e-mail. Avaliar as diferenças entre TCP, UDP e QUIC, considerando confiabilidade e desempenho. Explicar os mecanismos de controle de congestionamento, fluxo e erros na camada de transporte. Diferenciar e analisar os principais protocolos de roteamento da camada de rede e suas implicações na escalabilidade. Compreender e aplicar conceitos de redes locais, topologias e protocolos de acesso ao meio. Analisar técnicas de modulação, largura de banda e mídias de transmissão. Explicar o funcionamento das redes sem fio, redes celulares e IoT, considerando padrões IEEE e aplicações emergentes. Avaliar riscos e desafios de segurança, privacidade e ética em redes de comunicação. Desenvolver pensamento crítico e habilidades atitudinais, como trabalho em equipe, comunicação eficaz e responsabilidade socioambiental no uso e implementação de redes.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC310 |
Prática em Redes de Computadores |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Configuração e administração de redes de computadores. Instalação e configuração de sistemas operacionais como clientes e servidores de rede. Gerência de redes e monitoramento de tráfego. Instalação e configuração de dispositivos de rede (hubs, switches, roteadores, dispositivos móveis). Implementação e administração de serviços de rede (DNS, DHCP, SSH, HTTP, SMTP, etc.). Segurança em redes: firewalls, políticas de acesso, VPNs e detecção de intrusões. Práticas de troubleshooting e análise de tráfego de rede utilizando ferramentas especializadas.
Desenvolver competências técnicas para configurar, gerenciar e diagnosticar redes de computadores, aplicando conhecimentos sobre hardware, software e serviços de rede.
Configurar sistemas operacionais para funcionamento em redes locais e distribuídas. Administrar dispositivos de rede, como switches, roteadores e firewalls. Gerenciar serviços essenciais de rede, como DNS, DHCP, SSH, HTTP e SMTP. Monitorar e analisar tráfego de rede utilizando ferramentas como Wireshark e tcpdump. Detectar e corrigir falhas em redes por meio de troubleshooting e ferramentas de diagnóstico. Implementar e validar políticas de segurança em redes, incluindo firewalls e VPNs. Trabalhar em equipe na configuração e administração de infraestruturas de rede. Comunicar relatórios técnicos e análises de desempenho de rede de forma clara e objetiva.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC315 |
Sistemas Distribuídos I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução a sistemas distribuídos; comunicação em sistemas distribuídos; nomeação, sincronização; consistência e replicação de dados; recuperação e tolerância a falhas; segurança; aplicações e estudo de casos.
Compreender os principais conceitos, desafios e algoritmos de sistemas distribuídos.
Identificar os conceitos fundamentais de sistemas distribuídos, incluindo suas características, vantagens e desafios. Explicar os princípios da comunicação em sistemas distribuídos, abordando modelos de interação e protocolos de comunicação. Analisar as técnicas de nomeação, sincronização e coordenação em ambientes distribuídos. Comparar diferentes abordagens de consistência e replicação de dados, avaliando suas vantagens e limitações. Investigar estratégias de recuperação e tolerância a falhas em sistemas distribuídos. Avaliar mecanismos de segurança em sistemas distribuídos, identificando vulnerabilidades e soluções. Aplicar os conceitos estudados no desenvolvimento e análise de aplicações distribuídas por meio de estudos de caso.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC316 |
Fundamentos de Internet das Coisas |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Definição, características e domínios. Projeto físico. Projeto lógico. Tecnologias de base. Padrões de comunicação sem fio. Protocolos. Níveis de sistemas IoT. Plataformas de desenvolvimento. Metodologia de desenvolvimento. Estudo de caso.
Compreender os conceitos de Internet das Coisas e ser capaz de projetar, implementar, testar e utilizar sistemas de Internet das Coisas orientados especificamente para aplicações do mundo real. Explicar a definição e uso do termo Internet das Coisas em diferentes contextos. Distinguir os vários protocolos usados em IoT. Identificar as tecnologias-chave de comunicação sem fio usados em sistemas IoT. Entender o papel de big data, computação em nuvem, e data analytics em um sistema IoT típico e saber implementar uma coleção simples de dados baseada em nuvem e um sistema de análise.
Definir os principais conceitos e características da Internet das Coisas, destacando seus componentes básicos e funcionamento. Descrever os níveis de sistemas IoT, distinguindo entre os aspectos físicos (sensores, atuadores, dispositivos) e lógicos (protocolos, software). Identificar os principais padrões de comunicação sem fio utilizados em IoT, como ZigBee, LoRa, Bluetooth, e Wi-Fi, e seu impacto em diferentes aplicações. Explorar as tecnologias de base, como sensores, atuadores, e microcontroladores (por exemplo, Arduino, ESP32 e Raspberry Pi), que possibilitam o desenvolvimento de projetos IoT. Projetar sistemas físicos e lógicos que integram sensores e atuadores com redes de comunicação para formar sistemas IoT completos. Analisar estudos de caso reais em IoT, avaliando a aplicação das tecnologias discutidas em domínios como monitoramento ambiental, saúde, indústria 4.0 e cidades inteligentes.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC317 |
Programação para Internet das Coisas |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Ambiente de desenvolvimento. Sensores e protocolos. Programando SBC. Conexão com o mundo físico. Rede com MQTT. Conexão com a nuvem.
Compreender os princípios fundamentais, técnicas e ferramentas necessárias para o desenvolvimento de sistemas orientados para a Internet das Coisas. Conhecer as plataformas de hardware e software utilizadas no desenvolvimento de aplicações para IoT. Conhecer os protocolos de comunicação comuns em projetos práticos de IoT. Integrar dispositivos IoT com serviços em nuvem. Projetar e implementar sistemas completos de IoT.
Identificar os principais componentes de um ambiente de desenvolvimento para IoT. Configurar e programar SBCs (Single Board Computers) como Raspberry Pi ou Arduino, interagindo com sensores e atuadores. Implementar conexões entre o mundo físico e dispositivos IoT, utilizando sensores e atuadores para capturar dados e realizar ações. Descrever os principais protocolos de comunicação IoT, como MQTT, explicando sua importância na conectividade entre dispositivos e sistemas. Estabelecer redes de comunicação para IoT, utilizando o protocolo MQTT para a troca de mensagens entre dispositivos em rede. Conectar dispositivos IoT com plataformas de nuvem para armazenar e processar dados, garantindo uma integração eficiente e segura. Testar a comunicação entre dispositivos IoT, verificando o fluxo de dados entre sensores, SBCs e serviços de nuvem. Desenvolver soluções práticas que integrem sensores, redes de comunicação e serviços de nuvem para aplicações reais em IoT. Explorar diferentes ambientes de desenvolvimento e suas ferramentas para otimizar a programação e manutenção de sistemas IoT.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC320 |
Tópicos Especiais em Redes de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Redes de Computadores, conforme definido pelo instrutor. Exploração de tendências emergentes, novas arquiteturas, protocolos inovadores e desafios técnicos na área. Ênfase na análise crítica de tecnologias e padrões emergentes, bem como no desenvolvimento de soluções para desafios contemporâneos das redes de comunicação. A disciplina envolve leitura e interpretação de artigos científicos, estudos de caso, experimentos práticos e simulações, além de discussões sobre impacto ético, social e ambiental das redes de computadores.
Desenvolver competências técnicas e atitudinais para compreender, analisar e aplicar conceitos avançados em redes de computadores, por meio de pesquisas, experimentações e estudos de caso.
Explicar conceitos avançados em redes de computadores e suas aplicações. Analisar arquiteturas de redes emergentes e protocolos experimentais. Comparar diferentes soluções tecnológicas para redes avançadas. Projetar soluções inovadoras para problemas específicos em redes. Implementar e testar simulações de redes em cenários experimentais. Comunicar resultados de pesquisa de forma clara, objetiva e científica. Trabalhar em equipe, respeitando a diversidade de conhecimentos e ideias. Refletir sobre impactos sociais e éticos das redes e tecnologias emergentes.
4.REFERÊNCIA BIBLIOGRÁFICA BÁSICA
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC322 |
Tópicos Avançados em Redes de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Redes de Computadores, conforme definido pelo instrutor. Exploração de tendências emergentes, novas arquiteturas, protocolos inovadores e desafios técnicos na área. Ênfase na análise crítica de tecnologias e padrões emergentes, bem como no desenvolvimento de soluções para desafios contemporâneos das redes de comunicação. A disciplina envolve leitura e interpretação de artigos científicos, estudos de caso, experimentos práticos e simulações, além de discussões sobre impacto ético, social e ambiental das redes de computadores.
Desenvolver competências técnicas e atitudinais para compreender, analisar e aplicar conceitos avançados em redes de computadores, por meio de pesquisas, experimentações e estudos de caso.
Explicar conceitos avançados em redes de computadores e suas aplicações. Analisar arquiteturas de redes emergentes e protocolos experimentais. Comparar diferentes soluções tecnológicas para redes avançadas. Projetar soluções inovadoras para problemas específicos em redes. Implementar e testar simulações de redes em cenários experimentais. Comunicar resultados de pesquisa de forma clara, objetiva e científica. Trabalhar em equipe, respeitando a diversidade de conhecimentos e ideias. Refletir sobre impactos sociais e éticos das redes e tecnologias emergentes.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC324 |
Tópicos Especiais em Redes de Computadores II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Redes de Computadores, conforme definido pelo instrutor. Exploração de tendências emergentes, novas arquiteturas, protocolos inovadores e desafios técnicos na área. Ênfase na análise crítica de tecnologias e padrões emergentes, bem como no desenvolvimento de soluções para desafios contemporâneos das redes de comunicação. A disciplina envolve leitura e interpretação de artigos científicos, estudos de caso, experimentos práticos e simulações, além de discussões sobre impacto ético, social e ambiental das redes de computadores.
Desenvolver competências técnicas e atitudinais para compreender, analisar e aplicar conceitos avançados em redes de computadores, por meio de pesquisas, experimentações e estudos de caso.
Explicar conceitos avançados em redes de computadores e suas aplicações. Analisar arquiteturas de redes emergentes e protocolos experimentais. Comparar diferentes soluções tecnológicas para redes avançadas. Projetar soluções inovadoras para problemas específicos em redes. Implementar e testar simulações de redes em cenários experimentais. Comunicar resultados de pesquisa de forma clara, objetiva e científica. Trabalhar em equipe, respeitando a diversidade de conhecimentos e ideias. Refletir sobre impactos sociais e éticos das redes e tecnologias emergentes.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC325 |
Tópicos Avançados em Redes de Computadores II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Redes de Computadores, conforme definido pelo instrutor. Exploração de tendências emergentes, novas arquiteturas, protocolos inovadores e desafios técnicos na área. Ênfase na análise crítica de tecnologias e padrões emergentes, bem como no desenvolvimento de soluções para desafios contemporâneos das redes de comunicação. A disciplina envolve leitura e interpretação de artigos científicos, estudos de caso, experimentos práticos e simulações, além de discussões sobre impacto ético, social e ambiental das redes de computadores.
Desenvolver competências técnicas e atitudinais para compreender, analisar e aplicar conceitos avançados em redes de computadores, por meio de pesquisas, experimentações e estudos de caso.
Explicar conceitos avançados em redes de computadores e suas aplicações. Analisar arquiteturas de redes emergentes e protocolos experimentais. Comparar diferentes soluções tecnológicas para redes avançadas. Projetar soluções inovadoras para problemas específicos em redes. Implementar e testar simulações de redes em cenários experimentais. Comunicar resultados de pesquisa de forma clara, objetiva e científica. Trabalhar em equipe, respeitando a diversidade de conhecimentos e ideias. Refletir sobre impactos sociais e éticos das redes e tecnologias emergentes.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC330 |
Fundamentos de Cibersegurança e Desenvolvimento Seguro |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos e princípios de cibersegurança; diferenciação de segurança da informação e de redes de computadores; vulnerabilidades e CVSS (Common Vulnerability Scoring System); principais ameaças e ataques de redes e sistemas; mecanismos de filtragem de tráfego (firewall) e VPN; criptografia; protocolos de segurança e IPSec; IDS, IPS e SIEM. OWASP; segurança no desenvolvimento de softwares; modelos de especificação da segurança; segurança no ambiente de desenvolvimento; segurança no ciclo de vida de desenvolvimento da aplicação; garantia da segurança da aplicação; boas práticas para construção de aplicações funcionais e seguras.
Entender a importância da cibersegurança no mundo de hoje, seja no contexto pessoal ou corporativo. Identificar os conceitos, protocolos e tecnologias ligadas à cibersegurança. Aplicar as melhores práticas e mecanismos relacionados à cibersegurança. Entender e aplicar as melhores práticas no desenvolvimento seguro de software, inclusive verificando seus impactos no ambiente corporativo.
Identificar os conceitos fundamentais da cibersegurança, diferenciando a segurança da informação e a segurança de redes. Analisar vulnerabilidades, ameaças e ataques em redes e sistemas, utilizando metodologias como o CVSS e diretrizes do OWASP. Implementar mecanismos de proteção, como firewalls, VPNs, criptografia e protocolos de segurança, para mitigar riscos cibernéticos. Avaliar a segurança no ciclo de vida do desenvolvimento de software, aplicando modelos e boas práticas para garantir aplicações seguras. Desenvolver soluções seguras, integrando técnicas de proteção desde a especificação até a implementação e manutenção de sistemas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC331 |
Introdução à Cibersegurança |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos e princípios de cibersegurança, incluindo vulnerabilidades, ameaças e ataques. Diferenciação de segurança da informação e de redes de computadores. Introdução à privacidade de dados. Principais problemas em cibersegurança. Tecnologias e soluções de proteção em cibersegurança e privacidade. Boas práticas e cultura de cibersegurança. Política de segurança e Auditoria.
Apresentar uma visão da área de cibersegurança, explorando os fundamentos da segurança da informação e privacidade de dados, os conceitos essenciais, as tecnologias de proteção e as boas práticas, promovendo a cultura de cibersegurança e permitindo aos alunos uma vivência prática no uso e implementação de ferramentas e soluções para cibersegurança.
Compreender os conceitos e princípios fundamentais da cibersegurança, diferenciando a segurança da informação da segurança de redes de computadores. Analisar vulnerabilidades, ameaças e ataques em ambientes digitais, avaliando seus impactos e desafios para cibersegurança e privacidade de dados. Aplicar tecnologias e soluções de proteção em cibersegurança, utilizando ferramentas para mitigação de riscos e defesa contra ataques cibernéticos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC332 |
Segurança Web |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Princípios de navegação e segurança da web, modelo de segurança do navegador, OWASP Top 10 e OWASP API Top 10, ataques e contramedidas, privacidade, fingerprint, ameaças emergentes.
Apresentar uma visão abrangente sobre a segurança em aplicações web, explorando a fundamentação teórica da área e abordando os ataques mais comuns e suas respectivas contramedidas, permitindo aos alunos uma vivência prática no projeto, uso e implementação de ferramentas e soluções para segurança de aplicações e sistemas Web.
Compreender os princípios fundamentais de navegação e segurança da web, analisando o modelo de segurança do navegador e suas implicações na proteção de aplicações web. Identificar vulnerabilidades em aplicações web com base nas listas OWASP Top 10 e OWASP API Top 10, avaliando os riscos associados a cada tipo de ataque. Aplicar técnicas e contramedidas para mitigar ataques comuns, utilizando ferramentas e práticas recomendadas para aumentar a segurança de sistemas web. Analisar questões de privacidade e fingerprinting na web, investigando os impactos dessas técnicas na segurança e anonimato dos usuários. Explorar ameaças emergentes no cenário da segurança web, desenvolvendo soluções inovadoras para minimizar riscos e proteger aplicações contra novos vetores de ataque.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC333 |
Fundamentos de Criptografia |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Criptografia (história e evolução da criptografia, princípios fundamentais, ataques criptográficos e desafios atuais); Criptografia Simétrica (conceitos, algoritmos clássicos e modernos); Criptografia Assimétrica (fundamentos de chave pública, principais algoritmos, infraestrutura de chaves públicas e certificados digitais); Funções Hash e Autenticação; Protocolos Criptográficos e Aplicações; Criptografia Quântica; Tendências Futuras.
Apresentar os conceitos fundamentais da criptografia, explorando desde os princípios teóricos até a aplicação prática de algoritmos e protocolos de segurança, permitindo aos alunos compreender e implementar mecanismos criptográficos para garantir a confidencialidade, integridade, autenticidade e não repúdio das informações.
Compreender os princípios fundamentais da criptografia, analisando sua evolução histórica, conceitos básicos e aplicações na segurança da informação. Aplicar algoritmos criptográficos simétricos e assimétricos, implementando técnicas de cifragem, decifragem e assinatura digital em cenários práticos. Analisar a segurança de funções hash e protocolos criptográficos, avaliando sua eficácia na proteção da confidencialidade, integridade e autenticidade das informações. Explorar tendências emergentes em criptografia, investigando o impacto da computação quântica e os desafios da segurança em um cenário pós-quântico.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC350 |
Introdução aos Sistemas Embarcados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos, definições e características de sistemas embarcados. Arquiteturas de sistemas embarcados, estrutura básica de hardware e protocolos de comunicação. Ciclo de vida de desenvolvimento de sistemas embarcados. Ambientes de programação, linguagens de programação para sistemas embarcados, configuração de ambientes de desenvolvimento, compilação e depuração. Interação hardware/software, controle de periféricos, manipulação de sinais de entrada e saída, interrupções e temporizadores. Internet das coisas. Aplicações de sistemas embarcados e exemplos práticos em diversas áreas. Tendências e desafios atuais em sistemas embarcados e perspectivas futuras.
Compreender os conceitos básicos de sistemas embarcados, incluindo suas características, componentes, arquiteturas, metodologias e aplicações em diferentes contextos.
Compreender os conceitos, definições e características fundamentais de sistemas embarcados. Identificar os principais componentes de sistemas embarcados reconhecendo suas funções e aplicações. Analisar arquiteturas de sistemas embarcados, compreendendo a estrutura básica de hardware, protocolos de comunicação e suas implicações no desempenho do sistema. Desenvolver projetos básicos de sistemas embarcados, aplicando metodologias de desenvolvimento, desde a definição de requisitos até a prototipagem e realização de testes. Explorar aplicações práticas de sistemas embarcados em diferentes áreas, considerando tendências tecnológicas, desafios atuais e perspectivas futuras, incluindo a integração com a Internet das Coisas (IoT).
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC351 |
Sistemas de Tempo Real |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução aos sistemas de tempo real. Principais aplicações. Conceitos de programação concorrente: exclusão mútua; semáforos e monitores. Políticas de escalonamento. Sistemas operacionais de tempo real. Troca de mensagens. Programação de sistemas de tempo real. Relação com outras restrições. Metodologias de projeto. Estado da arte em sistemas de tempo real.
Compreender os conceitos fundamentais de sistemas de tempo real, incluindo características, classificações, requisitos temporais, escalonamento, especificação e modelagem.
Programar sistemas de tempo real; entender as necessidades de escalonamento específico para essas classes de sistemas; projetar sistemas de tempo real considerando as diferentes restrições, incluindo as restrições temporais; implementar algoritmos de escalonamento de tarefas em sistemas de tempo real, garantindo o cumprimento de prazos; analisar o comportamento temporal de sistemas de tempo real, identificando possíveis gargalos; e avaliar o desempenho de sistemas de tempo real utilizando métricas apropriadas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC360 |
Prática em Sistemas Embarcados I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Desenvolvimento de atividades práticas relacionadas aos avanços mais recentes em Sistemas Embarcados, a critério do instrutor.
Compreender os conceitos fundamentais e as tendências atuais em sistemas embarcados. Desenvolver habilidades práticas para a implementação de soluções em sistemas embarcados. Analisar as restrições e desafios comuns nessa área. Aplicar metodologias de desenvolvimento e prototipagem em projetos reais. Avaliar criticamente as tecnologias emergentes e sua integração em sistemas embarcados.
Aplicar metodologias de desenvolvimento no projeto e prototipagem de sistemas embarcados; explorar tendências e inovações tecnológicas no campo de sistemas embarcados; integrar tecnologias emergentes em sistemas embarcados para otimizar funcionalidades; simular cenários de operação de sistemas embarcados para prever o comportamento e identificar possíveis falhas; documentar todas as etapas do desenvolvimento de sistemas embarcados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC361 |
Prática em Sistemas Embarcados II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Desenvolvimento de atividades práticas relacionadas aos avanços mais recentes em Sistemas Embarcados, a critério do instrutor.
Compreender os conceitos fundamentais e as tendências atuais em sistemas embarcados. Desenvolver habilidades práticas para a implementação de soluções em sistemas embarcados. Analisar as restrições e desafios comuns nessa área. Aplicar metodologias de desenvolvimento e prototipagem em projetos reais. Avaliar criticamente as tecnologias emergentes e sua integração em sistemas embarcados.
Aplicar metodologias de desenvolvimento no projeto e prototipagem de sistemas embarcados; explorar tendências e inovações tecnológicas no campo de sistemas embarcados; integrar tecnologias emergentes em sistemas embarcados para otimizar funcionalidades; simular cenários de operação de sistemas embarcados para prever o comportamento e identificar possíveis falhas; documentar todas as etapas do desenvolvimento de sistemas embarcados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC370 |
Tópicos Especiais em Sistemas Embarcados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Sistemas Embarcados, a critério do(a) docente.
Identificar a amplitude de tópicos de pesquisa no domínio dos Sistemas Embarcados, incluindo pesquisas empíricas e projetos de sistemas. Avaliar os diferentes métodos de pesquisa utilizados na área, bem como seus pontos fortes e limitações. Descrever questões abertas e debates na área. Desenvolver uma proposta de pesquisa sobre um tema em aberto no domínio dos Sistemas Embarcados.
Aplicar metodologias de desenvolvimento no projeto e prototipagem de sistemas embarcados. Explorar tendências e inovações tecnológicas no campo de sistemas embarcados. Integrar tecnologias emergentes em sistemas embarcados para otimizar funcionalidades e ampliar aplicações. Projetar soluções embarcadas eficientes, considerando as diferentes restrições dessa classe de sistemas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC371 |
Tópicos Avançados em Sistemas Embarcados |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Sistemas Embarcados, a critério do(a) docente.
Identificar a amplitude de tópicos de pesquisa no domínio dos Sistemas Embarcados, incluindo pesquisas empíricas e projetos de sistemas. Avaliar os diferentes métodos de pesquisa utilizados na área, bem como seus pontos fortes e limitações. Descrever questões abertas e debates na área. Desenvolver uma proposta de pesquisa sobre um tema em aberto no domínio dos Sistemas Embarcados.
Aplicar metodologias de desenvolvimento no projeto e prototipagem de sistemas embarcados. Explorar tendências e inovações tecnológicas no campo de sistemas embarcados. Integrar tecnologias emergentes em sistemas embarcados para otimizar funcionalidades e ampliar aplicações. Projetar soluções embarcadas eficientes, considerando as diferentes restrições dessa classe de sistemas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC372 |
Tópicos Especiais em Arquitetura de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes em Hierarquia de Memória: Memória Cache e Memória Virtual. Pipeline: conceitos básicos, harzards e Tratamento de hazards. Processamento paralelo: conceitos e definições básicos. Interfaces de E/S. Arquiteturas multinúcleo.
Compreender tópicos especiais dos componentes de sistemas computacionais correntes (processador, memória e periféricos). Investigar as relações dos componentes entre si, e entre estes e o sistema operacional. Enfatizar técnicas para alto desempenho dos componentes individuais e do sistema completo.
Entender as relações de compromisso (trade-offs) do desempenhos das diferentes arquiteturas. Entender o impacto da arquitetura no desenvolvimento e execução de software. Se familiarizar com diferentes simuladores para arquitetura.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC373 |
Tópicos Avançados em Arquitetura de Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos emergentes em Hierarquia de Memória: Memória Cache e Memória Virtual. Pipeline: conceitos básicos, harzards e Tratamento de hazards. Processamento paralelo: conceitos e definições básicos. Interfaces de E/S. Arquiteturas multinúcleo.
Compreender tópicos especiais dos componentes de sistemas computacionais correntes (processador, memória e periféricos). Investigar as relações dos componentes entre si, e entre estes e o sistema operacional. Enfatizar técnicas para alto desempenho dos componentes individuais e do sistema completo.
Entender as relações de compromisso (trade-offs) do desempenhos das diferentes arquiteturas. Entender o impacto da arquitetura no desenvolvimento e execução de software. Se familiarizar com diferentes simuladores para arquitetura.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC405 |
Engenharia de Software Experimental |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Engenharia de Software Experimental. Tipos de Estudos Experimentais em Engenharia de Software. Revisões Sistemáticas. Personal Opinion Surveys (pesquisas de opinião). Experimentos Controlados. Estudos de Caso.
Compreender os fundamentos da Engenharia de Software Experimental e sua importância para a pesquisa e a prática da Engenharia de Software. Identificar os diferentes tipos de estudos experimentais e suas aplicações. Aplicar métodos de pesquisa na condução de estudos experimentais. Avaliar a qualidade e a validade de estudos experimentais em Engenharia de Software. Desenvolver habilidades para planejar, conduzir e relatar estudos experimentais.
Definir os conceitos fundamentais da Engenharia de Software Experimental. Explicar os diferentes tipos de estudos experimentais em Engenharia de Software e suas características. Comparar metodologias de pesquisa e suas aplicações em diferentes contextos. Aplicar diretrizes para a condução de revisões sistemáticas na Engenharia de Software. Planejar e executar pesquisas de opinião (Personal Opinion Surveys) para coleta de dados sobre práticas e percepções em Engenharia de Software. Elaborar e conduzir experimentos controlados para avaliação de técnicas, ferramentas e processos de Engenharia de Software. Desenvolver estudos de caso para análise aprofundada de fenômenos na Engenharia de Software. Avaliar a validade e confiabilidade de estudos experimentais.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC406 |
Interação Humano-Computador |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Princípios fundamentais de interação humano-computador. Design centrado no usuário e Avaliação de sistemas interativos: inspeção e testes com usuários. Metodologias e processos para design centrado no usuário. Características físicas e cognitivas do usuário. Acessibilidade e Design para a diversidade de usuários. Acessibilidade e Design Inclusivo. Padrões e diretrizes para acessibilidade, como as Web Content Accessibility Guidelines (WCAG). Tecnologias e recursos que promovem acessibilidade e suporte ao desenvolvimento inclusivo por designers e engenheiros. Estruturas de design inclusivo: reconhecimento de diferenças, design universal e processos participativos. Aspectos legais do design em IHC. Responsabilidade no Design de Sistemas - impacto do design em sustentabilidade, inclusão, segurança e privacidade. Considerações éticas no design de sistemas e soluções. Modelagem de interfaces: cenarização; modelos de tarefas; modelos de usuário; modelos de interação. Concretização do projeto de interface: storyboarding e prototipação de interfaces; ferramentas de apoio à construção de interfaces. Novos paradigmas de interação humano-computador.
Compreender os princípios fundamentais da Interação Humano-Computador e sua importância no design de sistemas interativos. Aplicar metodologias e processos para design centrado no usuário. Analisar as características físicas e cognitivas dos usuários e seu impacto no design de interfaces. Avaliar sistemas interativos por meio de inspeção e testes com usuários. Aplicar diretrizes e padrões de acessibilidade para promover a inclusão e a diversidade no design de interfaces. Compreender aspectos éticos e legais relacionados ao design de sistemas interativos. Desenvolver modelos de interfaces baseados em cenarização, tarefas, usuários e interação. Utilizar ferramentas para storyboarding, prototipação e construção de interfaces. Reconhecer novos paradigmas de interação humano-computador.
Definir os conceitos fundamentais de Interação Humano-Computador. Explicar os princípios do design centrado no usuário e sua aplicação no desenvolvimento de sistemas interativos. Identificar e descrever metodologias e processos para a concepção e avaliação de interfaces. Analisar as características físicas e cognitivas dos usuários e sua influência na usabilidade e acessibilidade. Aplicar técnicas de inspeção e testes com usuários para avaliação de sistemas interativos. Implementar diretrizes e padrões, como as Web Content Accessibility Guidelines (WCAG), para garantir acessibilidade e inclusão. Discutir questões éticas e legais envolvidas no design de interfaces e na responsabilidade dos designers. Modelar interfaces utilizando cenarização, modelos de tarefas, modelos de usuário e modelos de interação. Criar storyboards e protótipos de interfaces utilizando ferramentas apropriadas. Explorar novas abordagens e tecnologias emergentes na Interação Humano-Computador.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC408 |
Verificação e Validação de Software |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Fundamentos da qualidade de software. Qualidade do processo. Maturidade do Processo de Software. Qualidade do produto. Inspeção de software. Princípios e técnicas de testes de software: teste de unidade; teste de integração; teste de regressão. Planejamento de Verificação e Validação. Desenvolvimento orientado a testes. Automação dos testes. Geração de casos de teste. Ferramentas de testes. Planos de testes. Testes ágeis. Gerenciamento do processo de testes. Registro e acompanhamento de problemas.
Explicar os fundamentos teóricos de verificação e validação de software, reconhecendo normas e modelos de qualidade de processos. Analisar métodos, técnicas e ferramentas disponíveis para garantir a qualidade do produto de software. Aplicar estratégias de teste em diferentes níveis do ciclo de desenvolvimento. Planejar e executar atividades de verificação e validação, promovendo a automação de testes e o gerenciamento sistemático de falhas.
Descrever os conceitos fundamentais de qualidade de software e maturidade de processos. Diferenciar os tipos de testes de software, como testes de unidade, integração e regressão. Planejar atividades de verificação e validação com base em requisitos de qualidade e riscos do projeto. Implementar testes automatizados e gerar casos de teste com o apoio de ferramentas especializadas. Avaliar a qualidade de produtos e processos a partir de critérios definidos. Utilizar planos de teste para organizar e monitorar a execução das atividades de teste. Registrar e acompanhar defeitos encontrados durante o processo de teste. Justificar o uso de inspeções como técnica de verificação. Colaborar em equipes para desenvolver estratégias de verificação e validação de forma ética e responsável.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC409 |
Sistemas Colaborativos |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Sistemas Colaborativos: definições e conceitos. Modelos de Colaboração, Teoria da Atividade, Teoria dos Jogos e Modelo 3C de Colaboração. Classificação de Sistemas Colaborativos. Sistemas Colaborativos e Ubiquidade. Sistemas Colaborativos Sensíveis a Contextos. Design Centrado no Usuário de Sistemas Colaborativos.
Compreender os fundamentos teóricos e práticos dos Sistemas Colaborativos. Analisar diferentes modelos de colaboração e suas aplicações. Aplicar conceitos de Teoria da Atividade, Teoria dos Jogos e Modelo 3C na concepção de sistemas colaborativos. Avaliar a classificação e os impactos dos sistemas colaborativos em diferentes contextos. Projetar soluções colaborativas considerando aspectos de ubiquidade e sensibilidade ao contexto. Desenvolver abordagens baseadas no Design Centrado no Usuário para o desenvolvimento de Sistemas Colaborativos eficazes.
Definir os principais conceitos relacionados a Sistemas Colaborativos. Identificar os diferentes modelos de colaboração e suas características. Explicar os princípios da Teoria da Atividade, Teoria dos Jogos e Modelo 3C de Colaboração. Categorizar os sistemas colaborativos segundo diferentes taxonomias. Relacionar os conceitos de ubiquidade e sensibilidade ao contexto com Sistemas Colaborativos. Examinar desafios e oportunidades no desenvolvimento de Sistemas Colaborativos Sensíveis a Contexto. Aplicar princípios do Design Centrado no Usuário na concepção de interfaces e interações colaborativas. Avaliar criticamente estudos de caso e aplicações práticas de Sistemas Colaborativos em diferentes domínios.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC412 |
Processo de Desenvolvimento de Software |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos e terminologia. Infraestrutura de processos (pessoas, ferramentas, treinamentos e outros). Modelos de ciclo de vida (ágil, processos “pesados”, cascata, espiral, modelo V e outros). Modelagem e especificação de processos de software. Notação BPMN. Medição e análise de processos de software. Melhoria de processos de software (individual e equipe). Análise e controle de qualidade (prevenção de defeitos, revisão de processos, métricas de qualidade, análise de causa e outros). Níveis de definição de processos. Modelos de processos e padrões (IEEE, ISO e outros). Modelo, definição, medida, análise e melhoria tanto de processo de software individual quanto de equipe. Personalização de processo. Requisitos para processos de software (ISO/IEEE 12207). Detalhada apresentação do MSP.BR (guias). Implementação do MPS.BR. Noções de governança de TI.
Compreender os principais conceitos, terminologias e fundamentos do processo de desenvolvimento de software. Analisar criticamente diferentes modelos de ciclo de vida e padrões de processos de software. Aplicar técnicas e ferramentas para modelagem, especificação, medição e melhoria de processos de software. Avaliar a qualidade de processos e produtos de software por meio de métricas e métodos de análise. Desenvolver habilidades para personalizar processos de software de acordo com requisitos organizacionais e normativos.
Definir conceitos fundamentais e terminologias relacionadas a processos de software. Identificar os principais componentes da infraestrutura de processos, incluindo pessoas, ferramentas e treinamentos. Modelar e especificar processos de software utilizando técnicas e notações adequadas. Medir e analisar processos de software para identificar oportunidades de melhoria. Aplicar métodos e técnicas para melhoria contínua de processos, tanto individuais quanto de equipe. Implementar estratégias para análise e controle de qualidade, incluindo prevenção de defeitos, revisão de processos e uso de métricas. Comparar diferentes níveis de definição de processos e suas aplicações. Examinar modelos de ciclo de vida de software, diferenciando abordagens ágeis e tradicionais. Interpretar padrões e modelos de processos, como IEEE, ISO e MPS.BR. Avaliar requisitos para processos de software conforme normas ISO/IEEE 12207. Analisar a estrutura e os guias do MPS.BR para sua implementação em organizações. Relacionar os conceitos de processos de software com princípios de governança de TI.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC417 |
Gerência de Configuração |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos e terminologia. Processos de gerência de configuração. Itens de configuração. Armazenamento. Controle de mudanças. Controle de versões e linhas-base ou de referência (baselines). Papéis em gerência de configuração. Gerência de configuração segundo desenvolvimento ágil, técnica de builds frequentes e desenvolvimento iterativo. Considerações práticas acerca de gerência de configuração de software. Integração Contínua, Entrega Contínua e Implantação Contínua. Ferramentas utilizadas para automatização do processo de Desenvolvimento de Software.
Elaborar, implementar e praticar a gerência de configuração de software. Compreender os princípios de Integração Contínua, Entrega Contínua e Implementação Contínua. Utilizar ferramentas e técnicas para controle de versões, rastreabilidade e automação no desenvolvimento de software. Aplicar atividades práticas para garantir a qualidade e a eficiência dos processos de configuração de software.
Compreender e aplicar os conceitos, processos e práticas da Gerência de Configuração de Software. Examinar e utilizar ferramentas e técnicas de automação, como Git, Integração Contínua, Entrega Contínua e Implantação Contínua. Analisar a Gerência de Configuração no contexto do desenvolvimento ágil, considerando práticas como builds frequentes, desenvolvimento iterativo e papéis envolvidos no processo.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC418 |
Projetos Práticos em Engenharia de Software |
5 |
0h |
150h |
0h |
150h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Aplicação de ferramentas computacionais modernas utilizadas em diferentes etapas do ciclo de vida do software. Especificação, modelagem, codificação, testes e entrega de soluções. Práticas de integração e entrega contínua. Configuração de ambientes em nuvem. Gerência de configuração e publicação de soluções. Documentação técnica. Trabalho em equipe, comunicação e tomada de decisão em ambientes colaborativos. Elaboração de modelos de sistemas por meio de Linguagem Unificada de Modelagem (UML). Projeto de sistemas com base no modelo de especificação.
Simular um ambiente prático para desenvolvimento de sistemas de informação. Projetar e desenvolver sistemas de informação por meio de práticas integradas de engenharia de software, utilizando ferramentas computacionais modernas, contemplando todas as etapas do ciclo de vida do desenvolvimento e configurando ambientes em nuvem para controle de versão, integração contínua e entrega automatizada de soluções funcionais ao usuário final.
Aplicar conceitos de engenharia de software em atividades práticas que envolvem o ciclo de vida completo de um sistema. Utilizar ferramentas computacionais para análise, modelagem, implementação, teste e publicação de sistemas. Configurar ambientes de desenvolvimento integrados com plataformas de nuvem para controle de versão e automação de deploy. Implementar funcionalidades de software com base em especificações previamente definidas. Testar soluções desenvolvidas por meio de estratégias automatizadas e manuais. Modelar requisitos e arquiteturas de sistemas utilizando técnicas apropriadas. Colaborar em equipes para a construção de soluções, exercitando habilidades de comunicação, tomada de decisão e relacionamento interpessoal. Documentar tecnicamente o processo e os produtos desenvolvidos, garantindo rastreabilidade e clareza. Demonstrar responsabilidade ética e profissional na condução dos projetos, considerando impactos sociais e ambientais. Projetar e implementar soluções de software que considerem requisitos de acessibilidade, promovendo a inclusão de pessoas com deficiência e incorporar práticas de usabilidade ao longo do desenvolvimento.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC420 |
Tópicos Especiais em Engenharia de Software |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Engenharia de Software, a critério do(a) docente.
Explorar tópicos avançados e emergentes na área de Engenharia de Software, considerando tendências, desafios e inovações tecnológicas. Analisar diferentes abordagens, metodologias e práticas na Engenharia de Software, avaliando seus impactos na indústria e na pesquisa. Desenvolver a capacidade de investigação crítica e aplicação de conceitos avançados no desenvolvimento e na gestão de software. Criar propostas de estudo ou experimentação sobre temas em aberto no campo da Engenharia de Software.
Identificar os desafios atuais e tendências emergentes na Engenharia de Software, com base na literatura científica e na prática industrial. Explorar métodos e técnicas de pesquisa aplicados à Engenharia de Software, considerando abordagens qualitativas e quantitativas. Avaliar criticamente estudos empíricos, metodologias e tecnologias aplicadas ao desenvolvimento de software. Aplicar conhecimentos avançados para investigar problemas complexos da Engenharia de Software e propor soluções inovadoras. Desenvolver estudos experimentais, revisões sistemáticas ou propostas de inovação tecnológica relacionadas a tópicos avançados da área. Discutir implicações éticas, sociais e profissionais associadas a novas tendências em Engenharia de Software.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC421 |
Tópicos Avançados em Engenharia de Software |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas avançados em Engenharia de Software, a critério do(a) docente.
Aprofundar o conhecimento em tópicos avançados e inovadores da Engenharia de Software, considerando perspectivas acadêmicas e industriais. Analisar criticamente metodologias, ferramentas e abordagens utilizadas na pesquisa e no desenvolvimento de software. Desenvolver a capacidade de investigação e experimentação sobre temas avançados da área. Aplicar conceitos avançados de Engenharia de Software para propor soluções inovadoras a problemas complexos.
Identificar desafios contemporâneos e tendências emergentes na Engenharia de Software. Explorar técnicas e abordagens avançadas de desenvolvimento, qualidade e gestão de software. Avaliar criticamente a literatura científica e estudos empíricos sobre temas avançados na área. Aplicar metodologias inovadoras no desenvolvimento de software, considerando práticas avançadas de engenharia. Desenvolver propostas de pesquisa, inovação ou experimentação sobre tópicos avançados da Engenharia de Software. Discutir impactos éticos, sociais e profissionais relacionados a novas abordagens e tecnologias na área.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC424 |
Tópicos Especiais em Engenharia de Software II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Engenharia de Software, a critério do(a) docente.
Explorar tópicos avançados e emergentes na área de Engenharia de Software, considerando tendências, desafios e inovações tecnológicas. Analisar diferentes abordagens, metodologias e práticas na Engenharia de Software, avaliando seus impactos na indústria e na pesquisa. Desenvolver a capacidade de investigação crítica e aplicação de conceitos avançados no desenvolvimento e na gestão de software. Criar propostas de estudo ou experimentação sobre temas em aberto no campo da Engenharia de Software.
Identificar os desafios atuais e tendências emergentes na Engenharia de Software, com base na literatura científica e na prática industrial. Explorar métodos e técnicas de pesquisa aplicados à Engenharia de Software, considerando abordagens qualitativas e quantitativas. Avaliar criticamente estudos empíricos, metodologias e tecnologias aplicadas ao desenvolvimento de software. Aplicar conhecimentos avançados para investigar problemas complexos da Engenharia de Software e propor soluções inovadoras. Desenvolver estudos experimentais, revisões sistemáticas ou propostas de inovação tecnológica relacionadas a tópicos avançados da área. Discutir implicações éticas, sociais e profissionais associadas a novas tendências em Engenharia de Software.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC425 |
Tópicos Avançados em Engenharia de Software II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas avançados em Engenharia de Software, a critério do(a) docente.
Aprofundar o conhecimento em tópicos avançados e inovadores da Engenharia de Software, considerando perspectivas acadêmicas e industriais. Analisar criticamente metodologias, ferramentas e abordagens utilizadas na pesquisa e no desenvolvimento de software. Desenvolver a capacidade de investigação e experimentação sobre temas avançados da área. Aplicar conceitos avançados de Engenharia de Software para propor soluções inovadoras a problemas complexos.
Identificar desafios contemporâneos e tendências emergentes na Engenharia de Software. Explorar técnicas e abordagens avançadas de desenvolvimento, qualidade e gestão de software. Avaliar criticamente a literatura científica e estudos empíricos sobre temas avançados na área. Aplicar metodologias inovadoras no desenvolvimento de software, considerando práticas avançadas de engenharia. Desenvolver propostas de pesquisa, inovação ou experimentação sobre tópicos avançados da Engenharia de Software. Discutir impactos éticos, sociais e profissionais relacionados a novas abordagens e tecnologias na área.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC426 |
Tópicos Especiais em Engenharia de Software III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Engenharia de Software, a critério do(a) docente.
Explorar tópicos avançados e emergentes na área de Engenharia de Software, considerando tendências, desafios e inovações tecnológicas. Analisar diferentes abordagens, metodologias e práticas na Engenharia de Software, avaliando seus impactos na indústria e na pesquisa. Desenvolver a capacidade de investigação crítica e aplicação de conceitos avançados no desenvolvimento e na gestão de software. Criar propostas de estudo ou experimentação sobre temas em aberto no campo da Engenharia de Software.
Identificar os desafios atuais e tendências emergentes na Engenharia de Software, com base na literatura científica e na prática industrial. Explorar métodos e técnicas de pesquisa aplicados à Engenharia de Software, considerando abordagens qualitativas e quantitativas. Avaliar criticamente estudos empíricos, metodologias e tecnologias aplicadas ao desenvolvimento de software. Aplicar conhecimentos avançados para investigar problemas complexos da Engenharia de Software e propor soluções inovadoras. Desenvolver estudos experimentais, revisões sistemáticas ou propostas de inovação tecnológica relacionadas a tópicos avançados da área. Discutir implicações éticas, sociais e profissionais associadas a novas tendências em Engenharia de Software.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC427 |
Tópicos Avançados em Engenharia de Software III |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas avançados em Engenharia de Software, a critério do(a) docente.
Aprofundar o conhecimento em tópicos avançados e inovadores da Engenharia de Software, considerando perspectivas acadêmicas e industriais. Analisar criticamente metodologias, ferramentas e abordagens utilizadas na pesquisa e no desenvolvimento de software. Desenvolver a capacidade de investigação e experimentação sobre temas avançados da área. Aplicar conceitos avançados de Engenharia de Software para propor soluções inovadoras a problemas complexos.
Identificar desafios contemporâneos e tendências emergentes na Engenharia de Software. Explorar técnicas e abordagens avançadas de desenvolvimento, qualidade e gestão de software. Avaliar criticamente a literatura científica e estudos empíricos sobre temas avançados na área. Aplicar metodologias inovadoras no desenvolvimento de software, considerando práticas avançadas de engenharia. Desenvolver propostas de pesquisa, inovação ou experimentação sobre tópicos avançados da Engenharia de Software. Discutir impactos éticos, sociais e profissionais relacionados a novas abordagens e tecnologias na área.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC428 |
Tópicos Especiais em Engenharia de Software IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Engenharia de Software, a critério do(a) docente.
Explorar tópicos avançados e emergentes na área de Engenharia de Software, considerando tendências, desafios e inovações tecnológicas. Analisar diferentes abordagens, metodologias e práticas na Engenharia de Software, avaliando seus impactos na indústria e na pesquisa. Desenvolver a capacidade de investigação crítica e aplicação de conceitos avançados no desenvolvimento e na gestão de software. Criar propostas de estudo ou experimentação sobre temas em aberto no campo da Engenharia de Software.
Identificar os desafios atuais e tendências emergentes na Engenharia de Software, com base na literatura científica e na prática industrial. Explorar métodos e técnicas de pesquisa aplicados à Engenharia de Software, considerando abordagens qualitativas e quantitativas. Avaliar criticamente estudos empíricos, metodologias e tecnologias aplicadas ao desenvolvimento de software. Aplicar conhecimentos avançados para investigar problemas complexos da Engenharia de Software e propor soluções inovadoras. Desenvolver estudos experimentais, revisões sistemáticas ou propostas de inovação tecnológica relacionadas a tópicos avançados da área. Discutir implicações éticas, sociais e profissionais associadas a novas tendências em Engenharia de Software.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC429 |
Tópicos Avançados em Engenharia de Software IV |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas avançados em Engenharia de Software, a critério do(a) docente.
Aprofundar o conhecimento em tópicos avançados e inovadores da Engenharia de Software, considerando perspectivas acadêmicas e industriais. Analisar criticamente metodologias, ferramentas e abordagens utilizadas na pesquisa e no desenvolvimento de software. Desenvolver a capacidade de investigação e experimentação sobre temas avançados da área. Aplicar conceitos avançados de Engenharia de Software para propor soluções inovadoras a problemas complexos.
Identificar desafios contemporâneos e tendências emergentes na Engenharia de Software. Explorar técnicas e abordagens avançadas de desenvolvimento, qualidade e gestão de software. Avaliar criticamente a literatura científica e estudos empíricos sobre temas avançados na área. Aplicar metodologias inovadoras no desenvolvimento de software, considerando práticas avançadas de engenharia. Desenvolver propostas de pesquisa, inovação ou experimentação sobre tópicos avançados da Engenharia de Software. Discutir impactos éticos, sociais e profissionais relacionados a novas abordagens e tecnologias na área.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC450 |
Introdução à Computação Gráfica |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Computação Gráfica. Dispositivos Gráficos. OpenGL. Geometria. Modelagem Geométrica. Curvas e Superfícies. Sólidos. Visualização Tridimensional. Recorte. Rasterização. Visibilidade de Superfícies. Modelos de Iluminação. Colorização (shading). Mapeamentos. Cor. Imagem.
Compreender e aplicar os princípios, técnicas e algoritmos fundamentais utilizados na geração, manipulação e renderização de imagens sintéticas por computador e capacitar os alunos a compreender e implementar os principais conceitos de computação gráfica, permitindo que desenvolvam aplicações gráficas interativas.
Aplicar os principais conceitos de renderização, incluindo modelos de iluminação locais e globais, ray tracing e radiosidade. Desenvolver habilidades em bibliotecas gráficas, como OpenGL e WebGL, para a criação de aplicações interativas. Desenvolver os fundamentos da animação computacional e suas aplicações em jogos, simulações e efeitos visuais. Discutir aplicações práticas da computação gráfica em áreas como design, engenharia, medicina, visualização científica e entretenimento.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC451 |
Robótica Móvel Inteligente |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Robótica Móvel Inteligente. Definição e histórico da robótica. Modelos matemáticos de robôs móveis. Cinemática e Dinâmica de Robôs Móveis. Modelos de locomoção e acionamento. Controle de movimento e planejamento de trajetórias. Sensoriamento e Percepção. Sensores para robôs móveis. Processamento e fusão de sensores. Localização e mapeamento. Navegação Autônoma. Planejamento de caminhos. Mapeamento e localização simultâneos (SLAM). Controle de navegação reativa e deliberativa. Inteligência Artificial e Aprendizado de Máquina para Robótica. Redes neurais aplicadas à robótica. Aprendizado por reforço em robôs móveis. Visão computacional para navegação autônoma. Arquiteturas Computacionais e Implementação. Middleware para robótica. Simulação e experimentação com robôs móveis. Integração de algoritmos e sensores em plataformas robóticas. Grupos de robôs. Cooperação.
Compreender os princípios, técnicas e desafios do desenvolvimento e operação de robôs móveis autônomos, integrando conceitos fundamentais de robótica, visão computacional, aprendizado de máquina e inteligência artificial. Aplicar esses conhecimentos na concepção, implementação e controle de sistemas robóticos inteligentes, analisando e avaliando suas soluções em diferentes contextos e desafios do mundo real.
Compreender os modelos matemáticos e os princípios de cinemática e dinâmica de robôs móveis. Analisar e aplicar algoritmos de planejamento de movimento e controle de navegação autônoma. Integrar sensores e processar dados para percepção do ambiente, utilizando técnicas de fusão sensorial e SLAM (Simultaneous Localization and Mapping). Desenvolver arquiteturas de software para robôs móveis. Aplicar métodos de inteligência artificial e aprendizado de máquina para melhorar a autonomia e a capacidade adaptativa dos robôs móveis. Projetar e implementar sistemas robóticos capazes de operar em ambientes dinâmicos e não estruturados, com aplicações em áreas como logística, segurança, monitoramento e veículos autônomos.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC452 |
Visão Computacional |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução à Visão Computacional. História e evolução da área. Aplicações da Visão Computacional. Processamento de Imagens Digitais. Representação digital de imagens. Operações básicas de imagens. Filtros. Transformações geométricas. Técnicas de equalização de histograma. Segmentação de Imagens. Extração e Descrição de Características. Correspondência de características. Detecção e Reconhecimento de Objetos. Classificação de objetos. Redes neurais para reconhecimento de objetos. Localização e rastreamento de objetos em vídeos. Estimação de Movimento e Rastreamento. Fluxo ótico. Reconstrução 3D e Estéreo. Câmeras estéreo: calibração e correspondência de pontos. Reconstrução 3D usando múltiplas imagens. Redes Neurais Convolucionais. Arquitetura das CNNs. Treinamento de redes neurais para tarefas de visão. Transferência de aprendizado e pré-processamento de dados. Visão computacional explicativa, redes neurais generativas, redes adversariais (GANs).
Desenvolver habilidades para implementar soluções computacionais voltadas à percepção visual, explorando abordagens como reconhecimento de padrões, segmentação e reconstrução tridimensional. Analisar e avaliar o uso de algoritmos avançados, incluindo redes neurais e aprendizado de máquina, em aplicações reais, como robótica, automação e sistemas de monitoramento.
Apresentar os fundamentos da Visão Computacional e do processamento de imagens digitais, incluindo operações básicas como filtragem, transformação e segmentação de imagens. Desenvolver competências no uso de redes neurais convolucionais (CNNs) e outros métodos de aprendizado profundo aplicados a tarefas de visão computacional, como classificação e detecção de objetos. Explorar técnicas de estimação de movimento e rastreamento de objetos, utilizando algoritmos como fluxo ótico e filtros de Kalman para análise de vídeos e sequências temporais. Introduzir conceitos de reconstrução 3D, abordando visão estéreo, calibração de câmeras e técnicas de mapeamento tridimensional para ambientes virtuais e robótica. Discutir as principais aplicações de visão computacional, como robótica autônoma, automação industrial, monitoramento de segurança e realidade aumentada.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC453 |
Análise e Tratamento de Imagens e Vídeos Digitais |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Introdução ao processamento de imagens e vídeos digitais. Propriedades das imagens, modelos de cores e modelos de ruído. Técnicas de tratamento e processamento de imagens, incluindo filtragem, transformações geométricas e operações morfológicas. Segmentação de imagens e vídeos. Extração e seleção de características. Introdução aos sistemas de reconhecimento de padrões estatísticos e classificação de imagens. Aprendizado supervisionado e não supervisionado aplicado ao processamento de imagens. Teorema de decisão Bayesiana, funções discriminantes e superfícies de decisão. Transformação afim e noções de profundidade de bits, resolução e Modulation Transfer Function (MTF). Introdução à análise de qualidade de imagens. Aplicações em visão computacional e recuperação de informação a partir de imagens e vídeos.
Conhecer ferramentas utilizadas no tratamento de imagens e vídeos digitais. Utilizar técnicas para aprimorar o desenvolvimento de sistemas computacionais que tratem e processem dados de imagens e vídeos digitais. Investigar as tendências mais recentes em relação a problemas de aplicação.
Implementar algoritmos para filtragem, transformação e segmentação de imagens. Aplicar técnicas de reconhecimento de padrões e aprendizado de máquina para classificação de imagens e vídeos. Comparar diferentes modelos de cores e técnicas de extração de características. Avaliar o impacto de operações morfológicas e transformação afim na manipulação de imagens. Explorar ferramentas e bibliotecas para processamento de imagens, como OpenCV e MATLAB. Analisar aplicações práticas do processamento de imagens em áreas como biometria, medicina e segurança digital.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC454 |
Desenvolvimento de Jogos Digitais |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Tópicos introdutórios ao desenvolvimento de jogos. Linguagens e arquitetura de jogos. Fundamentos de programação aplicados ao desenvolvimento de jogos. Design de Jogos e Mecânicas de Gameplay. Motores Gráficos e Ambientes de Desenvolvimento. Gráficos, Animação e Áudio para Jogos. Inteligência Artificial e Física para Jogos. Teste e avaliação de jogos. Jogos massivos em rede.
Projetar, desenvolver e implementar jogos digitais, aplicando conceitos de game design, programação, animação, inteligência artificial e métodos de engenharia de software, utilizando motores gráficos modernos. Criar jogos interativos e funcionais, compreendendo todo o processo de desenvolvimento, desde a concepção da ideia até a publicação, além de analisar tendências e desafios do mercado de jogos digitais.
Compreender os conceitos fundamentais do desenvolvimento de jogos digitais, incluindo a história, gêneros e fases de produção de um jogo. Aplicar os princípios do design de jogos na criação de mecânicas, regras e interações envolventes para os jogadores. Implementar animações, física e inteligência artificial para criar comportamentos dinâmicos e realistas nos jogos. Projetar interfaces para garantir uma jogabilidade intuitiva e envolvente. Testar e depurar jogos digitais, identificando falhas e aplicando estratégias para otimização de desempenho.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC455 |
Desenvolvimento de Jogos para Dispositivos Móveis |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Sistemas Operacionais, ambientes de desenvolvimento e linguagens de programação para dispositivos móveis. Jogos eletrônicos para computador (games). Jogos em dispositivos móveis. Arquitetura dos games para dispositivos móveis. Matemática e Física para games. Áudio. Inteligência Artificial. Desenvolvimento em ambientes móveis. Estratégias. Loop de Controle do Game. Menus. Teste e avaliação do game. Lançamento e venda.
Dominar técnicas gerais de desenvolvimento de jogos. Aplicar tais técnicas em ambientes de desenvolvimento os sistemas operacionais móveis. Compreender temas críticos para programadores de jogos como codificação de áudio, animação e otimização de aplicativos para sistemas operacionais de dispositivos móveis.
Identificar os principais conceitos, ferramentas e engines utilizados no desenvolvimento de jogos para dispositivos móveis. Compreender os princípios de design, usabilidade e experiência do usuário aplicados a jogos móveis. Aplicar técnicas de programação para implementar mecânicas de jogo interativas e responsivas em dispositivos móveis. Analisar requisitos de desempenho e otimização para garantir a fluidez e eficiência dos jogos em diferentes configurações de hardware. Avaliar estratégias de monetização, publicação e marketing para distribuição de jogos móveis em lojas de aplicativos. Desenvolver um jogo completo para dispositivos móveis, integrando elementos de design, mecânicas, otimização e monetização.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC501 |
Simulação de Eventos Discretos |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Terminologia. Vantagens e desvantagens da simulação. Mecanismos de avanço no tempo. Princípios de modelagem. Métricas de desempenho. Modelos de sistemas de eventos discretos. Modelagem por simulação de eventos discretos. Geração de números aleatórios. Qualidades de um bom gerador. Geração de Variáveis aleatórias discretas. Geração de variáveis aleatórias contínuas. Verificação e validação. Técnicas e erros mais comuns. Amostragem e coleta de dados. Identificação da distribuição teórica de probabilidades. Eliminação do estado transiente. Regras de parada. Métodos de análise. Projeto de experimentos. Estudos de casos.
Capacitar o aluno a modelar, implementar e analisar sistemas dinâmicos discretos por meio de técnicas de simulação, permitindo a compreensão, experimentação e otimização de processos complexos em diferentes domínios.
Compreender os conceitos fundamentais da simulação de eventos discretos, diferenciando-a de outras abordagens de modelagem e simulação. Identificar os componentes e estruturas essenciais de um modelo de simulação, reconhecendo suas aplicações em diferentes áreas. Aplicar métodos de geração de números aleatórios e distribuições estatísticas para representar incertezas em modelos de simulação. Desenvolver modelos de simulação baseados em eventos, processos e atividades, utilizando abordagens adequadas para diferentes cenários. Avaliar a precisão e confiabilidade dos modelos simulados, aplicando testes de validação e verificação. Otimizar processos e cenários simulados, explorando técnicas para aprimorar o desempenho e eficiência dos sistemas modelados.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC503 |
Verificação Formal de Software e Sistemas |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos básicos em complexidade computacional de problemas e algoritmos. Computabilidade e complexidade: Problema da Parada: tese de Church-Turing. Máquina de Turing e problemas Indecidíveis x Intratáveis. Problemas NPxP, NP-completos x NP-difíceis. Problema da Satisfatibilidade. Lógica Formal e Autômatos. Lógica Temporal; Algoritmos de enumeração explícita e implícita. Algoritmos aproximativos, heurísticas. Algoritmos de verificação de modelo. Algoritmos de verificação simbólica. Teorias do módulo da satisfatibilidade. Teoria de automata temporizado. Especificação com lógica temporal. Propriedades de Alcançabilidade. Segurança, vivacidade, bloqueio fatal, fairness, justiça. Métodos de abstração de modelos. Síntese indutiva guiada por contra-exemplo. Ferramentas de verificação: SMV, SPIN, DESIGN/CPN, UPPAAL, KRONOS, HYTECH, ESBMC, CBMC, CPAChecker. Noções de aritmética intervalar. Noções de programação por restrições CSP/CP. Algoritmos contratores de domínio de variáveis. Ferramenta IBEX.
Especificar, verificar e sintetizar sistemas de hardware e software. Identificar noções de linguagens formais e autômatos, complexidade e estratégias algorítmicas de verificação e síntese. Descrever processos de síntese, verificação, validação e teste de software, com ênfase em estratégias, técnicas, critérios e ferramentas que podem ser aplicados na construção de software.
Modelar problemas e classificar problemas de acordo com sua complexidade, diferenciando entre NPxP, NP-completos e NP-difíceis. Analisar o problema da Satisfatibilidade (SAT) e suas implicações na verificação formal de sistemas. Aplicar lógica formal e autômatos para especificar propriedades e comportamentos de sistemas. Explorar estratégias algorítmicas tanto de enumeração explícita quanto implícita, via programação matemática ou algoritmos combinatórios, para modelar e verificar propriedades de sistemas. Utilizar métodos de abstração de modelos e síntese indutiva guiada por contra-exemplo para melhorar a eficiência da verificação. Desenvolver soluções usando ferramentas de verificação como ESBMC, SMV, SPIN, CBMC, e outras, para realizar a verificação formal de software e sistemas. Avaliar a confiabilidade, integridade, segurança e outras propriedades críticas, como fairness e justiça, aplicando algoritmos de verificação de modelo. Implementar teorias do módulo da satisfatibilidade e algoritmos de verificação simbólica para tratar de problemas de sistemas complexos. Explorar algoritmos aproximativos e heurísticas para resolver problemas onde a verificação exata não é viável. Aplicar noções de aritmética intervalar e programação por restrições (CSP/CP) para verificação de sistemas com variáveis contínuas. Utilizar ferramentas como IBEX e algoritmos contratores para verificar sistemas com restrições complexas de domínio de variáveis.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC504 |
Técnicas para Verificação, Síntese e Teste de Software |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Visão geral sobre raciocínio automático na verificação formal, síntese e teste de software. Revisão de técnicas de otimização envolvendo algoritmos bioinspirados e meta-heurísticas em geral, como Algoritmos Genéticos e variações, Busca Tabu, Simulated Annealing, GRASP e outros. Revisão de técnicas de inteligência artificial moderna como aprendizado de máquina (não)supervisionado, por reforço, redes neurais e aprendizado profundo. Aplicações na especificação, verificação, síntese e teste de software.
Aplicar técnicas computacionais de otimização e inteligência artificial em processos de verificação, síntese e teste de software. Aplicar modelos e técnicas de aprendizado de máquina, redes neurais, aprendizado profundo para refinar e otimizar a especificação, verificação, síntese ou teste de software.
Explicar o conceito de raciocínio automático e sua relevância no contexto da verificação formal de software. Explorar algoritmos bioinspirados, como Algoritmos Genéticos, Simulated Annealing, GRASP, e Busca Tabu, e sua aplicabilidade em problemas de otimização no teste e verificação de software. Demonstrar a utilização de técnicas de aprendizado de máquina (supervisionado, não supervisionado, por reforço, por (auto)atenção, IA generativa, etc.) na síntese, verificação, teste, correção e transformação de software. Identificar as diferenças entre verificação formal, teste de software e síntese automática, bem como suas inter-relações. Utilizar técnicas de otimização combinatória para melhorar a eficiência e a precisão na verificação e teste de software. Implementar estratégias envolvendo métodos híbridos bioinspirados, de programação matemática e de aprendizado de máquina para solucionar problemas reais na verificação e síntese de software. Desenvolver protótipos de ferramentas que integrem técnicas de IA, raciocínio automático e otimização em processos de teste e verificação de software. Explorar aplicações de técnicas de verificação e síntese automática em sistemas críticos, com foco em segurança e confiabilidade.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC550 |
Tópicos Especiais em Pesquisa em Educação em Computação I |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Pesquisa em Educação em Computação, a critério do(a) docente.
Identificar a amplitude de tópicos de pesquisa no domínio da Educação em Computação, incluindo filosofias, pesquisas empíricas e projetos de sistemas. Avaliar os diferentes métodos de pesquisa utilizados na área, bem como seus pontos fortes e limitações. Descrever questões abertas e debates na área. Desenvolver uma proposta de pesquisa sobre um tema em aberto no domínio da Educação em Computação.
Identificar as principais questões e desafios na Educação em Computação, com base na literatura científica atual. Explorar metodologias qualitativas, quantitativas e mistas usadas em pesquisas na área de educação em Computação. Propor perguntas de pesquisa relevantes para a área de Educação em Computação, embasadas em lacunas e oportunidades identificadas na literatura. Avaliar criticamente estudos empíricos e teóricos em Educação em Computação, considerando sua metodologia e contribuições para o campo. Desenvolver projetos de pesquisa que investiguem práticas pedagógicas e o uso de tecnologias no ensino de Computação. Criar instrumentos de avaliação para medir a eficácia de estratégias de ensino em Computação, como questionários, entrevistas e experimentos controlados. Discutir questões éticas e de diversidade no ensino de Computação, incluindo aspectos de inclusão e equidade em ambientes de ensino.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC551 |
Tópicos Especiais em Pesquisa em Educação em Computação II |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Estudo de temas emergentes em Pesquisa em Educação em Computação, a critério do(a) docente.
Identificar a amplitude de tópicos de pesquisa no domínio da Educação em Computação, incluindo filosofias, pesquisas empíricas e projetos de sistemas. Avaliar os diferentes métodos de pesquisa utilizados na área, bem como seus pontos fortes e limitações. Descrever questões abertas e debates na área. Desenvolver uma proposta de pesquisa sobre um tema em aberto no domínio da Educação em Computação.
Identificar as principais questões e desafios na Educação em Computação, com base na literatura científica atual. Explorar metodologias qualitativas, quantitativas e mistas usadas em pesquisas na área de educação em Computação. Propor perguntas de pesquisa relevantes para a área de Educação em Computação, embasadas em lacunas e oportunidades identificadas na literatura. Avaliar criticamente estudos empíricos e teóricos em Educação em Computação, considerando sua metodologia e contribuições para o campo. Desenvolver projetos de pesquisa que investiguem práticas pedagógicas e o uso de tecnologias no ensino de Computação. Criar instrumentos de avaliação para medir a eficácia de estratégias de ensino em Computação, como questionários, entrevistas e experimentos controlados. Discutir questões éticas e de diversidade no ensino de Computação, incluindo aspectos de inclusão e equidade em ambientes de ensino.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC900 |
Informática Instrumental |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos Básicos de Informática: o computador, seus componentes e sua importância no mundo atual; ambientes operacionais; internet, computação em nuvem e ferramentas de busca. Ferramentas de Produtividade: ferramentas que auxiliam a organização e gerenciamento de seu tempo. Editores de Texto: softwares e regras ABNT para a correta formatação de trabalhos acadêmicos. Editores de Apresentação: requisitos para uma boa apresentação de um trabalho acadêmico e os principais softwares disponíveis para este fim. Editores de Planilhas: principais funções disponíveis e utilização de recursos como ordenação e geração de gráficos.
Compreender os fundamentos da informática e sua aplicabilidade no contexto acadêmico e profissional. Desenvolver habilidades no uso de ferramentas tecnológicas para melhorar a produtividade, organização e apresentação de trabalhos acadêmicos.
Reconhecer os componentes de um computador e seu funcionamento básico, além da importância da tecnologia no mundo atual. Explorar os principais ambientes operacionais e suas funcionalidades básicas. Utilizar a internet de forma eficiente, incluindo ferramentas de busca e soluções de computação em nuvem. Aplicar ferramentas de produtividade para gerenciar tempo e tarefas. Formatar trabalhos acadêmicos de acordo com as normas ABNT utilizando editores de texto. Elaborar apresentações acadêmicas com base em boas práticas de design e conteúdo, utilizando editores de apresentação. Manipular dados em planilhas eletrônicas, utilizando funções, ordenação e geração de gráficos para análise de informações.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC901 |
Introdução à Programação de Computadores |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
1. Introdução à construção de algoritmos; tipos de dados (inteiros, reais, lógicos, strings, etc.). 2. Operadores e expressões aritméticas, operadores relacionais, operadores e expressões lógicas. 3. Estrutura de programação sequencial: variáveis; identificadores; operadores de atribuição; entrada e saída de dados; erros de sintaxe e de lógica. 4. Estruturas de controle condicional: condicional simples (if-then); condicional composta (if-then-else); comandos condicionais encadeados; comando de seleção. 5. Estruturas de repetição: repetição por condição; repetição por contagem. 6. Estruturas de dados básicas como, por exemplo, listas, vetores, matrizes, dicionários, etc.
Auxiliar os alunos a aprenderem a resolver problemas algorítmicos. Oferecer a capacidade de elaborar, verificar e implementar algoritmos em uma linguagem de programação de alto nível. Ao final da disciplina os alunos deverão estar aptos a elaborar programas para manipular estruturas de dados básicas armazenadas em memória principal.
Utilizar um ambiente de desenvolvimento de código de programação, compilando e executando códigos em uma linguagem de programação; avaliar e aplicar estruturas condicionais e de repetição para controlar o fluxo de programas; manipular estruturas de dados simples; interpretar problemas de programação e desenvolver programas para resolvê-los.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC903 |
Geração e Uso de Banco de Dados |
3.3.0.0 |
45h |
0h |
0h |
45h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos básicos. Organização de dados. Modelagem de dados. Modelos de dados. Projeto e implementação de base de dados. Sistemas de recuperação de base de dados.
Compreender os conceitos fundamentais de bancos de dados e sua importância no contexto da Computação. Analisar os princípios de organização e modelagem de dados para aplicações diversas. Aplicar técnicas de projeto e implementação de bases de dados em cenários reais. Avaliar sistemas de recuperação de dados e sua eficiência em diferentes contextos.
Definir os conceitos básicos de bancos de dados, como entidades, atributos e relacionamentos. Comparar diferentes modelos de dados, como relacional, NoSQL e orientado a objetos. Projetar esquemas de bancos de dados utilizando ferramentas de modelagem. Implementar bases de dados em sistemas de gerenciamento (SGBDs). Validar a integridade e consistência dos dados por meio de normalização e restrições. Operar comandos de consulta e manipulação de dados (SQL ou linguagens equivalentes). Examinar técnicas de recuperação de dados, incluindo backup, restauração e tolerância a falhas. Resolver problemas práticos relacionados ao desempenho e otimização de consultas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEC037 |
Introdução à Programação de Computadores |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
1. Introdução à construção de algoritmos; tipos de dados (inteiros, reais, lógicos, strings, etc.). 2. Operadores e expressões aritméticas, operadores relacionais, operadores e expressões lógicas. 3. Estrutura de programação sequencial: variáveis; identificadores; operadores de atribuição; entrada e saída de dados; erros de sintaxe e de lógica. 4. Estruturas de controle condicional: condicional simples (if-then); condicional composta (if-then-else); comandos condicionais encadeados; comando de seleção. 5. Estruturas de repetição: repetição por condição; repetição por contagem. 6. Estruturas de dados básicas como, por exemplo, listas, vetores, matrizes, dicionários, etc.
Auxiliar os alunos a aprenderem a resolver problemas algorítmicos. Oferecer a capacidade de elaborar, verificar e implementar algoritmos em uma linguagem de programação de alto nível. Ao final da disciplina os alunos deverão estar aptos a elaborar programas para manipular estruturas de dados básicas armazenadas em memória principal.
Utilizar um ambiente de desenvolvimento de código de programação, compilando e executando códigos em uma linguagem de programação; avaliar e aplicar estruturas condicionais e de repetição para controlar o fluxo de programas; manipular estruturas de dados simples; interpretar problemas de programação e desenvolver programas para resolvê-los.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEC048 |
Geração e Uso de Banco de Dados |
3.3.0.0 |
45h |
0h |
0h |
45h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos básicos. Organização de dados. Modelagem de dados. Modelos de dados. Projeto e implementação de base de dados. Sistemas de recuperação de base de dados.
Compreender os conceitos fundamentais de bancos de dados e sua importância no contexto da Computação. Analisar os princípios de organização e modelagem de dados para aplicações diversas. Aplicar técnicas de projeto e implementação de bases de dados em cenários reais. Avaliar sistemas de recuperação de dados e sua eficiência em diferentes contextos.
Definir os conceitos básicos de bancos de dados, como entidades, atributos e relacionamentos. Comparar diferentes modelos de dados, como relacional, NoSQL e orientado a objetos. Projetar esquemas de bancos de dados utilizando ferramentas de modelagem. Implementar bases de dados em sistemas de gerenciamento (SGBDs). Validar a integridade e consistência dos dados por meio de normalização e restrições. Operar comandos de consulta e manipulação de dados (SQL ou linguagens equivalentes). Examinar técnicas de recuperação de dados, incluindo backup, restauração e tolerância a falhas. Resolver problemas práticos relacionados ao desempenho e otimização de consultas.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEC081 |
Introdução à Ciência dos Computadores |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
1. Introdução à construção de algoritmos; tipos de dados (inteiros, reais, lógicos, strings, etc.). 2. Operadores e expressões aritméticas, operadores relacionais, operadores e expressões lógicas. 3. Estrutura de programação sequencial: variáveis; identificadores; operadores de atribuição; entrada e saída de dados; erros de sintaxe e de lógica. 4. Estruturas de controle condicional: condicional simples (if-then); condicional composta (if-then-else); comandos condicionais encadeados; comando de seleção. 5. Estruturas de repetição: repetição por condição; repetição por contagem. 6. Estruturas de dados básicas como, por exemplo, listas, vetores, matrizes, dicionários, etc.
Auxiliar os alunos a aprenderem a resolver problemas algorítmicos. Oferecer a capacidade de elaborar, verificar e implementar algoritmos em uma linguagem de programação de alto nível. Ao final da disciplina os alunos deverão estar aptos a elaborar programas para manipular estruturas de dados básicas armazenadas em memória principal.
Utilizar um ambiente de desenvolvimento de código de programação, compilando e executando códigos em uma linguagem de programação; avaliar e aplicar estruturas condicionais e de repetição para controlar o fluxo de programas; manipular estruturas de dados simples; interpretar problemas de programação e desenvolver programas para resolvê-los.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IEC111 |
Informática Instrumental |
3.2.1.0 |
30h |
30h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceitos Básicos de Informática: o computador, seus componentes e sua importância no mundo atual; ambientes operacionais; internet, computação em nuvem e ferramentas de busca. Ferramentas de Produtividade: ferramentas que auxiliam a organização e gerenciamento de seu tempo. Editores de Texto: softwares e regras ABNT para a correta formatação de trabalhos acadêmicos. Editores de Apresentação: requisitos para uma boa apresentação de um trabalho acadêmico e os principais softwares disponíveis para este fim. Editores de Planilhas: principais funções disponíveis e utilização de recursos como ordenação e geração de gráficos.
Compreender os fundamentos da informática e sua aplicabilidade no contexto acadêmico e profissional. Desenvolver habilidades no uso de ferramentas tecnológicas para melhorar a produtividade, organização e apresentação de trabalhos acadêmicos.
Reconhecer os componentes de um computador e seu funcionamento básico, além da importância da tecnologia no mundo atual. Explorar os principais ambientes operacionais e suas funcionalidades básicas. Utilizar a internet de forma eficiente, incluindo ferramentas de busca e soluções de computação em nuvem. Aplicar ferramentas de produtividade para gerenciar tempo e tarefas. Formatar trabalhos acadêmicos de acordo com as normas ABNT utilizando editores de texto. Elaborar apresentações acadêmicas com base em boas práticas de design e conteúdo, utilizando editores de apresentação. Manipular dados em planilhas eletrônicas, utilizando funções, ordenação e geração de gráficos para análise de informações.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
IHP123 |
Língua Brasileira de Sinais B |
4.4.0.0 |
60h |
0h |
0h |
60h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
História da Educação do Deficiente Auditivo. Abordagens Metodológicas. Introdução à língua de Sinais. Estrutura Gramatical, Expressão Corporal. Dramatização e Música e a importância do seu papel para a comunidade surda. Legislação. Política de Educação Inclusiva.
Conhecer a estrutura da Língua de Sinais nos níveis fonológicos e morfossintáticos, aplicando este conhecimento em situações sócio-comunicativas, no contexto profissional e das relações interpessoais.
Identificar os marcos históricos da educação de surdos no Brasil. Diferenciar as abordagens oralistas, gestuais e bilíngues no ensino de Libras. Aplicar os princípios básicos da estrutura gramatical da Libras em contextos comunicativos. Demonstrar expressões corporais e faciais adequadas para a sinalização. Utilizar a dramatização e a música como recursos pedagógicos no ensino de Libras. Interpretar as leis e políticas públicas que asseguram a inclusão educacional de surdos. Discutir os desafios e avanços na implementação da educação bilíngue para surdos.
|
Disciplina |
CR |
Carga horária |
|||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
Práticas Extensionistas em Computação I |
12.0.0.12 |
0h |
0h |
180h |
180h |
||||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC601 |
Práticas Extensionistas em Computação II |
12.0.0.12 |
0h |
0h |
180h |
180h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC602 |
Práticas Extensionistas em Computação III |
12.0.0.12 |
0h |
0h |
180h |
180h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC603 |
Práticas Extensionistas em Computação IV |
12.0.0.12 |
0h |
0h |
180h |
180h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC604 |
Práticas Extensionistas em Computação V |
12.0.0.12 |
0h |
0h |
180h |
180h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC605 |
Práticas Extensionistas em Computação VI |
12.0.0.12 |
0h |
0h |
180h |
180h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC606 |
Práticas Extensionistas em Computação VII |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC607 |
Práticas Extensionistas em Computação VIII |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC608 |
Práticas Extensionistas em Computação IX |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC609 |
Práticas Extensionistas em Computação X |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC610 |
Práticas Extensionistas em Computação XI |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC611 |
Práticas Extensionistas em Computação XII |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC612 |
Práticas Extensionistas em Computação XIII |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
Sigla |
Disciplina |
CR |
Carga horária |
||||||||||||||||||
T |
P |
E |
TOTAL |
||||||||||||||||||
ICC613 |
Práticas Extensionistas em Computação XIV |
6.0.0.6 |
0h |
0h |
90h |
90h |
|||||||||||||||
CR - Créditos; T - Teórico; P - Prático; E - Extensão
Pré-Requisitos
Conceito de extensão universitária. Diretrizes para as ações de extensão. Tipologia das ações de extensão. Legislação nacional e da UFAM relacionadas à extensão. Caracterização das atividades de extensão universitária e a relação com a formação na área de Computação. Avaliação, planejamento e execução de atividades de extensão em Computação, tais como: organização e/ou promoção de cursos de divulgação científica, ou de atualização em áreas da Computação; organização e/ou promoção de congressos, seminários, mesas-redondas, semanas acadêmicas, simpósios, encontros, jornadas, palestras, conferências, feiras; desenvolvimento de software livre para a comunidade externa; tecnologias assistivas; outras atividades regulamentadas, a critério do docente responsável.
Lembrar, ordenar dados e teorias, práticas e processos para realizar atividades de extensão sobre Computação. Traduzir, adaptar e ilustrar conhecimentos de Computação para diferentes tipos de audiência. Trabalhar em equipe de forma eficaz, respeitando e valorizando as diferenças. Desenvolver habilidades relacionadas à organização de eventos. Encontrar soluções pacíficas para desacordos e problemas interpessoais durante o trabalho em equipe e no relacionamento com o público externo. Considerar os resultados de diferentes ações e decisões sobre as atividades desenvolvidas. Planejar e aplicar estratégias para desenvolver atividades extensionistas em Computação, considerando as diversas limitações: tempo, prazos, recursos financeiros, espaço, logística, entre outras.
Analisar o impacto das atividades extensionistas na formação acadêmica, no desenvolvimento profissional e na comunidade. Planejar e organizar eventos científicos, tecnológicos e educacionais voltados à Computação, exercendo liderança e trabalho em equipe. Executar ações de extensão, como cursos, palestras, feiras, congressos e seminários, demonstrando comprometimento e respeito às diferenças. Desenvolver artefatos abertos (por exemplo, software livre, recursos educacionais abertos, entre outros) e tecnologias assistivas para atender demandas da sociedade, promovendo a inovação e a responsabilidade social. Avaliar a efetividade das atividades de extensão realizadas, considerando critérios éticos e impactos ambientais. Aplicar metodologias colaborativas para a implementação de projetos extensionistas, desenvolvendo empatia, adaptabilidade e resiliência.
|
ANEXO IV
NORMAS REGULAMENTARES DAS ATIVIDADES ACADÊMICO-CIENTÍFICO-CULTURAIS (AACC)
CAPÍTULO I
As Atividades Acadêmico-Científico-Culturais (AACC) constituem um componente obrigatório do curso de Bacharelado em Inteligência Artificial, com o objetivo de promover a formação integral dos estudantes por meio da articulação entre ensino, pesquisa e extensão. Este Apêndice estabelece as normas que regulamentam a realização, o aproveitamento e o registro das AACC no âmbito do curso, assegurando que tais atividades complementem a formação acadêmica com experiências práticas, reflexivas e interdisciplinares. As diretrizes aqui descritas buscam orientar alunos e coordenação quanto aos procedimentos de cadastro, comprovação, validação e contabilização das atividades, de modo a assegurar a qualidade e a transparência no processo de integralização curricular.
Art. 1º As atividades complementares constituem-se em ações de ensino, pesquisa e extensão de caráter obrigatório a serem desenvolvidas pelo aluno no transcorrer do curso, visto que estas visam flexibilizar o currículo pleno do Curso e propiciar aos seus alunos a possibilidade de aprofundamento temático e interdisciplinar.
Art. 2º As atividades complementares têm por escopo a ampliação e a complementação da base de conhecimentos, competências e habilidades do aluno do curso, mediante a realização de atividades e práticas extracurriculares, estudos independentes, participação em congressos, seminários, pesquisas, intervenções organizacionais e atividades de promoção da cidadania.
Art. 3º Essas atividades possibilitam ao aluno oportunidades para refletir e aprimorar os conteúdos teóricos discutidos em cada disciplina, estabelecendo uma interface entre teoria e realidade a partir das atividades complementares desenvolvidas a cada semestre.
Art. 4º Além disso, as atividades complementares visam:
I - possibilitar ao aluno estabelecer uma relação entre as teorias dos conteúdos abordadas ao longo do curso e os aspectos observados no ambiente;
II - engajar os alunos em trabalhos de cunho comunitário, buscando desenvolver uma consciência cidadã e o enriquecimento da aprendizagem;
III - participação em projetos de consultoria organizacional, estágios extracurriculares e visitas técnicas às organizações de trabalho, desenvolvendo competências e percepções necessárias ao exercício da profissão;
IV - possibilitar acesso às dimensões culturais e científicas, através da participação em palestras, seminários, fóruns, conferências, congressos, treinamentos, semana de evento organizada pelo curso e em cursos de extensão universitária;
V - aprimorar e associar uma visão crítica e global da sociedade e das práticas em administração a partir da análise de filmes e livros indicados;
VI - desenvolver qualidade de vida, a partir da abrangência do conhecimento;
VII - promover a participação em trabalhos de pesquisa, produção do conhecimento e investigação científica;
VIII - Captar a realidade e transformar em trabalhos escritos, abordando temáticas que envolva o cotidiano da administração.
Art. 5º O aproveitamento das atividades complementares será realizado por meio do Sistema de Atividades Acadêmicas do Instituto de Computação, por meio do endereço eletrônico https://aacc.icomp.ufam.edu.br/entrar. Este sistema tem por objetivo auxiliar o aluno na entrada de documentos comprobatórios junto à Coordenação do curso, auxiliar a Coordenação no correto gerenciamento e controle das atividades lançadas em histórico, bem como possibilitar auditoria de todo o processo.
Art. 6º Cada Atividade Complementar solicitada deverá ser cadastrada para análise pela coordenação. Após a análise, o Coordenador de Curso irá realizar o lançamento no histórico acadêmico do aluno.
Art. 7º As Atividades Complementares, obrigatórias para a integralização do currículo pleno, serão desenvolvidas conforme o grupo de atividades descritas na tabela do anexo único desta Normatização.
Art. 8º As horas das Atividades Complementares serão contabilizadas até o limite máximo estabelecido na tabela abaixo para cada certificado apresentado na natureza da atividade identificada. Incentivamos os alunos a participarem das três modalidades – Ensino, Pesquisa e Extensão – ressaltando que, com exceção da categoria 1.2 Carga Horária Optativa Excedente (que admite apenas duas solicitações por aluno), não há restrição quanto à quantidade de certificados por categoria.
Art. 9º O processo de aproveitamento de uma determinada atividade realizada como Atividade Complementar seguirá as orientações abaixo:
I. ao ingressar no curso, o aluno se cadastra para obter um login e senha pessoal e intransferível.
II. em qualquer época do ano, o aluno cadastra as atividades realizadas, anexando cópia digital da documentação comprobatória exigida e selecionando a natureza da atividade conforme tabela abaixo. A documentação comprobatória deve ter o nome do aluno, período e horas de realização e descrição da atividade realizada.
III. a Coordenação do curso faz a análise das atividades enviadas pelo sistema, verificando os campos obrigatórios da documentação enviada pelo aluno e a natureza da atividade que o aluno enviou pelo sistema. As atividades em que forem detectadas discrepâncias serão indeferidas e devolvidas ao aluno, via Sistema, para as devidas correções.
IV. após análise, a Coordenação fará o lançamento das atividades complementares no histórico do aluno.
Artigo 10. O aproveitamento de ações de ensino, pesquisa e extensão não listadas na tabela será avaliado pelo Núcleo Docente Estruturante do Curso.
ANEXO ÚNICO DA NORMATIZAÇÃO DE AACC
|
|||
Cód. |
Atividade |
Carga Horária Máxima |
Documento Comprobatório |
1.1 |
Participação em Monitoria |
60h |
Certificado de participação |
1.2 |
Carga Horária Optativa Excedente |
60h por disciplina (até o máximo de 2 disciplinas) |
Histórico escolar, comprovando a aprovação na disciplina |
1.3 |
Participação como aluno em treinamentos, cursos de nivelamento, mini-cursos, oficinas e certificações técnicas na área do curso, seja na modalidade presencial ou a distância |
40h |
Certificado de participação |
1.4 |
Participação como instrutor em treinamentos, cursos de nivelamento, mini-cursos, oficinas e certificações técnicas na área do curso, seja na modalidade presencial ou a distância |
60h |
Certificado de participação |
1.5 |
Curso de língua estrangeira |
60h |
Certificado de conclusão, ou certificado de proficiência devidamente reconhecido |
|
|||
Cód. |
Atividade |
Carga Horária Máxima |
Documento Comprobatório |
2.1 |
Autor principal de artigo científico publicado em anais de conferência da área do curso |
30h |
Artigo (versão digital) e declaração de aceite. |
2.2 |
Autor principal de artigo científico publicado em periódico da área do curso. |
60h |
Artigo (versão digital) e declaração de aceite |
2.3 |
Autor principal de capítulo de livro da área do curso |
60h |
Trabalho publicado (versão digital) e declaração de aceite |
2.4 |
Premiação em trabalhos acadêmicos |
10h |
Certificado de premiação |
2.5 |
Participação em projetos de pesquisa na área do curso, devidamente aprovados |
60h |
Certificado de conclusão |
|
|||
Cód. |
Atividade |
Carga Horária Máxima |
Documento Comprobatório |
3.1 |
Programa de Educação Tutorial – PET |
60h |
Certificado de participação |
3.2 |
Participação em projetos institucionais de extensão |
60h |
Certificado de conclusão |
3.3 |
Estágio extracurricular vinculado à área do curso |
60h |
Certificado de conclusão |
3.4 |
Visita técnica a organizações |
4h |
Certificado de participação |
3.5 |
Participação em eventos técnico-científicos na área do curso |
20h |
Certificado de participação |
3.6 |
Organização de eventos técnico-científicos na área do curso |
40h |
Certificado de participação |
3.7 |
Participação em competições de informática, tais como Maratona de Programação e Olimpíada Brasileira de Informática |
60h |
Certificado de participação |
3.8 |
Participação em defesas de TCC |
1h |
Certificado de participação |
3.9 |
Participação em defesas de mestrado |
2h |
Certificado de participação |
3.10 |
Participação em defesas de doutorado |
4h |
Certificado de participação |
3.11 |
Relatórios de livros e filmes indicados |
2h |
Apresentação do relatório da análise crítica do livro/filme, acompanhado da avaliação do professor |
3.12 |
Produção de sistema computacional (software), desenvolvido individualmente ou em grupo |
60h |
Carta de descrição e aceitação do sistema computacional desenvolvido, por parte de representante legal do órgão atendido (empresa ou instituição) |
3.13 |
Atividades de promoção da cidadania (promoção da igualdade étnica-racial, educação ambiental, direitos humanos) |
10h |
Certificado de participação |
NORMAS REGULAMENTARES DO TRABALHO DE CONCLUSÃO DE CURSO (TCC)
O Trabalho de Conclusão de Curso (TCC) constitui uma etapa obrigatória do curso de Bacharelado em Inteligência Artificial da UFAM, voltada à aplicação dos conhecimentos adquiridos ao longo da graduação na forma de uma investigação acadêmica ou desenvolvimento técnico-científico. Para assegurar a qualidade e a efetividade dessa atividade, são estabelecidas responsabilidades específicas para os diferentes atores envolvidos — aluno, professor orientador e coordenação de TCC —, bem como diretrizes para o processo de avaliação, formatação do documento final e possíveis substituições permitidas. Este documento detalha as competências atribuídas a cada participante, os critérios de avaliação e os procedimentos normativos aplicáveis à condução do TCC, conforme as diretrizes institucionais.
CAPÍTULO I
SOBRE OS PARTICIPANTES DO TCC E SUAS COMPETÊNCIAS
Seção I - Do aluno
Art. 1º O aluno do curso de Bacharelado em Inteligência Artificial regularmente matriculado na disciplina de TCC, é o responsável por elaborar e executar o TCC, de acordo com as normas estabelecidas neste Projeto Pedagógico. Compete ao aluno:
I - informar ao Coordenador do TCC o nome do professor orientador escolhido e um tema de pesquisa até duas semanas após o início do período letivo;
II - informar imediatamente ao Coordenador do TCC a eventual necessidade de troca de professor orientador ao longo do desenvolvimento do TCC;
III - apresentar oralmente para uma banca o trabalho desenvolvido;
IV - comparecer aos horários de orientação definidos pelo professor orientador para discussão e aprimoramento de sua pesquisa;
V - comparecer às reuniões convocadas pela Coordenação do TCC ou pelo seu professor orientador;
VI - cumprir o calendário divulgado pela Coordenação do TCC para entrega de projetos, relatórios e a versão final do documento escrito do TCC;
VII - elaborar o documento escrito do TCC, em conformidade com as direções delineadas pelo professor orientador;
VIII - comparecer em dia, horário e local determinados para apresentar e defender o TCC;
IX - ter conhecimento das normas do TCC e segui-las;
Seção II - Da Coordenação de TCC.
Art. 2º Pode ser desempenhado pela Coordenação do curso de Bacharelado em Inteligência Artificial ou pessoa por ela designada para coordenar a atividade de TCC entre os alunos matriculados e os professores orientadores. Compete ao coordenador de TCC:
I - orientar os alunos matriculados para que escolham os temas e professores orientadores mais adequados;
II - Definir calendário de prazos para entrega dos documentos escritos do TCC (primeira versão e versão final) e para realização do Workshop de TCCs;
III - estipular o formato de realização do Workshop de TCCs;
IV - esclarecer os professores orientadores sobre as regras do TCC;
V - efetivar as notas dos alunos matriculados no TCC;
VI - resolver casos não previstos nesta normatização.
Seção III - Do Professor Orientador.
Art. 3º Pode ser Professor Orientador Professor do IComp, ou de outra Unidade Acadêmica da UFAM, responsável por acompanhar e orientar um ou mais alunos de TCC. Compete ao Professor Orientador:
I -avaliar a relevância, a originalidade e as condições de execução do tema proposto pelo aluno;
II - acompanhar a elaboração da proposta do projeto, bem como as etapas de seu desenvolvimento;
III - orientar o aluno, quando necessário, na reelaboração de projeto de pesquisa e sugerir, se for o caso, indicações bibliográficas e as fontes de dados disponíveis em instituições públicas ou particulares ou da produção de dados oriundos de trabalho de campo;
IV - atender regularmente seus alunos orientandos, em horário previamente fixado;
V - participar do Workshop de TCCs de seus orientandos;
VI - ser responsável pela adequação às Normas do Comitê de Ética e Pesquisa em Seres Humanos (CEP) ou às Normas do Comitê de Experimentação Animal, quando o tipo de pesquisa assim o fizer necessário.
CAPÍTULO II
SOBRE A AVALIAÇÃO DO TCC
Art. 4º O aluno de TCC receberá três notas ao longo da disciplina:
I - 1ª nota (N1), da revisão bibliográfica.
II - 2ª nota (N2), dos resultados intermediários.
III - 3ª nota (N3), do documento escrito do TCC e apresentação no Workshop.
Art. 5º A 3ª nota será dada pela média aritmética das notas atribuídas pelos avaliadores da banca de apresentação. A nota de cada avaliador será calculada pela soma das notas atribuídas aos seguintes critérios:
I - documento escrito (nota de 0 a 7);
II - apresentação oral (nota de 0 a 3).
Art. 6º A média final (MF) da disciplina de TCC será determinada pela seguinte fórmula: MF = (N1 + N2 + 2 * N3) / 4.
CAPÍTULO III
SOBRE O DOCUMENTO ESCRITO
Art. 7º O documento escrito do TCC deve ser entregue em formato de artigo científico ou em formato de monografia. No formato artigo científico, o documento deverá seguir o modelo de artigos da Sociedade Brasileira de Computação (SBC). Esse formato de artigo também pode ser aproveitado para submissões em eventos acadêmicos e publicações científicas, incentivando a divulgação dos resultados obtidos pelos alunos e fortalecendo a produção científica do curso.
Art. 8º No formato monografia, o documento deverá atender aos requisitos estabelecidos pelo Guia para Normalização de Relatórios Técnicos Científicos da UFAM, aprovada pela Resolução Nº 043/2004 – CONSEPE.
Parágrafo único. Esse guia está disponível para consulta pública, garantindo que os alunos tenham acesso a um documento normativo atualizado, com orientações padronizadas sobre a formatação e a estrutura de suas produções acadêmicas.
Art. 9º O site da Biblioteca Central da UFAM fornece um manual completo de normalização, além de templates para a estruturação do TCC, atendendo plenamente às exigências de apoio documental para os discentes.
Parágrafo único. Essa documentação é atualizada periodicamente para garantir que os padrões de formatação e estrutura se mantenham alinhados com as melhores práticas acadêmicas e com as demandas institucionais. Tanto o guia quanto o template são divulgados para os alunos quando se matriculam na disciplina de TCC.
CAPÍTULO III
SOBRE A SUBSTITUIÇÃO
DO TRABALHO DE CONCLUSÃO DE CURSO
Art. 10. Desde que o aluno acorde com a Coordenação do TCC, o Trabalho de Conclusão de Curso poderá ser substituído por:
I - artigo científico aceito, mesmo que não publicado, em veículo relacionado à área de Inteligência Artificial que disponha de corpo técnico revisor e seja qualificado.
II - relatório de estágio, desde que o formato atenda ao Guia para Normalização de Relatórios Técnicos Científicos da UFAM, que o mérito técnico do estágio seja aprovado previamente por um professor do IComp e que a carga horária total do Estágio seja de no mínimo 300h na data de submissão do relatório para a coordenação do TCC.
a)Neste caso, o estágio deverá obedecer à legislação e normas estabelecidas na UFAM. O aluno não poderá computar este mesmo estágio como Atividades Acadêmico-Científico-Culturais (AACCs).
b) Entretanto, nenhuma dessas opções exime o aluno da obrigação de apresentar seu trabalho durante o Workshop de TCC.
DO DEPÓSITO DO TRABALHO DE CONCLUSÃO DE CURSO NA BIBLIOTECA
Art. 11. O curso de Bacharelado em Inteligência Artificial utiliza o Repositório Institucional da Biblioteca da UFAM para a disponibilização dos TCCs.
Art. 12. O site da Biblioteca (https://biblioteca.ufam.edu.br/deposito-de-trabalho-de-conclusao-de-curso.html), conta com um espaço específico para o depósito e acesso aos Trabalhos de Conclusão de Curso, permitindo que os TCCs estejam disponíveis online para a comunidade acadêmica e o público em geral.
Parágrafo único. Esse site também é divulgado para os alunos quando se matriculam na disciplina de TCC. Este repositório assegura que todos os TCCs produzidos pelos alunos estejam acessíveis pela internet, em conformidade com os critérios de acessibilidade e transparência exigidos pelo MEC.
ANEXO VI
NORMATIZAÇÃO DAS ATIVIDADES DE EXTENSÃO DO CURSO DE GRADUAÇÃO EM INTELIGÊNCIA ARTIFICIAL
CAPÍTULO I
DISPOSIÇÕES GERAIS
Art. 1º As atividades de extensão integram a matriz curricular do curso de Bacharelado em Inteligência Artificial da UFAM como eixo formativo obrigatório, conforme disposto no Parecer CNE/CES nº 576/2023, na Resolução CNE/CES nº 7/2018, e na Resolução CONSEPE nº 044/2023.
Art. 2º O estudante deverá cumprir, no mínimo, 320 (trezentas e vinte) horas de atividades extensionistas para integralização do curso, equivalentes a 10% (dez por cento) da carga horária total do currículo.
Art. 3º As atividades de extensão deverão ser registradas no eixo curricular denominado “Atividades Extensionistas”, constante no histórico do discente.
CAPÍTULO II
CRITÉRIOS DE VALIDAÇÃO DAS ATIVIDADES EXTENSIONISTAS
Art. 4º Serão consideradas válidas para registro no eixo “Atividades Extensionistas” apenas as atividades nas quais o estudante tenha desempenhado comprovadamente papel de protagonista, nos termos da Resolução CONSEPE nº 044/2023.
Parágrafo único. São exemplos de protagonismo a atuação do discente nas etapas de elaboração, planejamento, execução ou avaliação de projetos ou ações de extensão.
Art. 5º É vedada a dupla contagem de carga horária para um mesmo certificado ou componente curricular, sendo proibido fracionar a carga horária entre diferentes eixos formativos, como AACC e Atividades Extensionistas.
Art. 6º Não serão aceitas no eixo de Atividades Extensionistas ações nas quais o estudante tenha participado apenas como ouvinte ou espectador, conforme disposto na Resolução CONSEPE nº 044/2023, art. 5º, §3º.
CAPÍTULO III
MODALIDADES DE INTEGRALIZAÇÃO
Art. 7º O cumprimento da carga horária mínima no eixo poderá ser realizado por meio das seguintes modalidades:
I - disciplinas com carga horária exclusivamente dedicada à extensão universitária;
II - certificados de participação em projetos ou ações institucionais de extensão.
Art. 8º As disciplinas com carga horária extensionista:
I - serão ofertadas regularmente pelo Instituto de Computação, conforme disponibilidade docente e compatibilidade de horários;
II - serão organizadas com metodologias de projetos, permitindo a atuação ativa dos estudantes;
III - serão de matrícula optativa, sendo exigida apenas a integralização da carga horária mínima prevista no art. 2º;
IV - poderão, mediante solicitação formal do discente à Coordenação de Curso, ser incluídas no eixo Atividades Extensionistas mesmo que não constem previamente na lista aprovada no PPC.
Art. 9º Os certificados de atividades institucionais de extensão serão aceitos desde que:
I - emitidos por Pró-Reitoria de Extensão da UFAM ou por instituições equivalentes reconhecidas;
II - detalhem o papel desempenhado pelo discente, a carga horária, a natureza da atividade e o período de realização;
III - comprovem a atuação do estudante como protagonista.
Art. 10. As modalidades institucionais de extensão válidas para fins de certificação incluem:
I - Programa de Extensão;
II - Projeto de Extensão;
III - Curso de Extensão (mínimo de 8 horas);
IV - Evento de Extensão;
V - Prestação de Serviço.
Art. 11. É permitida a realização de atividades extensionistas em formato remoto, síncrono ou assíncrono, desde que:
I - não caracterizem modalidade a distância (EaD);
II - não ultrapassem o limite de 20% (vinte por cento) da carga horária da atividade;
III - observem as demais exigências legais e pedagógicas.
CAPÍTULO IV
AVALIAÇÃO DAS ATIVIDADES EXTENSIONISTAS
Art. 12. A avaliação das atividades de extensão será realizada semestralmente, por comissão composta por docentes responsáveis pelas disciplinas extensionistas, Coordenação de Curso e equipe de Apoio Pedagógico do IComp.
Parágrafo único. A comissão poderá criar e aplicar instrumentos avaliativos com o objetivo de medir o impacto social das ações extensionistas e sua contribuição para a formação dos estudantes.
Art. 1º As atividades de extensão integram a matriz curricular do curso de Bacharelado em Ciência da Computação da Universidade Federal do Amazonas (UFAM) como eixo formativo obrigatório, nos termos do Parecer CNE/CES nº 576/2023, da Resolução CNE/CES nº 7/2018 e da Resolução CONSEPE nº 044/2023.
Art. 2º O estudante deverá cumprir, no mínimo, 320 (trezentas e vinte) horas de atividades extensionistas para integralização do curso, equivalentes a 10% (dez por cento) da carga horária total do currículo.
Art. 3º As atividades de extensão deverão ser registradas no eixo curricular denominado “Atividades Extensionistas”, constante no histórico acadêmico do discente.
TÍTULO II
DA NATUREZA E CONDIÇÕES DAS ATIVIDADES EXTENSIONISTAS
Art. 4º Serão consideradas válidas para registro no eixo “Atividades Extensionistas” apenas as atividades nas quais o estudante tenha desempenhado comprovadamente papel de protagonista, nos termos da Resolução CONSEPE nº 044/2023.
Parágrafo único. São exemplos de protagonismo a atuação do discente nas etapas de:
a)elaboração;
b) planejamento;
c) execução; ou
d) avaliação de projetos ou ações de extensão.
Art. 5º É vedada a dupla contagem de carga horária para um mesmo certificado ou componente curricular, sendo proibido fracionar a carga horária entre diferentes eixos formativos, tais como Atividades Acadêmico-Científico-Culturais (AACC) e Atividades Extensionistas.
Art. 6º Não serão aceitas, no eixo de Atividades Extensionistas, ações nas quais o estudante tenha participado apenas como ouvinte ou espectador, conforme disposto na Resolução CONSEPE nº 044/2023, art. 5º, §3º.
TÍTULO III
DAS MODALIDADES DE CUMPRIMENTO
Art. 7º O cumprimento da carga horária mínima no eixo “Atividades Extensionistas” poderá ocorrer por meio das seguintes modalidades:
I – disciplinas com carga horária exclusivamente dedicada à extensão universitária;
II – certificados de participação em projetos ou ações institucionais de extensão.
Art. 8º As disciplinas com carga horária extensionista:
I – serão ofertadas regularmente pelo Instituto de Computação, conforme disponibilidade docente e compatibilidade de horários;
II – serão organizadas com metodologias de projetos, permitindo a atuação ativa dos estudantes;
III – serão de matrícula optativa, sendo exigida apenas a integralização da carga horária mínima prevista no art. 2º;
IV – poderão, mediante solicitação formal do discente à Coordenação de Curso, ser incluídas no eixo “Atividades Extensionistas” mesmo que não constem previamente na lista aprovada no Projeto Pedagógico do Curso (PPC).
Art. 9º Os certificados de atividades institucionais de extensão serão aceitos desde que:
I – sejam emitidos pela Pró-Reitoria de Extensão da UFAM ou por instituições equivalentes reconhecidas;
II – detalhem o papel desempenhado pelo discente, a carga horária, a natureza da atividade e o período de realização;
III – comprovem a atuação do estudante como protagonista.
Art. 10. As modalidades institucionais de extensão válidas para fins de certificação incluem:
I – Programa de Extensão;
II – Projeto de Extensão;
III – Curso de Extensão, com carga horária mínima de 8 (oito) horas;
IV – Evento de Extensão;
V – Prestação de Serviço.
Art. 11. É permitida a realização de atividades extensionistas em formato remoto, síncrono ou assíncrono, desde que:
I – não caracterizem modalidade a distância (EaD);
II – não ultrapassem o limite de 20% (vinte por cento) da carga horária da atividade;
III – observem as demais exigências legais e pedagógicas.
TÍTULO IV
DA AVALIAÇÃO DAS ATIVIDADES EXTENSIONISTAS
Art. 12. A avaliação das atividades de extensão será realizada semestralmente, por comissão composta por:
I – docentes responsáveis pelas disciplinas extensionistas;
II – Coordenação de Curso;
III – Equipe de Apoio Pedagógico do Instituto de Computação.
Parágrafo único. A comissão poderá criar e aplicar instrumentos avaliativos com o objetivo de medir:
a) o impacto social das ações extensionistas; e
b) a contribuição das atividades para a formação dos estudantes.
| Documento assinado eletronicamente por David Lopes Neto, Presidente, em 01/07/2025, às 00:10, conforme horário oficial de Manaus, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
| A autenticidade deste documento pode ser conferida no site https://sei.ufam.edu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 2661836 e o código CRC 2E2D0D70. |
Avenida General Rodrigo Octávio, 6200 - Bairro Coroado I Campus Universitário Senador Arthur Virgílio Filho, Prédio Administrativo da Reitoria (Térreo), Setor Norte - Telefone: (92) 3305-1181 / Ramal 1482
CEP 69080-900, Manaus/AM, cegconsepe@ufam.edu.br
Referência: Processo nº 23105.018570/2025-40 |
SEI nº 2661836 |