Escolar Documentos
Profissional Documentos
Cultura Documentos
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: ÁLGEBRA VETORIAL E LINEAR PARA COMPUTAÇÃO CÓDIGO: 06418
DEPARTAMENTO: MATEMÁTICA ÁREA: Matemática
CARGA HORÁRIA TOTAL: 60 horas NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: TEÓRICAS: 04 PRÁTICAS: 00 TOTAL: 04
PRÉ-REQUISITOS: Nenhum
EMENTA
Álgebra vetorial. Álgebra linear. Métodos numéricos em Álgebra Linear
CONTEÚDOS
1. Espaços vetoriais
2. Bases
3. Produto escalar/interno, ortogonalidade
4. Transformações lineares e propriedades
5. Matrizes e determinantes
6. Matrizes inversa e pseudo-inversa
7. Autovetores e autovalores
8. Aritmética de ponto flutuante
9. Sistemas de equações lineares
9.1 Métodos Algébricos
9.2 Métodos Numéricos
10. Resolução de exercícios
BIBLIOGRAFIA
Básica
1. Steinbruch, Alfredo e Winterle, Paulo. Introdução a Álgebra Linear. Makron Books, 1990.
2. Campos filho, Frederico Ferreira. Algoritmos Numéricos. LTC, 2001. Springer-Verlag, Vols
1 and 2, 1997.
3. Ueberhuber, C.W. Numerical Computation- Methods, Software and Analysis
Complementar:
1. ANTON & RORRES. Álgebra Linear com Aplicações 8ª Edição, Bookman.
2. LEON, Steven J. Álgebra Linear com Aplicações 8ª Edição, LTC.
3. CALLIOLI, DOMINGUES E COSTA, Álgebra Linear e Aplicações, Atual Editora.
4. BOLDRINI, COSTA, FIGUEIREDO E WETZLER, Álgebra Linear, Harbra.
5. BARBIERI, ESPINOSA E BISCOLLA, Álgebra Linear para Computação, LTC
Emissão: Coordenação do Curso de Bacharelado em Ciência da Computação
Data: Responsável: ______________________________
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: CÁLCULO NI CÓDIGO: XXX
DEPARTAMENTO: MATEMÁTICA ÁREA: MATEMÁTICA
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 4 h PRÁTICAS: 0h
PRÉ-REQUISITOS: NENHUM
CO-REQUISITOS: NENHUM
SEMESTRE/ANO DE APLICAÇÃO:
EMENTA
Funções Reais de uma Variável Real. Limite e Continuidade. Derivadas: conceito, regras e aplicações.
CONTEÚDOS
Na carga horária desta disciplina, são destacadas 15 horas que serão computadas como "Prática como
Componente Curricular". Este espaço deverá ser utilizado na participação ativa do aluno, quer através
de discussões, apresentações de tópicos relativos aos conteúdos, produção de texto, utilização de
novas tecnologias, ou de qualquer outra atividade que estimule seu espírito crítico, sua desenvoltura,
criatividade, autoconfiança e o domínio de ferramentas computacionais.
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
[1] STEWART, James. Cálculo, vol. 1, Pioneira Thomson Learning.
[2] GUIDORIZZI, Hamilton. Um Curso de Cálculo, vol. 1, LTC.
[3] LOPES, Hélio; MALTA, Iaci; PESCO, Hélio. Cálculo a uma variável: uma introdução ao cálculo. Rio de
Janeiro: Editora PUC-Rio/Loyola.
[4] HOFFMANN, Laurence D.; BRADLEY, Gerald L.; E SILVA, Pedro P. de Lima. Cálculo: um curso
moderno e suas aplicações. LTC-Livros Técnicos e Científicos, 2010.
BIBLIOGRAFIA COMPLEMENTAR:
[1] ANTON, Howard; BIVENS, Irl; DAVIS, Stephen. Cálculo, Bookman, 2007.
[2] ÁVILA, Geraldo. CÁLCULO I, Rio de Janeiro, LTC.
[3] FLEMMING, Diva Marilia; GONÇALVES, Mirian Buss. Cálculo A: funções, limite, derivação, integração.
6. ed. rev. e ampl. São Paulo: Pearson Prentice Hall, 2006.
[4] FINNEY, Ross L.; WEIR, Maurice D.; GIORDANO, Frank R; THOMAS, George B. Cálculo. São Paulo,
SP: Pearson Education do Brasil, Addison Wesley, 2005.
[5] HUGHES-HALLET. Cálculo a uma e a várias variáveis, vol. 1. Rio de Janeiro: LTC.
Emissão
Data: Responsável:
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO CÓDIGO: 14044
PRÉ-REQUISITOS: Nenhum
CO-REQUISITOS: Nenhum
EMENTA
Evolução da Ciência da Computação. Conceitos básicos. Bases numéricas. Sistemas de
numeração em computação. Aritmética binária. Representação de dados: números em ponto
fixo e ponto flutuante, codificação BCD, numérica e alfanumérica. Arquitetura tradicional (von
Neumann). Introdução à Arquitetura e Organização de Computadores através de exemplos
hipotéticos. Noções de sistemas operacionais, utilitários, redes, tipos de linguagens,
compiladores e interpretadores. Introdução à Ciência da Computação: a ciência, o curso e a
profissão.
CONTEÚDOS
1/2
BIBLIOGRAFIA
Básica:
BROOKSHEAR, J. Glenn. Ciência da Computação: uma visão abrangente. Porto Alegre:
Bookmam, 2000. 5a Edição.
FEDELI, R.D. et al. Introdução à Ciência da Computação. Thomson Pioneira. 2009. Cengage
Learning.
FOROUZAN, B., MOSHARRAF, F. Fundamentos da Ciência da Computação. 2011. Cengage
Learning.
Complementar:
WEBER, Raul Fernando. Fundamentos de Arquiteturas de Computadores. Porto Alegre:
SAGRA-LUZZATTO, 2001. (2a Edição) ISBN: 85-241-0635-2
TANENBAUM, A.s. Organização Estruturada de Computadores. Prentice Hall, 2006 (5ª
EDIÇÃO).
MOKARZEL, F. C., SOMA, N. Y. Introdução à Ciência da Computação. Editora Campus, 2008.
TANENBAUM, A.s., Wetherall, D. Redes de Computadores. Pearson Education, 2011 (5ª
EDIÇÃO).
DALE, L. CIÊNCIA DA COMPUTAÇÃO. LTC, 2010 (4ª edição).
2/2
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: INTRODUÇÃO À PROGRAMAÇÃO I CÓDIGO: 14117
PRÉ-REQUISITOS: Nenhum
EMENTA
CONTEÚDOS
BIBLIOGRAFIA
Básica:
Mark LUTZ, David ASCHER: Aprendendo Python, BOOKMANCOMPA-NHIA ED, ISBN:
857780013x, ISBN-13: 9788577800131.
Albano, R., Albano, S. Programação em Linguagem C. Editora Ciência Moderna, 2010.
ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Vene-ruchi de.
Fundamentos da Programação de Computadores. Prentice Hall - Br. 3ª Edição. 2012.
Complementar:
Mark PILGRIM: Mergulhando No Python, ALTA BOOKS, ISBN: 8576080931 ISBN-13:
9788576080930.
Mark SUMMERFIELD: Programacao Em Python 3, ALTA BOOKS, ISBN: 8576083841,
ISBN-13: 2000029636912.
LOPES, Anita e Garcia, Guto. Introdução à Programação: 500 Algorit-mos Resolvidos.
Editora Campus, 2002.
Herbert Schildt – C Completo e Total, Makron Books,3ª Edição, 1997.
DEITEL, Paul; Deitel, Harvey. C How to Program. 6th ed. Prentice Hall, 2010.
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: MATEMÁTICA DISCRETA I CÓDIGO: 14203
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Nenhum
CO-REQUISITOS: Nenhum
EMENTA
Lógica proposicional. Lógica de predicados de primeira ordem. Técnicas de demonstração
básicas: direta, por contraposição, por redução ao absurdo, por casos. Provas existenciais
construtivas e não-construtivas. Teoria dos conjuntos. Relações n-árias, binárias, de
equivalência e de ordem. Funções e seqüências: injetividade e sobrejetividade. Cardinalidade:
prova por diagonalização. Teoria dos números: divisibilidade, números primos, algoritmo da
divisão (teorema) e aritmética modular. Definições recursivas e provas por indução. Aplicações
na Computação nas áreas de: Inteligência Artificial, Métodos Formais, Bancos de Dados,
Análise de Algoritmos e Criptografia.
CONTEÚDOS
1. Lógica Proposicional e Técnicas de Demonstração
1.1 Proposições e Operadores Lógicos
1.2 Tabela-Verdade
1.3 Equivalências lógicas
1.4 Regras de inferência
1.5 Prova Direta e Por Contradição
2. Lógica de Predicados de 1ª Ordem
2.1 Predicados e quantificadores
2.2 Equivalências lógicas
2.3 Regras de inferência
2.4 Revisão dos métodos de prova
2.5 Prova existencial
3. Teoria dos Conjuntos.
3.1 Tipos e Representações
3.2 Pertinência e Continência
3.3 Igualdade de conjuntos
3.4 Operações entre conjuntos
4. Funções e Seqüências.
4.1 Representações
1/2
4.2 Funções injetivas, sobrejetivas e bijetivas.
4.3 Seqüências e somatórios.
4.4 Cardinalidade de conjuntos infinitos
5. Relações.
5.1 Relações binárias e n-árias
5.2 Propriedades das relações em um conjunto
5.3 Relações de ordem
5.4 Relações de equivalência
6. Introdução a Teoria dos Números
6.1 Axiomas
6.2 Divisão e MDC
6.3 Números primos
6.4 Noções de Aritmética Modular
7. Indução e Recursão
7.1 Definições recursivas de funções e seqüências
7.2 O princípio da indução
7.3 Provas por indução fraca
7.4 Provas por indução forte
BIBLIOGRAFIA
Básica:
GERSTING, J. L. Fundamentos Matemáticos para a Ciência da Computação. 5a edição. Rio de
Janeiro: LTC, 2004.
SCHEINERMAN, E. R. Matemática Discreta: Uma Introdução. Segunda edição. São Paulo:
Cengage Learning, 2011.
MILIES, C. P.; COELHO, S. P. Números: uma introdução à matemática. 3a edição. São Paulo:
EDUSP, 2001.
Complementar:
ROSEN, K. H. Matemática Discreta e suas Aplicações. Sexta edição. São Paulo: McGraw-Hill,
2009.
MENEZES, Paulo Blauth. Matemática discreta para computação e informática. 2. ed. Porto
Alegre: Sagra Luzzatto, 2005.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. de. Lógica para computação. São Paulo:
Thomson, 2006.
PATASHNIK, O.; GRAHAM, R. L.; KNUTH, D. E. Matemática Concreta: Fundamentos para a
Ciência da Computação. Segunda edição. Rio de Janeiro: LTC, 1995.
LOVÁSZ, L., PELIKÁN, J., VESZTERGOMBI, K. Matemática Discreta. Sociedade Brasileira de
Matemática, 2006
2/2
2º PERÍODO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: METODOLOGIA CIENTÍFICA APLICADA À COMPUTAÇÃO CÓDIGO: 14112
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Nenhum
CO-REQUISITOS: Nenhum
EMENTA
Tipos de conhecimento. Conhecimento científico. Ciência e linguagem. Explicações científicas.
Alcance, limite e estrutura de hipóteses. Leis e teorias científicas. Metodologia de pesquisa em
ciências exatas: pesquisa bibliográfica, elaboração, execução e acom¬panhamento de projetos
de pesquisa: problematização, hipóteses, métodos e seleção de amostra. Normatização de
trabalhos técnico-científicos. Técnicas de coleta de dados. Análise de Dados.
CONTEÚDOS
1. Princípios filosóficos e epistemológicos da pesquisa científica
2. Elaboração de projetos técnicos e científicos
3. Estruturação e escrita de trabalhos técnico-científicos em Ciência da Computação
4. Normas ABNT
5. Apresentação de trabalhos técnicos e científicos
BIBLIOGRAFIA
Básica:
SEVERINO, A. J. Metodologia do Trabalho Científico. 23. ed. São Paulo: Cortez, 2007.
MÁTTAR NETO, João Augusto. Metodologia científica na era da informática. São Paulo:
Saraiva, 2010.
CERVO, A. L.; BERVIAN, P. A.; DA SILVA, R. Metodologia Científica. 6. ed. São Paulo:
Pearson Prentice Hall, 2007.
Complementar:
PEREIRA, M. G. Artigos científicos: Como Redigir, Publicar e Avaliar. Editora Guanabara
Koogan, 2011.
KÖCHE, José Carlos. Fundamentos de metodologia científica: teoria da ciência e iniciação à
pesquisa. 24. ed. Petrópolis, RJ: Vozes, 2007.
SECAF, V. Artigo Científico: do desafio à conquista. 5. ed. São Paulo: ATHENEU, 2010.
LAKATOS, Eva Maria; MARCONI, Marina de Andrade. Metodologia científica. 5. ed. São Paulo:
Atlas, 2010.
SANTOS, Antonio Raimundo dos. Metodologia cientifica: a construção do conhecimento. 4. ed.
Rio de Janeiro: DP&A, 2001.
WAZLAWICK, R. S. Metodologia de Pesquisa para Ciência da Computação. Rio de Janeiro:
Elsevier, 2008.
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: ALGORITMOS E ESTRUTURAS DE DADOS CÓDIGO: 06214
DEPARTAMENTO/UNIDADE ACADÊMICA: DEINFO / Sede ÁREA: Fundamentos da Computação
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 3 h PRÁTICAS: 1 h
PRÉ-REQUISITOS: introdução à Programação I e Matemática Discreta I
CO-REQUISITOS: NENHUM
EMENTA
Análise de Algoritmos: Notação O e Análise Assintótica. Algoritmos para pesquisa e ordenação em memória principal e
secundária. Organização de arquivos. Técnicas de recuperação de informação. Listas lineares e suas generalizações: listas
ordenadas, listas encadeadas, pilhas e filas. Aplicações de listas. Árvores e suas generalizações: árvores binárias, árvores
de busca, árvores balanceadas (AVL), árvores B e B+. Aplicações de árvores.
CONTEÚDOS
2. Estruturas de Dados.
2.1. Listas Ligadas: simples, duplas e circulares;
2.2. Alocação Dinâmica de Memória;
2.3. Pilhas e Filas: alocação estática e dinâmica;
2.4. Árvores Binárias de Busca.
2.5. Árvores AVL;
2.6. Tabelas Hash;
2.7. Heaps;
2.8. Conjuntos Disjuntos.
3. Ordenação.
3.1. Mergesort;
3.2. Quicksort;
3.3. Heapsort.
4. Algoritmos em Grafos.
4.1. Busca em Largura;
4.2. Busca em Profundidade;
4.3. Árvore Geradora Mínima;
4.4. Busca de Caminho Mais Curto;
4.5. Enumeração topológica;
4.6. Componentes fortemente conexos.
BIBLIOGRAFIA
Básica:
1. Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald R., Stein, Clifford. Introduction to Algorithms. 3 ed. MIT
Press, 2009.
2. FEOFILOFF, Paulo. Algoritmos em Linguagem C. Editora Campus/Elsevier, 2008-2009.
3. ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Pascal e C. 3 ed. rev. e ampl. São Paulo: Cengage
Learning, 2011.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n, Dois Irmãos - Recife/PE
CEP: 52171-900 | www.ufrpe.br
Complementar:
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: CÁLCULO N II CÓDIGO: XXX
DEPARTAMENTO: MATEMÁTICA ÁREA: MATEMÁTICA
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 4 h PRÁTICAS: 0h
PRÉ-REQUISITOS: CÁLCULO NI
CO-REQUISITOS: NENHUM
SEMESTRE/ANO DE APLICAÇÃO:
EMENTA
Integral de funções uma variável real. Funções reais de várias variáveis: limite e continuidade.
Derivadas Parciais e Diferenciabilidade. Regra da Cadeia e derivação implícita. Máximos e Mínimos.
Multiplicadores de Lagrange.
CONTEÚDOS
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
[1] STEWART, James. Cálculo, vol. 1, Pioneira Thomson Learning.
[2] STEWART, James. Cálculo, vol. 2, Pioneira Thomson Learning.
BIBLIOGRAFIA COMPLEMENTAR:
[1] ANTON, Howard; BIVENS, Irl; DAVIS, Stephen. Cálculo, Bookman, 2007.
[4] HOFFMANN, Laurence D.; BRADLEY, Gerald L.; E SILVA, Pedro P. de Lima. Cálculo: um curso
moderno e suas aplicações. LTC-Livros Técnicos e Científicos, 2010.
[3] ÁVILA, Geraldo. CÁLCULO I, Rio de Janeiro, LTC.
[4] ÁVILA, Geraldo. CÁLCULO II, Rio de Janeiro, LTC.
[5] FLEMMING, Diva Marilia; GONÇALVES, Mirian Buss. Cálculo A: funções, limite, derivação,
integração. 6. ed. rev. e ampl. São Paulo: Pearson Prentice Hall, 2006.
[6] FINNEY, Ross L.; WEIR, Maurice D.; GIORDANO, Frank R; THOMAS, George B. Cálculo. São Paulo,
SP: Pearson Education do Brasil, Addison Wesley, 2005.
[7] HUGHES-HALLET. Cálculo a uma e a várias variáveis, vol. 1. Rio de Janeiro: LTC.
[8] HUGHES-HALLET. Cálculo a uma e a várias variáveis, vol. 2. Rio de Janeiro: LTC
Emissão
Data: Responsável:
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 081-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Introdução à Programação II CÓDIGO: 14118
DEPARTAMENTO: DEINFO
ÁREA: Engenharia de Sistemas de Software
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 04
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 2 h PRÁTICAS: 2 h
PRÉ-REQUISITOS: Introdução à Programação I
CO-REQUISITOS: Nenhum
EMENTA
Paradigma orientado a objetos. Conceitos de programação orientada a objeto: abstração,
generalização, modularização e encapsulamento. Sintaxe básica JAVA. Orientação a objetos com JAVA:
classes e objetos, tipos abstratos de dados, objetos e mensagens, herança, polimorfismo. Arquitetura
em N-camadas instanciação de padrão estilo MVC na prática. Boas práticas de programação orientada
a objetos e padrão de codificação. Projeto de desenvolvimento.
CONTEÚDOS
1. Conceitos básicos de programação
1.1. O que fazer antes de começar a programar
2. Conceitos básicos de orientação a objetos
2.1. Abstração
2.2. Generalização
2.3. Modularização
2.4. Encapsulamento (information hiding)
3. Programação Orientada a Objetos
3.1. Conceito
3.2. Fundamentos de programação orientada a objetos
3.3. Classes (tipos abstratos de dados) e Instâncias (objetos)
3.4. Escopo de classes, construtores e métodos.
3.5. Métodos e mensagens (construtores e destrutores)
3.6. Passagem de parâmetros
3.7. Composição e herança
3.8. Superclasse e subclasse
3.9. Interfaces
3.10. Classes abstratas
3.11. Sobrescrita (Overriding) e sobrecarga (Overloading)
3.12. Polimorfismo (casts e conversão de tipos)
4. Linguagem de Programação Java
4.1. Tipos primitivos de dados
4.2. Operadores
4.3. Estruturas de controle de fluxo e desvio condicional
4.4. Expressões
4.5. Coletor de lixo (Garbage Collection)
4.6. Recursão
4.7. Exceções
4.8. Genéricos
5. Estruturação de sistemas em camadas
5.1. Arquitetura em N-camadas
5.2. Exemplo com arquitetura de 3 camadas (GUI, negócio e dados)
5.3. Introdução ao padrão MVC
6. Coleções
6.1. Arrays / Collections
6.2. Set
6.3. Map
6.4. List
6.5. Enum
7. Interface Gráfica com o usuário (GUI)
7.1. Java Swing / JavaFX
7.2. Componentes gráficos e tratamento de eventos
8. Depuração e documentação de programas
8.1. Depuração modular
8.2. Testes unitários
8.3. Introdução à documentação de requisitos, de classes e de código
9. Projeto de desenvolvimento
9.1. Todos os conceitos abordados na disciplina serão avaliados através da execução prática de
projeto de desenvolvimento, com entregas parciais durante o semestre e definidas em plano de
ensino.
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1. Deitel, Harvey M. et. al. Java como Programar, 8ª. edição. Prentice Hall - Br, 2010.
2. Cornell, Gary; Horstmann, Cay S. Core Java, Volume I - Fundamentos. 8ª Edição. Pearson Education
Br, 2010.
3. Schildt, Herbert. Java - A Referência Completa. Alta Books, Tradução da 8ª edição, 2014.
BIBLIOGRAFIA COMPLEMENTAR:
4. Schildt, Herbert. Java Para Iniciantes - Crie, Compile e Execute Programas Java Rapidamente, 6ª.
edição. Bookman, 2015.
5. Andrea Stein, Lynn. Interactive Programming in Java. Disponível gratuitamente em:
http://www.cs101.org/ipij/).
6. Eckel, Bruce. Thinking in Java. 4ª. edição, 2006. (3ª. edição disponível gratuitamente em
http://www.mindview.net/Books/TIJ/)
7. Sierra, Kathy. Use a Cabeça Java. Alta Books, 2005.
8. Meyer, Bertrand. Object-Oriented Software Construction. Segunda Edição. Prentice Hall, 2000.
(Capítulos 1, 2, 3 e 4).
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: MATEMÁTICA DISCRETA II CÓDIGO: 14204
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Matemática Discreta I
CO-REQUISITOS: Nenhum
EMENTA
Combinatória Básica: Permutações, Combinações, binômios, ocupância, inclusão/exclusão,
recorrências. Inversão de Moebius, Ações de grupos e semigrupos. Teoria dos Grafos: propriedades
e teoremas fundamentais. Algoritmos em Grafos. Indução e Iteração, Órbitas e pontos fixos,
Automato Celulares (AC), AC e Automatos Finitos, AC e Álgebra, AC e Computação.
CONTEÚDOS
• Coeficientes binominais
• Teorema Binominal e Triangulo de Pascal
• Permutações e combinações
• Estruturas algébricas: semigrupos, monoides, grupos (definição e exemplos)
• Grupos: propriedades
• Geradores e grafos de grupos; Grupos de permutação.
• Anéis e Corpos
• Grafos: Introdução, Definição e Terminologia.
• Grafos: Representação, isomorfismos, conectividade, grafos com pesos.
• Grafos: conectividade, caminho, circuito euleriano e hamiltoniano
• Grafos: planaridde e coloração
• Aritmética Modular
• Teoria de codificação algébrica
• Técnicas de verificação de erros
• Aplicações de matemática discreta
• Criptografia
1/2
BIBLIOGRAFIA
Básica:
SCHEINERMAN, E. R. Matemática Discreta: Uma Introdução. Segunda edição. São Paulo: Cengage
Learning, 2011.
GERSTING, J. L. Fundamentos Matemáticos para a Ciência da Computação. Quinta Edição. Rio de
Janeiro: LTC, 2004.
PATASHNIK, O.; GRAHAM, R. L.; KNUTH, D. E. Matemática Concreta: Fundamentos para a Ciência
da Computação. Segunda edição. Rio de Janeiro: LTC, 1995.
Complementar:
HARRIS, J.; HIRST, J. L.; MOSSINGHOFF, M. Combinatorics and Graph Theory. 2nd ed. Springer,
2008.
ROSEN, K. H. Matemática Discreta e suas Aplicações. Sexta edição. São Paulo: McGraw-Hill, 2009.
PEMMARAJU, S.; SKIENG, S.: Computational Discrete Mathematics: Combinatorics and Graph
Theory with Mathematica®. Cambridge University Press, 1 Reissue edition, 2009.
SUTNER, K.: Computational Discrete Mathematics (notas de aulas). Disponível eletronicamente em
http://www.cs.cmu.edu/~cdm/.
GALLIAN, J. A.; Contemporary Abstract Algebra, Seventh Edition.2010.
JUDSON, T.W.; Abstract Algebra: Theory and Applications. 2012. Disponível eletronicamente em:
http://abstract.ups.edu/.
2/2
3º PERÍODO
UNIVERSIDADE FEDERAL RURAL DE
PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n, Dois Irmãos - Recife/PE
CEP: 52171-900 | www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Circuitos Digitais CÓDIGO: 14063
DEPARTAMENTO: DEINFO ÁREA: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 2 h PRÁTICAS: 2 h
PRÉ-REQUISITOS:
CO-REQUISITOS:
SEMESTRE/ANO DE APLICAÇÃO:
EMENTA
Bases numéricas: princípio de funcionamento e padrões de representação. Representações de números inteiros e
fracionários nos sistemas digitais: representação em complemento a dois, em ponto-fixo e em ponto-flutuante. Eletrônica
básica: circuitos elétricos e circuitos eletrônicos básicos. Implementação de portas lógicas com transistores e diodos.
Famílias lógicas. Circuitos lógicos combinacionais: análise e síntese. Circuitos lógicos sequenciais: análise e síntese.
Flip-flops, registradores, e memórias. Osciladores e relógios. Dispositivos lógicos programáveis. Introdução aos sistemas
digitais. Implementação e análise de circuitos contadores, geradores de código e autômatos finitos. Linguagens de
Descrição de Hardware (HDL), Padrões de codificação de projeto em linguagens de descrição de hardware. Modelagem e
implementação de circuitos lógicos sequenciais e combinacionais por meio do uso de linguagens de descrição de
hardware. Introdução à arquitetura de computadores.
CONTEÚDOS
IV - CONTEÚDO PROGRAMÁTICO
1. Sistemas de Numeração
1.1. Bases binária, octal e hexadecimal
1.2. Representação e operação de números em complemento a dois
1.3. Representação de números reais nas notações de ponto-fixo e de ponto-flutuante
2. Eletricidade Básica e Introdução aos circuitos eletrônicos
2.1. Lei de Ohms
2.2. Princípio de funcionamento dos Semicondutores
2.2.1. Junção PN
2.2.2. Diodos
2.2.3. Transistores
3. Circuitos Lógicos Combinacionais
3.1. Álgebra Booleana
3.2. Funções e portas lógicas básicas – AND, OR, NOT, NAND, NOR, XOR, XNOR
3.3. Tabela Verdade
3.4. Expressões Booleanas
3.5. Teoremas Booleanos
3.6. Teorema de deMorgan
3.7. Universalidade das portas NAND e NOR
3.8. Simbologia Alternativa para portas lógicas
3.9. Projeto e simplificação de circuitos lógicos combinacionais
3.9.1. Aplicação de tabela verdade no projeto de circuitos lógicos combinacionais
3.9.2. Equações booleanas e suas aplicações nas implementações de circuitos lógicos combinacionais
3.9.3. Simplificação de circuitos lógicos combinacionais pelo método algébrico e pelo método de
Karnaugh
4. Circuitos Lógicos Sequenciais
4.1. Latchs
4.2. Características dos Pulsos digitais e sinais de clock
4.3. Flip-flops SR, JK, D e T
4.4. Entradas síncronas e assíncronas dos flip-flops
4.5. Problemas de temporização e sincronismo com flip-flops
4.6. Aplicações com flip-flops
4.6.1. Armazenamento de dados
4.6.2. Transferência paralela e serial de dados
4.6.3. Divisão de frequência e contagem
4.7. Circuitos Osciladores
4.7.1. Multivibradores
4.7.2. Circuitos geradores de clock
4.8. Dispositivos Schmitt-trigger
UNIVERSIDADE FEDERAL RURAL DE
PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n, Dois Irmãos - Recife/PE
CEP: 52171-900 | www.ufrpe.br
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1.TOCCI, Ronald J.; WIDMER, Neal S. Sistemas digitais: princípios e aplicações. 11ed. São Paulo: Pearson Prentice
Hall, 2007.
2. VAHID, Frank. Sistemas Digitais Projetos, Otimização e HDL. 1 ed. Porto Alegre: Bookman Companhia Editora, 2008
3. FLOYD, Thomas L. Sistemas Digitais Fundamentos e Aplicações. 9ed..Porto Alegre: Bookman Companhia Editora,
2007
BIBLIOGRAFIA COMPLEMENTAR:
1. Thomas, D. E.; Moorby, Philip R.: Verilog Hardware Description Language , 5ed. New York, Kluwer Academic
Publishers, 2002
2. IDOETA, Ivan V; CAPUANO, Francisco G. Elementos de eletrônica digital. 40. ed. São Paulo: Érica, 2008.
3. CARRO, Luigi. Projeto e prototipação de sistemas digitais. Porto Alegre: Editora da Universidade Federal do Rio
Grande do Sul, 2001.
4. PEDRONI, Volnei A. Eletrônica digital moderna e VHDL. Rio de Janeiro, RJ: Elsevier, 2010.
5.VAHID, Frank. Digital Design with RTL Design, VHDL, and Verilog . Second edition, John Wiley & Sons, Inc, New
Jersey, USA, 2011.
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: ESTATÍSTICA EXPLORATÓRIA CÓDIGO: 06243
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Nenhum
CO-REQUISITOS: Nenhum
EMENTA
Experimentos aleatórios. Frequência relativa. Probabilidade. Probabilidade
condicionada. Variáveis aleatórias discretas e contínuas. Noções de amostragem.
Distribuição de frequência. Estimativas de parâmetros. Gráficos. Intervalos de
Confiança. Teste de hipótese. Ajustamento.
CONTEÚDOS
1.
BIBLIOGRAFIA
Básica:
BARBETTA, P. A.; REIS, M. M.; BORNIA, A. C. Estatística: para cursos de engenharia
e informática. 3ª Ed. São Paulo: Atlas, 2010.
BUSSAB, W. O. & MORETIN, C. A. Estatística Básica. 6 ed. SP: Saraiva, 2010.
HOFFMANN, R. Estatística para Economistas. 3ª. ed. rev. e ampl. São Paulo: Livraria
Pioneira, 1998. 430 p.
VIEIRA, S.; HOFFMANN, R. Estatística Experimental. São Paulo:
Editora Atlas, l989. 179 p.
Complementar:
GONÇALVES, F. A. Introdução à Estatística: estatística descritiva. São Paulo: Atlas,
1976. 224p.
SPIEGEL, Murray R. Estatística. 2ª. São Paulo: McGraw-Hill, 1985. 454p.
BERQUO, Elza S.; SOUZA, José M.P.; GOTLIEL, Sabina. Bioestatística. 2ªed. São
Paulo: EPU, 1981. 350p.
HOEL, Paul G. Estatística Elementar. São Paulo: Editora Atlas, 1992. 430 p.
FONSECA, Jairo S. da, MARTINS, Gilberto de A. Curso de Estatística. São Paulo:
Editora Atlas, 1982.
Emissão
Data: Responsável:
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: FÍSICA APLICADA A COMPUTAÇÃO CÓDIGO: 06325
DEPARTAMENTO: DEPARTAMENTO DE FÍSICA ÁREA: FÍSICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Cálculo Diferencial e Integral II
CO-REQUISITOS: Nenhum
EMENTA
CONTEÚDOS
BIBLIOGRAFIA
Básica:
Haliday, D. e Resnick, R. e Walker, J. Fundamentos de Física (Volume 3). 7º Edição.
LTC, 2007.
Haliday, D. e Resnick, R. e Walker, J. Fundamentos de Física (Volume 4). 7º Edição.
LTC, 2007.
Complementar:
Física Conceitual, Paul G. Hewitt. ISBN: 853630040X. Bookman (2002).
Emissão
Data: Responsável:
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: PROJETO E ANÁLISE DE ALGORITMOS CÓDIGO: 06214
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Algoritmos e Estrutura de Dados
CO-REQUISITOS: Nenhum
EMENTA
CONTEÚDOS
1.
BIBLIOGRAFIA
Básica:
CORMEN, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002.
FEOFILOFF, Paulo. Algoritmos em Linguagem C. Editora Campus/Elsevier, 2008-2009.
ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Pascal e C. 2. ed. rev. e
ampl. São Paulo: Thomson, 2005.
Complementar:
MANBER, U. Introduction to Algorithms: A Creative Approach.Addison Wesley, 1989.
PATASHNIK, O.; GRAHAM, R. L.; KNUTH, D. E. Matemática Concreta:
Fundamentos para a Ciência da Computação. Segunda edição. Rio de Janeiro: LTC,
1995. 475 p.
BRASSARD, G; BRATLEY, P. Fundamentals of Algorithmics, Prentice Hall, 1996
DASGUPTA, S; PAPADIMITRIOU, C.; VAZIRANI, U.V. Algorithms,
McGraw-Hill, 2006. Disponível eletronicamente em:
http://www.cs.berkeley.edu/~vazirani/algorithms.html
KLEINBERG, J; TARDOS, E. Algorithm Design, Addison-Wesley, 2005.
Emissão
Data: Responsável:
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Teoria da computação CÓDIGO: 06223
DEPARTAMENTO: de Estatística e Informática (DEINFO) ÁREA: Fundamentos da Computação
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 4 h PRÁTICAS: 0 h
PRÉ-REQUISITOS: Matemática discreta II
CO-REQUISITOS: Nenhum
EMENTA
CONTEÚDOS
1. Breve histórico
2. Linguagens e cadeias
3. Linguagens regulares
1.1 Autômatos finitos determinísticos
1.1.1 Definição formal
1.1.2 Exemplos
1.1.3 Linguagem de um autômato finito determinístico
1.1.4 Desenvolvendo autômatos finitos determinísticos
1.2 Autômatos finitos não determinísticos
1.2.1 Definição formal
1.2.2 Exemplos
1.2.3 Linguagem de um autômato finito não determinístico
1.2.4 Desenvolvendo autômatos finitos não determinísticos
1.3 Equivalência entre autômatos finitos determinísticos e não determinísticos
1.4 Expressões regulares
1.4.1 Definição
1.4.2 Exemplos
1.4.3 Equivalência com autômatos finitos
1.5 Lema do bombeamento para linguagens regulares
2 Linguagens livres de contexto
2.1 Gramáticas livres de contexto
2.1.1 Definição formal
2.1.2 Exemplos
2.1.3 Derivação
2.1.4 Ambiguidade
2.1.5 Forma normal de Chomsky
2.2 Autômatos de pilha
2.2.1 Definição formal
2.2.2 Exemplos
2.2.3 Equivalência com gramáticas livres de contexto
2.3 Lema do bombeamento para linguagens livres de contexto
3 Máquinas de Turing
3.1 Definição formal e exemplos
3.2 Variantes da máquina de Turing (multifita e não determinística)
3.3 Desenvolvendo máquinas de Turing
4 Indecidibilidade
4.1 Método de diagonalização
4.2 O problema da parada
4.3 Uma linguagem Turing-irreconhecível
4.4 Redução de problemas
4.5 Exemplos de problemas indecidíveis
4.6 Problema de correspondência de Post
5 Complexidade de tempo
5.1 Notação assintótica
5.2 A classe P
5.3 A classe NP
5.4 NP-completude
5.4.1 Reduções em tempo polinomial
5.4.2 Definição
5.4.3 Teorema de Cook Levin
5.4.4 Outros problemas NP-Completos
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1.SIPSER, Michael. Introdução à teoria da computação. 2. ed. São Paulo: Thomson, 2007
2.HOPCROFT, John E.; MOTWANI, Rajeev; ULLMAN, Jeffrey D. Introdução à teoria de autômatos,
linguagens e computação. Rio de Janeiro: Campus, c2003.
3.LEWIS, Harry R.; PAPADIMITRIOU, Christos H. Elementos de teoria da computação. 2. ed. Porto
Alegre: Bookman, 2000.
BIBLIOGRAFIA COMPLEMENTAR
1.MENEZES, Paulo Blauth. Linguagens formais e autômatos. 5. ed. Porto Alegre: Bookman, 2008.
2.DIVERIO, T. A.; MENEZES, P. B. Teoria da Computação: Máquinas Universais e Computabilidade. 3a
edição. Bookman, 2011.
3.GERSTING, J. L. Fundamentos Matemáticos para a Ciência da Computação. Quinta Edição. Rio de
Janeiro: LTC, 2004.
4.RAMOS, Marcus Vinícius Midena; JOSÉ NETO, João; VEGA, Ítalo Santiago. Linguagens formais:
teoria, modelagem e implementação. Porto Alegre: Bookman, 2009.
5.PAPADIMITRIOU, Christos M. Computational complexity. New York: Addison Wesley Longman, 1994.
4º PERÍODO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES CÓDIGO: 14064
DEPARTAMENTO: DEINFO ÁREA: ARQUITETURA E REDES DE COMPUTADORES
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 3h PRÁTICAS: 1h
PRÉ-REQUISITOS: Circuitos Digitais
CO-REQUISITOS: Nenhum
EMENTA
Organização de computadores: memórias, unidades centrais de processamento,
entrada e saída. Linguagens de montagem. Modos de endereçamento e conjunto de
instruções. Mecanismos de interrupção e de exceção. Barramento, comunicações,
interfaces e periféricos. Subsistemas de entrada/saída. Organização hierárquica de
memória. Arquiteturas RISC e CISC. Pipeline. Paralelismo de baixa granularidade.
Processadores superescalares e superpipeline. Introdução à processadores vetoriais,
matriciais, multiprocessadores e multicomputadores. Introdução a arquiteturas
paralelas e não convencionais. Outras arquiteturas.
CONTEÚDOS
1. Abstrações e Tecnologia do Computador
1.1 Por baixo de um programa
1.2 Desempenho de computadores
1.3 De uniprocessadores para multiprocessadores
2. Instruções: Linguagem de Máquina
2.1 Operações e operandos de um computador
2.2 Operações com números com e sem sinal
2.3 Representando instruções no computador
2.4 Instruções para tomada de decisões
2.5 Suporte a procedimentos
2.6 Constantes e endereçamento de memória
2.7 Paralelismo e instruções
2.8 Tradução e inicialização de um programa
3. O Processador
3.1 Convenções de projeto
3.2 Construindo um datapath
3.3 Datapath Pipeline e controle
3.4 Hazards do pipeline
3.5 Exceções e interrupções
3.6 Superescalares
4. Hierarquia de memória
4.1 Os princípios de cache
4.2 Medir e melhorar o desempenho de cache
4.3 Memória virtual
4.4 Máquinas virtuais
4.5 Paralelismo e hierarquias de memória
5. Armazenamento e outros temas de E/S
5.1 Confiança, confiabilidade e disponibilidade
5.2 Armazenamento em disco
5.3 Conexão de processadores, memória e dispositivos E/S
5.4 Sistema operacional
5.5 Medidas de desempenho
5.6 Projetando um sistema de E/S
6. Multicores, Multiprocessadores e Clusters
6.1 Programas de processamento paralelo
6.2 Multiprocessadores de memória compartilhada
6.3 Clusters e outros multiprocessadores message-passing
6.4 Hardware multithreading
6.5 SISD, MIMD, SIMD e SPMD
6.6 Introdução ao multiprocessador baseado em rede
BIBLIOGRAFIA
Básica:
1. Hennessy, J., Patterson, D., “Computer Organization and Design”, 4 th Edtion Revised
Printing, Morgan Kaufmann-Elsevier, 2012.
2. Hennessy, J., Patterson, D., "Computer Architecture: A Quantitative Approach", 4th
edition, Morgan Kaufmann-Elsevier, 2006.
3. Stallings, W. Arquitetura e Organização de Computadores, quinta edição. São Paulo,
Makron Books, 2002.
Complementar:
1. Tanembaum, A.S. Organização Estruturada de Computadores. Rio de Janeiro, LTC,
2001.
2. Hennessy, J., Patterson, D., "Computer Architecture: A Quantitative Approach", 3rd
edition, Morgan Kaufmann-Elsevier, 2002.
3. Hennessy, J., Patterson, D., "Computer Architecture: A Quantitative Approach", 5th
edition, Morgan Kaufmann-Elsevier, 2011.
4. Clements A. “Computer Organization & Architecture: Themes and Variations”,
Cengage Learning, 2013.
5. Harris, D., Harris, S. “Digital Design and Computer Architecture”, 2sd edition, Morgan
Kaufmann-Elsevier, 2012.
6. Stallings, W., “Computer Organization and Architecture”, 9th Edition, 2012
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 081-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: BANCO DE DADOS S CÓDIGO: 14088
DEPARTAMENTO: DEINFO ÁREA: Engenharia de Sistemas de Software
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 04
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 2 h PRÁTICAS: 2 h
PRÉ-REQUISITOS: Algoritmos e Estruturas de Dados
CO-REQUISITOS: Nenhum
EMENTA
Introdução aos Banco de Dados. Modelo de Dados. Modelagem Entite-Relacionamento. Projeto lógico
e Físico de Banco de Dados. Sistemas de gerenciamento de bancos de dados (SGBD): arquitetura,
segurança, integridade, concorrência, recuperação após falha, gerenciamento de transações.
Linguagem SQL: DDL, DML, DCL. Normalização de Dados. Transações. Tecnicas de Programação em
SQL. Segurança em Banco de Dados Relacional. Recuperação após Falha e Concorrência. Conectividade
em Banco de Dados.
CONTEÚDOS
1. Conceitos Básicos de um Sistema de Gerenciamento de Banco de Dados(SGBD):
1.1. Objetivos dos sistemas de bancos de dados.
1.2. Abstração de dados.
1.3. Instâncias e esquemas.
1.4. Independência de dados.
1.5. Linguagem de Definição de Dados.
1.6. Linguagem de Manipulação de Dados.
1.7. Gerenciador de Banco de Dados.
1.8. Usuários e Administrador de Banco de Dados.
1.9. Dicionários de Dados
2. Modelo Entidade-Relacionamento:
2.1. Modelagem conceitual de Dados.
2.2. Objetos Conceituais.
2.3. Entidade.
2.4. Atributos.
2.5. Relacionamentos.
2.6. Diagrama Entidade-relacionamento.
2.7. Cardinalidade.
2.8. Chaves.
2.9. Generalização.
2.10. Agregação.
2.11. Mapeamento de Diagramas E-R para Tabelas.
2.12. Projeto de um Esquema de Bancos de Dados E-R.
3. O Modelo Relacional:
3.1. Principais Vantagens da Abordagem Relacional.
3.2. Derivação do Modelo E-R para o Modelo Relacional.
3.3. Restrições de Domínio.
3.4. Integridade Referencial.
3.5. Restrições de Integridade.
3.6. Álgebra Relacional.
4. Linguagem SQL:
4.1. Linguagens Relacionais Comerciais.
4.2. A Importância da Linguagem SQL.
4.3. Vantagens e Desvantagens da Linguagem SQL.
4.4. A linguagem SQL.
5. Normalização de Dados
5.1. Dependências Funcionais
5.2. Regras de normalização de dados de Codd.
6. Transações
6.1. Propriedades das Transações
6.2. Especificação de Segurança em SQL.
6.3. Encriptação.
7. Tecnicas de Programação em SQL
7.1. Stored Procedures
7.2. Functions
7.3. Triggers
8. Segurança em Banco de Dados Relacional
8.1. Violações de Segurança e Integridade, autorização e views
9. Recuperação após Falha e Concorrência
10. Conectividade em Banco de Dados
BIBLIOGRAFIA
BÁSICA
1. Ramez Elmasri, Shamkant B. Navathe. Sistemas de Banco de Dados - 6ª Ed. Pearson Education, 2011.
2. A. Silberschatz, H. Korth , S Sudarshan. Sistema de Banco de Dados. Elsevier. 6a. Edição, 2012.
3. Date, C. J. Uma Introdução a Sistemas de Bancos de Dados, 8ª edição, Editora Campus, 1999.
COMPLEMENTAR:
1. Peter Rob e Carlos Coronel. Sistemas de Banco de Dados: Projeto, Implementação e Gerenciamento.
Editora Cengage, 2010.
2. Carlos Heuser, Projeto de Banco de Dados, 6ª. Edição, Editora Bookman, 2009
3. F. Machado, Projeto de banco de dados : uma visão prática - 12. ed, Editora Érica, 2005
4. Brian Jepson, Joan Peckham, Ram Sadasiv. Programando aplicativos de banco de dados em Linux ;
Makron Books, 2002.
5. David M. Kroenke. Banco de dados: fundamentos, projeto e implementação. 6.ed.-Rio de Janeiro:LTC,
1999.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 081-3320-6000 www.ufrpe.br
PROPOSTA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Engenharia de Software CÓDIGO: 06226
DEPARTAMENTO: DEINFO ÁREA: Engenharia de Sistemas de Software
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 04
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 4 h PRÁTICAS: 0 h
PRÉ-REQUISITOS: Introdução à Programação II
CO-REQUISITOS: Nenhum
EMENTA
Processos de software. Ciclo de vida de desenvolvimento de software. Modelagem de software.
Introdução a Modelos de Qualidade e de Gerenciamento de projetos de software. Ambientes
de desenvolvimento de software. Padrões de projeto. Técnicas de teste de software. Reuso de
componentes de software.
CONTEÚDOS
1. Visão geral da engenharia de software
1.1. Conceitos e definições;
1.2. Áreas de conhecimento;
1.3. Ferramentas CASE;
1.4. Métodos de engenharia de software;
1.6. Ciclo de vida de desenvolvimento de software;
1.7. Aspectos éticos e sociais.
2. Processos de Software
2.1. Atividades de desenvolvimento;
2.2. Atividades de suporte;
2.3. Modelos de processo de software;
2.4. Processos prescritivos (tradicionais);
2.5. Processos ágeis.
3. Gerenciamento de Projetos
3.1. Conceitos e definições;
3.2. Restrições de projetos;
3.3. Controle de riscos;
3.4. Atividades de gerenciamento;
3.5. Atividades e papel do gerente de projetos;
3.6. Ferramentas de gerenciamento de projetos;
3.7. Ciclo de vida de gerenciamento de projetos.
4. Requisitos
4.1. Conceitos e definições;
4.2. Visão geral da engenharia de requisitos;
4.3. Casos de uso;
4.4. Atividades de requisitos;
4.5. Técnicas para elicitação e documentação de requisitos;
4.6. Artefatos de requisitos.
5. Análise e Projeto
5.1. Conceitos, definições e princípios;
5.2. Diagramas UML;
5.3. Padrões de projeto;
5.4. Arquitetura de software;
5.5. Ferramentas de modelagem;
5.6. Atividades de análise e projeto OO;
5.7. Artefatos de análise e projeto OO.
6. Teste de Software
6.1. Conceitos e definições;
6.2. Processo de testes;
6.3. Tipos de testes;
6.4. Desenvolvimento dirigido a testes;
6.5. Ferramentas de suporte a testes.
7. Qualidade de Software
7.1. Gerência da qualidade;
7.2. Modelos de qualidade.
8. Gerência de Configuração e Mudanças
8.1. Gerência de configuração;
8.2. Gerência de mudanças.
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1. PRESSMAN, R., MAXIN, B.R. Engenharia de Software: Uma Abordagem Profissional. 8. ed. Porto
Alegre: McGrawHill, 2016.
2. SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Brasil, 2011.
3. IEEE Computer Society. Guide to the Software Engineering Body of Knowledge (SWEBOK), 2004.
Available inhttp://www.computer.org/portal/web/swebok.
BIBLIOGRAFIA COMPLEMENTAR:
1. FOWLER, M. UML Essencial: um breve guia para linguagem padrão. Bookman Editora, 2014.
2. PMBOK. A guide to the project management body of knowledge: PMBOK Guide- Fifth Edition Project
Management Institute Newtown Square PA, USA. 2013
3. BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML - Guia do Usuário. 2. ed. Rio de Janeiro: Campus,
2006.
4. WELLS, D. Extreme Programming: a gentle introduction, 2009. Disponível em:
<http://www.extremeprogramming.org>.
5. SCHWABER, K.; BEEDLE, M. Agile software development with Scrum. [S.l.]: Microsoft Press, 2004.
6. GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. Padrões de Projeto: soluções reutilizáveis de
software orientado a objetos. Porto Alegre: Bookman, 2004.
7. ROCHA, Ana Regina Cavalcante da; MALDONADO, José Carlos; WEBER, Kival Chaves. Qualidade de
software. São Paulo: Prentice Hall, 2001.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 081-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Paradigmas de Programação CÓDIGO: 06252
DEPARTAMENTO: DEINFO ÁREA: Engenharia de Sistemas de Software
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 04
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 4 h PRÁTICAS: -
PRÉ-REQUISITOS: Introdução à Programação II
CO-REQUISITOS: Nenhum
EMENTA
Caracterização das linguagens de programação de computadores e de seus diferentes paradigmas de
programação (lógico, procedural, funcional, orientação a objetos, concorrente, aspectos). Estudo de
conceitos básicos para no que se refere a linguagens: implementação, estrutura de dados, abstração
de dados, controle, tipos, escopo, subprograma, passagem de parâmetro, recursividade, sintaxe,
semântica.
CONTEÚDOS
1. Paradigmas de Linguagens de Programação
1.1 Funcional
1.2 Lógico
1.3 Imperativo
1.4 Orientação a Objetos
1.5 Orientação a Aspectos
1.6 Concorrente
1.7 Dirigido a eventos
2. Sintaxe e semântica
3. Conceitos das linguagens de programação
3.1 Nomes, vinculação, verificação de tipos e escopo
3.2 Tipos de dados
3.3 Expressões e instruções de atribuição
3.4 Estruturas de controle
3.5 Subprogramas
3.6 Tipos de dados abstratos e encapsulamento
3.7 Concorrência
3.8 Tratamento de Exceções
BIBLIOGRAFIA
Básica:
1. SCOTT, M. Programming Language Pragmatics. Third Edition. Morgan Kaufmann, 2009. 944 p.
2. MELO, A. C., SILVA, F. S. C. Princípios de Linguagem de Programação.
LTDA, 2003.
3. KAISLER, S. H. Software Paradigms. Wiley-Interscience, 2005
4. TURBAK, F. A., GIFFORD, D. K. Design Concepts in Programming Languages. MIT Press, 2014.
5. RYZHOV, P. Haskell Financial Data Modeling and Predictive Analytics. Packt Publishing Ltd, 2013.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Redes de Computadores CÓDIGO: 14050
DEPARTAMENTO: DEINFO ÁREA: ARQUITETURA E REDES DE COMPUTADORES
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 04
CARGA HORÁRIA SEMANAL: 04 h TEÓRICAS: 04 h PRÁTICAS: 00 h
PRÉ-REQUISITOS: nenhum
CO-REQUISITOS: nenhum
EMENTA
CONTEÚDOS
BIBLIOGRAFIA
Básica:
1. ROSS, K.W. e Kurose, J.F. Redes de Computadores e a Internet. 3. ed. São Paulo: Addison-Wesley, 2006.
2. TANEMBAUM, A.S. Redes de Computadores. Rio de Janeiro: Elsevier, 2003.
3. FOROUZAN, Behrouz A. Comunicação de dados e redes de computadores : Behrouz A. Forouzan ; tradução:
Glayson Eduardo de Figueiredo, Pollyanna Miranda de Abreu. Porto Alegre: Bookman, 2006.
Complementar:
1. COMER, Douglas. Redes de Computadores e Internet: abrange transmissão de dados, ligação inter-redes, WEB e
aplicações. Porto Alegre: Bookman, 2007.
2. RUFINO, N.M.O. Segurança em Redes sem Fio. 2. ed. São Paulo: Novatec, 2007.
3. CARVALHO, Luciano Gonçalves de. Segurança de redes. Rio de Janeiro: Ciência Moderna, 2005.
4. COSTA, Daniel Gouveia. Java em rede: programação distribuída na Internet. Rio de Janeiro: Ciência Moderna,
2008.
5. COMER, Douglas. Interligação em rede com TCP/IP: princípios, protocolos e arquitetura. Rio de Janeiro: Campus,
1998.
5º PERÍODO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n, Dois Irmãos - Recife/PE
CEP: 52171-900 | www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Compiladores CÓDIGO: 14090
DEPARTAMENTO/UNIDADE ACADÊMICA: DEINFO / Sede ÁREA: Fundamentos da Computação
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 3 h PRÁTICAS: 1 h
PRÉ-REQUISITOS: Teoria da Computação, Introdução a Programação II
CO-REQUISITOS: NENHUM
EMENTA
Especificação da sintaxe de linguagens de programação com expressões regulares e gramáticas livres de contexto.
Análise léxica. Análise sintática: ascendente e descendente. Geradores automáticos de lexers e parsers. Análise
semântica. Geração de código intermediário e final.
CONTEÚDOS
2. Análise Léxica
2.1 Objetivo
2.2 Desenvolvendo de forma manual
2.3 Geração de lexers a partir de expressões regulares
2.4 Geradores automáticos de lexers
3. Análise Sintática
3.1 Objetivo
3.2 Tratando ambiguidades nas gramáticas livres de contexto
3.3 Parser descendente recursivo
3.4 Parsers ascendente LR(0) e SLR
5. Análise Semântica
5.1 Tabela de símbolos
5.2 Verificações de escopo
5.3 Verificações de tipo
5.4 Outras verificações
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1. LOUDEN, Kenneth C. Compiladores: princípios e práticas. São Paulo: Thomson Learning, 2004.
2. AHO, Alfred V.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: principios, tecnicas e fer-ramentas. Rio de
Janeiro: LTC, c1995.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n, Dois Irmãos - Recife/PE
CEP: 52171-900 | www.ufrpe.br
3. COOPER, Keith; TORCZON, Linda. Construindo Compiladores (trad. da 1ª edição). Campus Elsevier, 2013.
BIBLIOGRAFIA COMPLEMENTAR:
1. AHO, Alfred V.; LAM, Monica S.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: princípios, técnicas e
ferramentas. Segunda edição. São Paulo: Pearson Addison-Wesley, 2008.
2. WATT, David; BROWN, Deryck. Programming Language Processors in Java: Compilers and Interpreters. Prentice
Hall, 2000.
3. SEBESTA, Robert W. Conceitos de linguagens de programação. 5. ed. Porto Alegre: Book-man, 2003.
4. PARR, Terence. Language Implementation Patterns: Create Your Own Domain-Specific and General Programming
Languages.Pragmatic Bookshelf, 2010.
5. GRUNE, Dick et al. Projeto moderno de compiladores: implementação e aplicações. Rio de Janeiro: Campus, 2001.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n, Dois Irmãos - Recife/PE
CEP: 52171-900 | www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Inteligência Artificial CÓDIGO: 14074
DEPARTAMENTO/UNIDADE ACADÊMICA: DEINFO / Sede ÁREA: Fundamentos da Computação
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 4 h PRÁTICAS: 0 h
PRÉ-REQUISITOS: Introdução a Programação II
CO-REQUISITOS: NENHUM
EMENTA
Definições de IA. Agentes Inteligentes. Resolução de problemas por meio de busca: sem informação e com informação.
Buscas locais para problemas de otimização. Introdução à aprendizagem de máquina. Aprendizagem supervisionada:
baseada em instâncias, aprendizagem bayesiana. árvores de decisão, introdução às redes neurais. Aprendizagem não
supervisionada. Aprendizagem por reforço. Lógica Fuzzy.
CONTEÚDOS
1. Inteligência Artificial.
1.1 O que é IA?
1.2 História de IA.
1.3 Usos e Limitações.
2. Agentes Inteligentes.
2.1 Definições
2.2 Estrutura dos agentes inteligentes
2.3 Ambientes
3. Resolução de Problemas
3.1 Resolução de problemas por meio de busca
3.2 Busca com Informação e Exploração
3.3 Busca Local
3.4 Algoritmos Genéticos
4. Aprendizado Supervisionado
4.1 Aprendizagem Baseada em Instâncias
4.2 Aprendizado Bayesiano
4.3 Arvores de Decisão
4.4 Redes Neurais
7. Lógica Fuzzy
7.1 Conjuntos Fuzzy
7.2 Funções de Pertinência
7.3 Raciocínio Fuzzy
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1. Russel, Stuart J.; Norving, Peter. Artificial intelligence: a modern approach . 3rd ed. New Jersey: Prentice - Hall, 2010.
xviii, 1132 p. ISBN 9780136042594 (enc.).
2. Carvalho, André. Inteligência Artificial - Uma Abordagem de Aprendizado de Máquina. LTC. 394 p. 2011.
3. Theodoridis, Sergios; Konstantinos, Koutroumbas. Pattern recognition. 4th ed. Burlington, Mass.: Elsevier, 2009.
BIBLIOGRAFIA COMPLEMENTAR:
1. Bishop, Christopher M. Pattern recognition and machine learning. New York: Springer,, 738 p. 2006.
2. Richard O. Duda, Peter E. Hart, David G. Stork, Pattern Classification, 2. ed., Willey, 2000.
3. Mitchell, T. Machine Learning. [S.l.]: McGraw Hill, 1997.
4. Witten, I. H; Frank, Eibe; Hall, Mark A. Data mining: practical machine learning tools and techniques. 3rd ed.
Burlington, MA: Elsevier/Morgan Kaufmann, 2011.
5. Coppin, B. Inteligência Artificial. Rio de Janeiro:LTC, 2010.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: Projeto de Desenvolvimento de Software CÓDIGO: 14080
DEPARTAMENTO: DEINFO ÁREA: Engenharia de Sistemas de Software
CARGA HORÁRIA TOTAL: 60 h NÚMERO DE CRÉDITOS: 04
CARGA HORÁRIA SEMANAL: 4 h TEÓRICAS: 2 h PRÁTICAS: 2 h
PRÉ-REQUISITOS: Introdução a Programação II, Banco de Dados e Engenharia de Software
CO-REQUISITOS: Nenhum
EMENTA
Instanciação de um processo de desenvolvimento de software: fluxo, atividades, papéis e produtos de trabalho. Desenvolvimento
de projeto multidisciplinar em equipe. Implementação de um produto de software. Uso de padrões de projeto e de codificação de
software. Realização de testes automatizados de software.
CONTEÚDOS
4. Padrões de desenvolvimento:
4.1. Padrões de projeto.
4.2. Padrão de codificação.
4.3. Documentação dos testes.
5. Desenvolvimento de um projeto de software:
5.1. Reflexões sobre as lições aprendidas ao longo do desenvolvimento.
BIBLIOGRAFIA
BIBLIOGRAFIA BÁSICA:
1. COHN, M. Desenvolvimento de software com SCRUM: Aplicando métodos ágeis com sucesso. Porto Alegre: Bookman,
2011.
2. GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. Padrões de Projeto: soluções reutilizáveis de software orientado
a objetos. Porto Alegre: Bookman, 2005.
3. KRUCHTEN, P. Introdução ao RUP - Rational Unified Process. Rio de Janeiro: Ciência Moderna, 2003
BIBLIOGRAFIA COMPLEMENTAR:
4. PRESSMAN, R. Engenharia de Software. 6. ed. ed. Porto Alegre: McGrawHill, 2006.
5. BECK, K. Programação Extrema explicada. Porto Alegre: Bookman, 2004.
6. BROOKS, F. P. O Mítico Homem-mês, Ensaios sobre a Engenharia de Software. Rio de Janeiro: Campus, 2009
(reimpressão).
7. SCHWABER, K., SUTHERLAND, J. Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers,
And Leave Competitors In the Dust. New Jersey: John Wiley & Sons, 2012.
8. SEBESTA, R. W. Conceitos de Linguagens de Programação. 9. ed. Porto Alegre: Bookman, 2011.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: SISTEMAS DISTRIBUÍDOS CÓDIGO: 14059
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Redes de Computadores
CO-REQUISITOS: Nenhum
EMENTA
CONTEÚDOS
5. Serviços Web
5.1 Introdução
5.2 Descrição de serviços Web
5.3 Padrões
5.4 Segurança em Serviços Web
6. Segurança para Sistemas Distribuídos
6.1 Conceitos básicos de segurança
6.2 Criptografia e algoritmos criptográficos
6.3 Assinatura digital
6.4 Ataques comuns em sistemas distribuídos
7. Tópicos atuais em Sistemas Distribuídos
7.1 Computação em nuvem
7.2 Computação móvel
7.3 Computação orientada a serviços
BIBLIOGRAFIA
Básica:
Coulouris, G. and Dollimore, J. and Kindberg, T, "Sistemas Distribuídos, 4a Ed.",
Bookman, 2007.
Tanenbaum, A. S.; Van Steen, M. “Sistemas Distribuidos: Principios E Paradigmas”.
Prentice Hall, 2007.
Tanembaum, Andrew S. “Redes de Computadores”. Rio de Janeiro: Elsevier, 2003.
945p.
Complementar:
Goetz, Brian; Guimarães, Petula. Java concorrente na prática. Rio de Janeiro, RJ: Alta
Books, c2008. xx, 278 p. ISBN 9788576082071.
Tanembaum, Andrew S. Sistemas operacionais modernos. 3. ed. São Paulo: Pearson
Prentice Hall, 2009. xvi, 653p.
Tanembaum, Andrew S. “Sistemas operacionais modernos”. 3. ed. São Paulo: Pearson
Prentice Hall, 2009.
Carvalho, Luciano Gonçalves de. Segurança de redes. Rio de Janeiro: Ciência
Moderna, 2005. 79 p.
Deitel, Harvey M.; Deitel, Paul J. Java: como programar. São Paulo: Prentice Hall,
2005.
Emissão: Coordenação do Curso de Bacharelado em Ciência da Computação
2/2
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6000 www.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
DISCIPLINA: SISTEMAS OPERACIONAIS CÓDIGO: 14065
DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA
CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4
CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 4h PRÁTICAS: -
PRÉ-REQUISITOS: Arquitetura e Organização de Computadores
CO-REQUISITOS: Nenhum
EMENTA
Software básico: boot e BIOS. Gerenciamento de memória. Memória virtual. Conceito de
processo. Gerência de processador: escalonamento de processos, monoprocessamento e
multiprocessamento. Concorrência e sincronização de processos. Alocação de recursos e
deadlocks. Gerenciamento de arquivos. Gerenciamento de dispositivos de entrada/saída.
Análise de desempenho. Sistemas operacionais para multiprocessadores. Sistemas
operacionais distribuídos. Introdução a sistemas operacionais de tempo real.
CONTEÚDOS
1. História e Evolução
2. Conceitos Básicos
2.1 Arquitetura de Computadores
2.2 Software básico
3. Processos
3.1. Conceitos básicos
3.2. Escalonamento de Processo
3.3. Monoprocessamento x Multiprocessamento
3.4. Multiprogramação
3.5. Concorrência e sincronização de processos
3.6. Alocação de Recursos
3.7. Deadlock
4. Gerenciamento de Memória
4.1. Conceitos básicos
4.2. Swaping
4.3. Memória Virtual
4.4. Alocação de páginas
5. Sistemas de Arquivos
5.1. Conceitos básicos
5.2. Organização
5.3. Alocação em disco
6. Entrada e Saída
6.1. Conceitos básicos
6.2. Dispositivos de Hardware
6.3. Dispositivos de Software
7. Sistemas Operacionais Multiprocessadores
7.1. Conceitos básicos
7.2. Exemplos
8. Sistemas Operacionais Distribuídos
8.1. Conceitos básicos
8.2. Exemplos
9. Sistemas Operacionais de Tempo Real
9.1. Conceitos básicos
9.2. Exemplos
10. Análise de Desempenho
BIBLIOGRAFIA
Básica:
TANENBAUM, A.s., WOODHULL, A. S. Sistemas Operacionais – Projeto e Implementação.
ArtMed, 2008 (3ª edição).
TANENBAUM, A.s. Sistemas operacionais modernos. São Paulo: Pearson Prentice Hall, 2009.
(3ª edição).
OLIVEIRA, R. S., CARISSIMI, A. S., TOSCANI, S. Sistemas Operacionais. Editora Sagra
Luzzato: Porto Alegre, 2ª ed., 2001. Série Livros Didáticos do Instituto de Informática da
UFRGS.
Complementar:
SILBERCHATZ, A. Sistemas Operacionais : conceitos. São Paulo. Prentice Hall, 2000.
SILBERCHATZ, A. Fundamentos de Sistemas Operacionais. LTC, 2010 (8ª edição).
TANENBAUM, A.s. Organização Estruturada de Computadores. Prentice Hall, 2006 (5ª
EDIÇÃO).
DEITEL, H. M. Sistemas Operacionais. Prentice Hall, 2005 (3ª edição).
STUART, B. L. Princípios de Sistemas Operacionais- Projetos e Aplicações. Cengage Learning,
2010 (1ª edição).
Emissão:
Data: Responsável:
OUTRAS
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO
Rua Dom Manoel de Medeiros, s/n - Dois Irmãos 52171-900 Recife-PE
Fone: Oxx-81-332060-40 proreitor@preg.ufrpe.br
PROGRAMA DE DISCIPLINA
IDENTIFICAÇÃO
( X ) OBRIGATÓRIA ( ) OPTATIVA
DEPARTAMENTO: DEINFO
PROFESSOR RESPONSÁVEL:
Ano:
OBJETIVOS DA DISCIPLINA
Objetivo geral:
Proporcionar aos alunos a possibilidade de desenvolver um projeto de pesquisa que
será usado para a condução do trabalho de conclusão de curso (TCC).
Objetivos específicos:
Identificar um tema, problema de pesquisa, objetivos e justificativas para o
trabalho de conclusão de curso do discente.
Elaborar um cronograma de trabalho para ser usado na condução do trabalho
de conclusão de curso.
Conhecer as normas vigentes (ex: ABNT) a serem adotadas para o projeto de
conclusão e para o trabalho de conclusão de curso.
CONTEUDO PROGRAMATICO
BIBLIOGRAFIA:
BÁSICA:
GIL, Antonio Carlos. Como elaborar projetos de pesquisa. 4. ed. São
Paulo: Atlas, 2002.
TACHIZAWA, Takeshy; MENDES, Gildásio. Como fazer monografia na
prática. 12. ed. Rio de Janeiro: FGV Ed., 2006.
CERVO, Amado Luiz; BERVIAN, Pedro Alcino; SILVA, Roberto da.
Metodologia científica. 6. ed. -. São Paulo, SP: Prentice Hall, 2007.
MÁTTAR NETO, João Augusto. Metodologia científica na era da
informática. São Paulo, SP: Saraiva, 2010.
COMPLEMENTAR:
SECAF, Victoria. Artigo científico: do desafio à conquista. 4. ed. São
Paulo, SP: Martinari, 2007.
KOCHE, José Carlos. Fundamentos de metodologia científica: teoria da
ciência e iniciação à pesquisa. 24. ed. Petrópolis, RJ: Vozes, 2007.
LAKATOS, Eva Maria; MARCONI, Marina de Andrade. Metodologia
científica. 5. ed. São Paulo: Atlas, 2010.
SANTOS, Antonio Raimundo dos. Metodologia cientifica: a construção
do conhecimento. 4. ed. Rio de Janeiro: DP&A, 2001.
SPECTOR, Nelson. Manual para a redação de teses, projetos de
pesquisa e artigos científicos. 2. ed. Rio de Janeiro: Guanabara Koogan,
2001.
SEVERINO, Antônio Joaquim. Metodologia do trabalho científica. 22.
ed. revista de acordo com a ABNT e ampliada. São Paulo: Cortez.
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Rua Dom Manoel de Medeiros, s/n. - Dois Irmãos CEP: 52171-900 Recife - PE
Fone: 0xx-81-3320-6257 www.ufrpe.br
Campos de Atuação:
Estágio Supervisionado