Vagas em Concurso Público para Docentes do IC/UFRJ

O Instituto de Computação da UFRJ (IC-UFRJ) está com vagas abertas para contratação de docente permanente (40 horas-DE) nas áreas de:
 
- Arquitetura de Computadores / Redes e Sistemas Distribuídos
- Modelagem e avaliação de sistemas de computação
- Linguagens de Programação
 
 
O IC-UFRJ (https://dcc.ufrj.br/) faz parte do Centro de Ciências Matemáticas e da Natureza (CCMN) (https://www.ccmn.ufrj.br) da UFRJ (https://ufrj.br/). É um instituto novo (criado em 2020) dentro de uma grande e prestigiada universidade. Traz consigo uma tradição de atuação de mais de 50 anos do Departamento de Ciência da Computação, de onde se originou, com cursos de graduação e pós graduação, projetos de pesquisa, de extensão e de transferência de tecnologia. O Instituto de Computação se coloca como uma unidade inovadora, com grande potencial de crescimento e atuação na área de Computação, construída sobre um legado sólido e marcante da excelência do CCMN e da UFRJ.
 
 
 
Mais informações sobre as vagas e edital dos concursos (ementas e bibliografias listadas abaixo): 
Concurso Público para provimento efetivo de vagas no cargo de Professor da Carreira de Magistério Superior

 Publicado no DOU em: 31/05/2022 | Edição: 102 | Seção: 3 | Página: 112

https://concursos.pr4.ufrj.br/index.php/3-concursos/concursos-em-andamento/519-edital-n-377-de-25-de-maio-de-2022

 

Período de inscrição: 14/06/2022 a 13/07/2022

Período para realização do concurso: 13/10/2022 11/11/2022

Dúvidas podem ser encaminhadas para: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.

 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Código da Opção de Vaga: RD-001
Unidade: Instituto de Computação
Departamento: Computação
Setorização: Arquitetura de Computadores/Redes e Sistemas Distribuídos
PROVA PRÁTICA: Não haverá prova prática

Conteúdo Programático (O candidato deverá escolher uma das duas opções de subárea a seguir)

Opção de Subárea: Arquitetura de Computadores
1. Histórico da Computação; Sistemas de Numeração. Programação em Linguagem de Montagem; Modos de Endereçamento; Formato das Instruções.
2. Aritmética Binária. Circuitos Lógicos Combinacionais e Sequenciais; Minimização de Equações. VHDL.
3. Organização Básica de Computadores; Modelo de Von Neumann; Elementos Básicos do Processador. Entrada/Saída; Interrupção; DMA; Sistemas de Armazenamento; RAID.
4. Hierarquia de Memória: Memória, Memória Cache, Memória Virtual e Gerência de Memória.
5. Pipeline: Dependências de Dados; Predição de Desvio. Escalonamento Estático e Dinâmico de Código. Trace e List Scheduling. Software Pipeline.
6. Arquiteturas Superescalares, VLIW, SMT e Multithreading. Arquiteturas Multicore.
7. Aceleradores: FPGAs, GPUs, Manycores. Aceleradores de IA.
8. Arquiteturas Paralelas e Distribuídas. MIMD, SIMD. Redes de Interconexão.
9. Sistemas Reconfiguráveis. Sistemas Resilientes e Tolerante a Falhas. E/S Paralela.
10. Protocolos de Coerência de Memória Cache. Modelos de Consistência de Memória. Memória Transacional.

Opção de Subárea: Redes e Sistemas Distribuídos
1. Transmissão de dados: meios físicos, modulação, limites impostos pela teoria da informação, tecnologias de acesso, hierarquias digitais PDH e SDH.
2. Redes Ethernet: arquitetura e seus protocolos, suporte a VLAN, pontes transparentes e limitações do 802.1d, melhorias e vantagens da interconexão de redes locais baseadas em pontes/comutador via roteamento MAC (padrão IEEE 802.1Q).
3. Camada de rede: domínios e endereçamento, DHCP e NAT, roteamento unicast e multicast, roteamento entre domínios, MPLS (arquitetura, princípios e operação), redes definidas por software (conceito e análise comparativa). Gerência ativa de filas e mecanismos de notificação
de congestionamento.
4. Camada de transporte: protocolos UDP e TCP, controles de congestionamento e de fluxo, desempenho do TCP.
5. Camada de aplicação: aplicações distribuídas em redes, aplicações multimídia e qualidade de serviço.
6. Camada de middleware: middleware orientado a mensagens, middleware orientado a serviços.
7. Sistemas distribuídos: arquiteturas lógica e de sistema, sistemas de informação distribuídos, sistemas de processamento distribuído, sistemas pervasivos.
8. Computação na nuvem: virtualização, paradigmas e plataformas da computação em nuvem.
9. Segurança em redes e em sistemas distribuídos: algoritmos de criptografia, segurança nas várias camadas da Internet, segurança em redes sem fio, autenticação, ataques, mecanismos de prevenção.
10. Redes sem fio e redes móveis: padrões IEEE (802.11, 802.15, 802.16), mobilidade IP, transmissão de dados em redes celulares (3G/4G).

 

Bibliografia:

Subárea: Arquitetura de Computadores
1. R. J. Tocci, N. S. Widmer, G. L. Moss. Sistemas Digitais: Princípios e Aplicações, 12 edição, Pearson. 2019.
2. J. F. Wakerly. Digital Design Principles & Practices, 5th Edition, Pearson. 2018.
3. S. Brown and Z. Vranesic. Fundamentals of Digital Logic with VHDL Design, 3rd Edition, McGraw-Hill. 2009.
4. R. Anido. Linguagens de Montagem, GEN LTC, 2017.
5. J. L. Hennessy, D. A. Patterson. Computer Architecture: A Quantitative Approach, 6th Edition, Morgan Kauffman. 2017.
6. W. Stallings. Computer Organization and Architecture: Designing for performance, 8th Edition, Pearson. 2009.
7. R. E. Bryant, D. R. O'Hallaron. Computer Systems: A Programmer's Perspective, 3rd Edition, Prentice Hall. 2015
8. D. A. Patterson, J. L. Hennessy. Computer Organization and Design: The Hardware/software Interface, 5th Edition, Elsevier. 2013.
9. J. P. Shen, M. H. Lipasti. Modern Processor Design: Fundamentals of Superscalar Processors, Waveband Press. 2013.
10. J.-L. Baer. Microprocessor Architecture: From Simple Pipelines to Chip Multiprocessors, Cambridge University Press. 2009.
11. M. Dubois, M. Annavaram, P. Stenström. Parallel Computer Organization and Design, Cambridge University Press. 2012.
12. P.-A, Hsiung, M. D. Santambrogi, C,-H. Huang. Reconfigurable System Design and Verification, CRC Press. 2018.

Subárea: Redes e Sistemas Distribuídos
1. J. F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach, Pearson, 7th edition,2016.
2. D. E. Comer, Redes de Computadores e Internet, Bookman, 6a edição, 2016.
3. W. Stallings, Criptografia e Segurança de Redes: princípios e práticas, Pearson, 6a edição, 2014.
4. M. Steen and A. S. Tanenbaum, Distributed Systems, distributed-systems.net, 3rd edition,2017.
5. D. Allan, P. Ashwood-Smith, N. Bragg, J. Farkas, D. Fedyk, M. Ouellete, M. Seaman and P. Unbehagen, Shortest path bridging: Efficient control of larger Ethernet networks, IEEE Communications Magazine, Volume: 48, Issue: 10, October 2010.
6. IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks," in IEEE Std 802.1Q-2018 (Revision of IEEE Std 802.1Q-2014) , pp.1-1993, 2018.
7. R. Buyya (Editor), S. N. Srirama (Editor). Fog and Edge Computing: Principles and Paradigms (Wiley Series on Parallel and Distributed Computing), Wiley. 2019.
8. W. Stallings, Operating Systems - Internals and Design Principles, Pearson, 9th edition, 2017.

 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Código da Opção de Vaga: MC-007

Unidade: Instituto de Computação
Departamento: Computação
Setorização: Modelagem e avaliação de sistemas de computação

PROVA PRÁTICA: Não haverá prova prática
Conteúdo Programático
1. Modelagem matemática de sistemas computacionais.
2. Análise de risco. Modelos de tomada de decisão multicritério no contexto do risco, confiabilidade e manutenção. Função de utilidade mono-objetivo e multiobjetivo.
3. Avaliação de desempenho de sistemas computacionais.
4. Políticas de escalonamento em sistemas computacionais. Teoria elementar de filas.
5. Simulação. Geração de amostras de variáveis aleatórias para simulação. Amostragem por transformação inversa: caso discreto e caso contínuo. Geração de números pseudo-aleatórios.
6. Cadeias de Markov. Cadeias de Markov de tempo discreto e contínuo. Solução numérica de cadeias de Markov.
7. Cadeias de Markov e aplicações em aprendizado por reforço.
8. Estatística para aprendizado por máquina. Inferência estatística.
9. Regressão linear: abordagem de álgebra linear e abordagem probabilístico/estatística. Regressão multivariada.
10. Aplicações de modelagem e avaliação de desempenho em redes de computadores, sistemas operacionais e bancos de dados.
Bibliografia
* Dobrow, R. P. (2016). Introduction to stochastic processes with R. John Wiley & Sons.
* Harchol-Balter, M. (2013). Performance modeling and design of computer systems: queueing theory in action. Cambridge University Press.
* Stewart, W. J. (2009). Probability, Markov chains, queues, and simulation. Princeton university press.
* Friedman, J., Hastie, T., & Tibshirani, R. (2001). The elements of statistical learning (Vol. 1, No. 10). New York: Springer series in statistics.
* Richard S. Sutton and Andrew G. Barto (2018). Reinforcement Learning: An Introduction. The MIT Press. Cambridge, Massachusetts. London, England
* Douglas C. Montgomery (2012). Design of Experiments. John Wiley & Sons.
* de Almeida, A.T., Cavalcante, C.A.V., Alencar, M.H., Ferreira, R.J.P., de Almeida-Filho, A.T., Garcez, T.V. (2015). Multicriteria and Multiobjective Models for Risk, Reliability and Maintenance Decision Analysis. Springer.

 

 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Código da Opção de Vaga: RD-002
Unidade: Instituto de Computação
Departamento: Computação
Setorização: Linguagens de Programação

PROVA PRÁTICA: Não haverá prova prática
Conteúdo Programático
1. Paradigmas de Linguagens de Programação
2. Semântica de Linguagens de Programação
3. Gramáticas, análise léxica e sintática
4. Sistemas de Tipos, Tipagem Estática e Dinâmica
5. Análise estática
6. Otimização de código em compiladores
7. Alocação, gerência de memória e coleta de lixo
8. Máquinas Virtuais e Compilação Just-In-Time
9. Estruturas de dados básicas: listas sequenciais e encadeadas, filas, pilhas, árvores, tabelas hash
10. Conceitos básicos de Orientação a Objeto: encapsulamento, polimorfismo, herança, agregação, associação e composição, classes abstratas.
Bibliografia
* Keith Cooper e Linda Torczon. Construindo Compiladores. Elsevier, 1a edição, 2013.
* Michael L. Scott. Programming Language Pragmatics. Morgan Kaufmann, 4th edition, 2015.
* Daniel P. Friedman, Mitchell Wand. Essentials of Programming Languages. MIT Press, 3rd edition, 2008.
* Glenn Winskel. The Formal Semantics of Programming Languages. MIT Press, 1st edition, 1993.
* Benjamin C. Pierce. Types and Programming Languages. MIT Press, 1st edition, 2002.
* Flemming Nielson, Hanne R. Nielson, Chris Hankin. Principles of Program Analysis. Springer, Corrected Edition, 2004.
* Richard Jones, Antony Hosking, Eliot Moss. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman & Hall/CRC,1st edition, 2011.
* Jim Smith, Ravi Nair. Virtual Machines. Morgan Kaufmann, 1st edition, 2005.
* M. Weisfeld. The object-oriented thought process. 4th ed. Addison Wesley, 2013.
* T. H. Cormen, C.E. Leiserson, R. Rivest, C. Stein. Introduction to Algorithms. MIT Press. 2009.
* L. Markenzon e J. L. Szwarcfiter. Estruturas de Dados e Seus Algoritmos. LTC., 3a edição, 2010.