Requisitos obrigatórios:Experiência prática, relevante e recente em Ciência da Computação.Pós-graduação stricto sensu (Mestrado ou Doutorado), feita ou revalidada no Brasil.Requisitos desejáveis:Experiência com as competências das disciplinas acima em projetos e empresas de primeira linha.Experiência como docente ou em atividades correlatas, como palestras, webinars, treinamentos internos e afins.Ministrar aulas ao vivo, remota ou presencialmente, e orientar os alunos, tirando dúvidas e dando feedbacks nas correções de trabalhos e projetos.O(a) professor(a) deve ter experiência prática nas seguintes competências de alguma das disciplinas:Velocidade e Qualidade com Estruturas de Dados e AlgoritmosAvaliar a velocidade de algoritmos introdutórios usando a notação Big OUtilizar as estruturas de dados hash tables, filas (queues) e pilhas (stacks)Desenvolver algoritmos avançados usando recursão e programação dinâmicaUtilizar as estruturas de dados listas encadeadas (linked lists) e árvores (trees)Sistemas Operacionais com Linux e PythonOperar o sistema operacional Linux utilizando a linha de comandoExplicar como o Linux opera o hardware e os diferentes dispositivos de sistemaGerenciar aplicativos, pacotes, containers e sistemas de inicialização no Linux, utilizando a linha de comandoDesenvolver programas simples em Python com paralelismo, utilizando a linha de comandoEstruturas de Dados e Algoritmos AvançadosUtilizar as estruturas de dados heaps e triesUtilizar a estrutura de dados grafos (graphs)Desenvolver algoritmos avançados com grafosResolver problemas com algoritmos gulosos ( greedy ) e outras técnicas adicionais de otimizaçãoProgramação Distribuída com Redes usando Linux e PythonConectar em rede e com a Internet computadores com o sistema operacional LinuxUtilizar serviços e aplicações de rede do LinuxDesenvolver programas em Python que se comunicam por redeDesenvolver programas em Python para analisar, manipular e proteger redes