Você está na página 1de 62

1º 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-6257 www.ufrpe.br

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

1- FUNÇÕES REAIS DE UMA VARIÁVEL REAL


1.1 – Números Reais, Intervalos, Valor Absoluto e Desigualdades.
1.2 – Funções: conceito, domínio, contradomínio e imagem.
1.3 – Funções elementares, Gráficos.
1.4 – Funções Injetoras, Sobrejetoras e Bijetoras, Funções Invertíveis.
1.5 – Funções Pares e Funções Ímpares.
2 - LIMITES E CONTINUIDADE
2.1 – Conceito e noção intuitiva de limite. Propriedades básicas.
2.2 – Limites Laterais.
2.3 – Teorema do Confronto.
2.4 – Limites infinitos e limites no infinito. Operações com o símbolo
3 – DERIVADAS: CONCEITO E REGRAS
3.1 – Conceito e interpretação geométrica. Regras básicas de derivação.
3.2 – Derivadas das funções elementares.
3.3 – Derivada da função composta. Derivada da função inversa.
3.4 – Derivadas das funções trigonométricas inversas.
3.5 – Problemas de Taxa de Variação.
4 - DERIVADAS: APLICAÇÕES
4.1 – Máximos e Mínimos.
4.2 – Teoremas de Rolle e do Valor Médio.
4.3 – Regra de L’Hôpital no cálculo de limites.
4.4 – Região de crescimento e concavidade. Esboço de gráficos.
5.5 – Resoluções de Problemas pertinentes aos currículos de engenharia, e/ou ciências biológicas, e/ou
agrícolas, e/ou computação, e/ou física, e/ou Química, e/ou ciências sociais, dentre outras.

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)

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

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
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. Introdução à Ciência da Computação: o que é; áreas de conhecimento; computação e


sociedade; a profissão;

2. Evolução da Ciência da Computação: história; evolução dos computadores; futuro;

3. Sistemas de Numeração: bases numéricas; aritmética binária; representação de dados;

4. Arquitetura e Organização dos Computadores: conceitos básicos; arquitetura Von Neumann;


processadores; memória; barramento; entrada e saída;

5. Sistemas Operacionais: conceitos básicos; evolução; processos; memória; arquivos;

6. Redes de Computadores: conceitos básicos; arquitetura; segurança;

7. Programação: algoritmos e lógica de programação; linguagens; compiladores e


interpretadores; desenvolvimento.

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).

Emissão: Coordenação do Curso de Bacharelado em Ciência da Computação


Data: Responsável: _____________________________

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

DEPARTAMENTO: DEINFO ÁREA: INFORMÁTICA

CARGA HORÁRIA TOTAL: 60h NÚMERO DE CRÉDITOS: 4

CARGA HORÁRIA SEMANAL: 4h TEÓRICAS: 2h PRÁTICAS: 2h

PRÉ-REQUISITOS: Nenhum

EMENTA

Introdução às linguagens de programação algorítmicas e ao desenvolvimento estruturado de


programas. Tipos e estruturas elementares de dados, operadores, funções embutidas e
expressões. Instruções condicionais, incondicionais e de repetição. Tipos compostos de dados:
vetores, matrizes e registros. Ponteiros. Modularização, funções e procedimentos, passagem
por valor e por referência, documentação. Introdução a uma linguagem de programação
algorítmica popular. Introdução à organização de dados em arquivos. Noções de recursão.
Problemas algorítmicos elementares de busca e ordenação.

CONTEÚDOS

1. Fundamentos da construção de algoritmos e programas;


2. Ambientes de programação: uso de uma linguagem de programação;
3. Conceitos básicos: variáveis, operadores e expressões, estruturas de controle
(atribuição, seleção, repetição);
4. Dados estruturados homogêneos (vetores e matrizes);
5. Dados estruturados heterogêneos;
6. Subprogramas: funções, procedimentos;
7. Parâmetros locais e globais;
8. Recursão;
9. Ponteiros; e
10. Manipulação de Cadeias de Caracteres
11. Manipulação de Arquivos.
PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)
NA.

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.

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-6257 www.ufrpe.br

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

Emissão: Coordenação do Curso de Bacharelado em Ciência da Computação

Data: Responsável: ___________________________________

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.

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 - Recife/PE
CEP: 52171-900 | www.ufrpe.br

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

1. Introdução ao Estudo de Algoritmos.


1.1 Definição de Algoritmo;
1.2. Análise de Pior Caso, Caso Médio e Melhor Caso;
1.3. Análise Assintótica;
1.4. Estratégia Dividir-Para-Conquistar;
1.5. Algoritmos Recursivos.

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.

5. Conceitos Básicos de NP-Completude.


5.1. Problemas NP-Completos;
5.2. Redutibilidade;
5.3. Aplicações;

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:

1. MANBER, Udi. Introduction to Algorithms: A Creative Approach. Addison Wesley, 1989.


2. FARRER, Harry; BECKER, Christiano Gonçalves; FARIA, Eduardo Chaves et al. Algoritmos Estruturados. 3a ed.
Rio de Janeiro: LTC, 1999.
3. FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de
algoritmos e estrutura de dados. 3. ed. São Paulo: Prentice-Hall, 2005.
4. SZWARCFITER, J. Estruturas de Dados e seus Algoritmos. Rio de Janeiro: LTC, 1994.
5. KRUSE, Robert L; RYBA, Alexander J. Data Structures and Program Design in C++. Prentice Hall, 1999.
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 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

1 - INTEGRAL DE FUNÇÕES DE UMA VARIÁVEL


1.1 – Primitivas e o conceito de integral.
1.2 – O Teorema Fundamental do Cálculo.
1.3 – Técnicas de integração. Integrais Impróprias
1.4 – Aplicações: comprimento de curvas, área de uma região plana, volume de sólidos de revolução.
Métodos de Resolução de Equações Diferenciais Ordinárias.
1.5 – Área em coordenadas polares.
2 - FUNÇÕES REAIS DE VÁRIAS VARIÁVEIS
2.1 – Conceitos topológicos no plano e no espaço.
2.2 – Funções de várias variáveis: domínio, imagem e conjunto de nível.
2.3 – Limite e continuidade.
3 – DERIVADAS PARCIAIS
3.1 – Conceito e interpretação geométrica. Regras básicas de derivação.
3.2 – Diferenciabilidade e plano tangente. Reta normal.
3.3 – Regra da Cadeia.
3.4 – Gradiente e Derivada Direcional.
3.5 – Derivadas parciais de ordem superior.
4 - APLICAÇÕES
4.1 – Máximos e Mínimos.
4.2 – Multiplicadores de Lagrange.
4.3 – Derivação implícita.
4.4 – Resoluções de Problemas pertinentes aos currículos de engenharia, e/ou ciências biológicas, e/ou
agrícolas, e/ou computação, e/ou física, e/ou química, e/ou ciências sociais, dentre outras.

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


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] STEWART, James. Cálculo, vol. 2, Pioneira Thomson Learning.

[3] GUIDORIZZI, Hamilton. Um Curso de Cálculo, vol. 1, LTC.


[4] GUIDORIZZI, Hamilton. Um Curso de Cálculo, vol. 2, LTC.
[5] 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.

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/.

Emissão: Coordenação do Curso de Bacharelado em Ciência da Computação

Data: Responsável: _______________________________________

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

4.9. Projeto e análise de circuitos sequenciais


4.9.1. Contadores assíncronos
4.9.2. Contadores síncronos
9.2.1. Paralelo módulo N
9.2.2. Paralelo módulo menor que N
9.2.3. Contadores crescentes e decrescentes
9.2.4. Contadores com carga paralela
9.2.5. Projeto e análise de contadores síncronos
4.9.3. Metodologia de Projeto e análise de circuitos sequenciais
9.3.1. Modelagem por meio de máquina de estados finitos
9.3.2. Tabela de transição de estados
9.3.3. Circuitos de ativação
5. Famílias Lógicas e Circuitos Integrados
5.1. Família lógica TTL (Transistor Bipolar)
5.2. Família lógica CMOS (Transistor de Efeito de Campo)
6. Tecnologias de acoplamento
6.1. Saída Toten-pole
6.2. Saída coletor aberto
6.3. Saída Tri-state
6.4. Portas de transmissão CMOS
6.5. Interfaceamento de Cis
6.6. Circuitos Lógicos MSI
6.6.1. Decodificadores/Codificadores
6.6.2. Multiplexadores/Demultiplexadores
6.6.3. Comparador de Magnitude
6.6.4. Conversor de código
6.6.5. Barramento de dados
7. Matrizes de Portas Lógicas Reconfiguráveis em Campo (Field Progammable Gate Array - FPGA)
7.1. Introdução
7.2. Arquitetura Interna de um FPGA
7.3. Famílias de FPGAs
7.4. Ambiente de desenvolvimento de projetos para FPGAs
8. Linguagem de descrição de hardware (Hardware Description Language - HDL)
8.1. Introdução as Linguagens de Descrição de Hardware
8.2. Linguagem Verilog
8.2.1. Sintaxe básica
8.2.2. Padrões de codificação de projeto em linguagens de descrição de hardware.
8.2.3. Modelagem e implementação de circuitos lógicos combinacionais
8.2.4. Modelagem e implementação de circuitos lógicos sequenciais
8.3. Metodologias para a simulação e a verificação de circuitos
8.3.1. Waveform
8.3.2. Testbench
8.4. Projeto de sistemas complexos utilizando HDL

9. Introdução aos Microprocessadores


9.1. Arquitetura interna de um microprocessador básico
9.2. Estratégia de projeto e implementação dos elementos internos de um microprocessador
9.2.1. Banco de Registradores
9.2.2. Unidade Lógica e Aritmética
9.2.3. Unidade de Controle
9.2.4. Memória de Programa
9.2.5. Entrada e Saída
9.3. Projeto prático – Implementação de um microprocessador básico utilizando a linguagem Verilog

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


Projeto e implementação de circuitos lógicos digitais por meio das metodologias apresentadas na disciplina. Projeto e
implementação de um microprocessador básico utilizando a linguagem verilog.
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.

Emitido em: ____/____/____ 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: 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.

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


NA.

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

Campo elétrico, Potencial elétrico, Capacitores e dielétricos. Circuitos elétricos, Campo


magnético. Lei de Ampère. Indução Magnética. Propriedades magnéticas da matéria.
Correntes alternadas. Equações de Maxwell. Ondas eletromagnéticas. Reflexão e
refração da Luz. Polarização. Interferência e difração da Luz. Natureza ondulatória da
Luz. Introdução a Física Moderna.

CONTEÚDOS

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


NA.

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

Medidas de complexidade, análise assintótica de limites de complexidade, técnicas de


prova de cotas inferiores. Exemplos de análise de algoritmos iterativos e recursivos.
Técnicas de projeto de algoritmos eficientes. Programação dinâmica. Algoritmos
probabilísticos.

CONTEÚDOS

1.

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


NA.

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

Propriedades e operações com linguagens. Expressões regulares e gramáticas. Modelos de


reconhecedores: autômatos finitos, autômatos a pilha, autômatos linearmente limitados, máquinas de
Turing. Teorema de Kleene, equivalência entre autômatos à pilha e gramáticas. Hierarquia de
Chomsky: linguagens regulares, livre de contexto, sensíveis ao contexto e recursivas. Propriedades de
linguagens e funções recursivas. Tese de Church. Problemas indecidíveis: problema da parada,
problema da correspondência de Post, redução entre problemas. Classes de problemas: P, NP, NP-
Completo.

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

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


NA.

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. SEBESTA, R. W. Conceitos de Linguagens de Programação. Porto Alegre: Bookman, 2000.


2. WATT, D. A. Programming Language Design Concepts. John Wiley & Sons. 2004.
3. TUCKER, Allen B; NOONAN, Robert. Linguagens de programação: princípios e paradigmas. 2. ed.
São Paulo: McGraw-Hill, 2008. xxiii, 599 p. ISBN 9788577260447.
Complementar:

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

Conceitos básicos de redes de computadores: definições; terminologia; classificação; topologias;


modelos de arquitetura e aplicações. Protocolos e modelos de referência: o modelo ISO/OSI e o
modelo TCP/IP; conceitos básicos de cada camada; protocolos das camadas de Rede, de Transporte e
de Aplicação. Conceitos de segurança. Conceitos de gerenciamento. Conceitos de avaliação de
desempenho.

CONTEÚDOS

1. Introdução a Redes de Computadores: definição; aplicações; hardware de rede: componentes;


classificação; software de rede: protocolos, modelos de referência ISO/OSI e TCP/IP;
2. Camada Física: conceitos básicos; digitalização; sinalização: digital, analógica, multinível;
multiplexação: FDM, TDM; transmissão: simplex vs. half-duplex vs. full-duplex; serial vs. paralela;
síncrona vs. assíncrona; topologias;
3. Camada de Enlace: enquadramento de bits; controle de erro; controle de fluxo; MAC:
endereçamento e protocolos de acesso ao meio (ALOHA, CSMA-CA/CD, etc), Ethernet (IEEE 802.3);
tecnologias: XDSL, PLC, Frame-relay, Cable modem, Bluetooth, Wi-Max, 802.11, 3G, etc.
4. Camada de Rede: encaminhamento e roteamento; modelos de serviços; circuitos virtuais e
datagramas; Protocolo IP: endereçamento e máscara; algoritmos de roteamento: vetor de distâncias e
estado de enlace; roteamento na Internet: sistemas autônomos, protocolos de roteamento (RIP, OSPF,
IGRP, BGP); qualidade de serviço (QoS);
5. Camada de Transporte: multiplexação/demultiplexação; transporte não orientado a conexão:
UDP; transporte orientado a conexão: TCP; controle de congestionamento;
6. Camada de Sessão: conceitos básicos: token, pontos de sincronização, unidade de diálogo,
atividade; serviço orientado à conexão; gerenciamento de diálogos; sincronização;
7. Camada de Apresentação: conceitos básicos: sintaxe abstrata, sintaxe concreta, sintaxe de
transferência, contexto de apresentação; transformação de representação; criptografia;
8. Camada de Aplicação: função; protocolos: HTTP, FTP, Telnet, SSH, Correio eletrônico (SMTP,
POP3, IMAP), etc;
9. Conceitos de segurança: tipos de ataques; segurança nas camadas; firewall;
10. Conceitos de gerenciamento: paradigmas (tipos/arquiteturas); etapas; elementos; protocolo
SNMP;
11. Conceitos de avaliação de desempenho: motivação; objetivos; métricas; erros comuns;
ferramentas.

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)

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

1. Revisão de Linguagens de Programação


1.1 Origem e histórico das linguagens de alto-nível
1.2 Linguagens de alto nível e de baixo nível
1.3 Tipos de tradutores de linguagens de programação

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

4. Tradução dirigida por sintaxe


4.1 Definição dirigida por sintaxe
4.2 Esquemas de tradução
4.3 Usando esquemas de tradução nos parsers estudados e na árvore

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

6. Geração de código intermediário


6.1 Motivação
6.2 Código de três endereços
6.3 Alguns exemplos de tradução

7. Geração de código final


7.1 Organização da memória de tempo de execução
7.2 Um tipo de código final
7.3 Exemplos de tradução

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

5. Aprendizado não supervisionado


5.1 Algoritmos de agrupamento:
5.1.1 Hierárquicos
5.1.2 Particionais

6. Aprendizado por reforço


6.1 Conceitos Básicos
6.2 Q-Learning

7. Lógica Fuzzy
7.1 Conjuntos Fuzzy
7.2 Funções de Pertinência
7.3 Raciocínio Fuzzy

PRÁTICA COMO COMPONENTE CURRICULAR (quando houver)


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. 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

1. Processos de Desenvolvimento de Software:


1.1. Caracterização das diferentes abordagens;
1.2. Diferenciação entre metodologias ágeis e tradicionais;
1.3. Elementos para instanciação de um processo de desenvolvimento.
1.4 Visão geral de métodos ágeis de gestão de projetos.

2. Viabilidade de projetos de Software:


2.1. Elementos de um estudo de viabilidade.
2.2. Viabilidade técnica.
2.3. Viabilidade Operacional.
2.4. Viabilidade de Tempo.
2.5. Viabilidade de custos.
2.6. A concepção de uma nova solução para o mercado.

3. Ferramentas e técnicas de Suporte ao desenvolvimento de software:


3.1. Disciplina de Gerência de Projetos
3.1.1. Dimensões do gerenciamento de projetos.
3.1.2. Ferramentas para o gerenciamento de projetos.
3.1.3. Planejamento do projeto.
3.1.4. Monitoramento e controle do projeto.
3.1.5. Produtividade de equipes.

3.2. Disciplina de Gerência de Configuração


3.2.1. Elementos de configuração de um projeto.
3.2.2. Configuração de software.
3.2.3. Fluxo de mudanças de elementos de software
3.2.4. Ferramentas de controle de versão dos elementos de projeto.
3.2.5. Ferramentas de controle de alterações em projetos de desenvolvimento.
3.2.6. Preparação do ambiente de desenvolvimento de software.

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

Conceitos Básicos. Paradigmas de Linguagens de Programação Distribuída. Técnicas


de Especificação de Sistemas. Ambientes de Suporte e Desenvolvimento de Sistemas
Distribuídos. Estudo de Casos. Aplicação Prática.

CONTEÚDOS

1. Caracterização de Sistemas Distribuídos


1.1 Introdução
1.2 Exemplos
1.3 Desafios atuais
2. Modelos de Sistemas Distribuídos
2.1 Introdução
2.2 Modelos físicos
2.3 Modelos arquiteturais
2.4 Modelos fundamentais
3. Comunicação interprocesso
3.1 Introdução
3.2 API para os protocolos Internet
3.3 Representação de dados externos
3.4 Marshalling
3.5 MPI
4. Invocação Remota
4.1 Introdução
4.2 Protocolos request-reply
4.3 Chamada de procedimentos remotos (RPC)
1/2
4.4 Chamada de métodos remotos (RMI)

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

Data: 20/03/2017 Responsável: ___________________________________

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

CURSO: BACHAREL EM CIÊNCIA DA COMPUTAÇÃO


MODALIDADE: PRESENCIAL
DISCIPLINA: PROJETO DE CONCLUSÃO DE CURSO
PRÉ-REQUISITO: NENHUM

( X ) OBRIGATÓRIA ( ) OPTATIVA

DEPARTAMENTO: DEINFO

PROFESSOR RESPONSÁVEL:

Ano:

Semestre Letivo: ( ) Primeiro ) Segundo

Total de Créditos (se for o caso): 4

Carga Horária: 60h

EMENTA (Sinopse do Conteúdo)

Desenvolvimento do projeto associado ao trabalho de conclusão do discente.

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

1. Ciência, Tecnologia e Pesquisa.


2. Tipos de Ciência e de Pesquisa.
3. Visão geral de um trabalho de pesquisa.
4. Preparação do trabalho de pesquisa. Modelo de projeto.
5. Desenvolvimento do trabalho de pesquisa.
6. Diretrizes para leitura, análise e interpretação de textos.
7. Análise crítica de projetos de pesquisa.
8. Modelo de projeto de conclusão de curso.
9. Normas ABNT. Padrões internacionais.
10. Escrita de artigos científicos.
11. Realização de experimentos científicos.
12. Diretrizes para apresentação oral de trabalhos científicos.
13. Fraudes em trabalhos científicos.

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

POLÍTICAS DE ESTÁGIO E ESTÁGIO CURRICULAR SUPERVISIONADO

O estágio, na formação acadêmica/profissional do graduando em ciência da


computação, tem um papel fundamental e único, na medida em que permite ao
discente uma vivência profissional no mercado de trabalho e a aplicação das teorias e
técnicas computacionais vistas em sala de aula.
Um ponto importante e que distingue as oportunidades de estágio em ciência da
computação de oportunidades para outros cursos é a quantidade de ofertas nos mais
diversos setores. Atualmente, é muito comum o aluno recém-ingresso na Universidade
se deparar com uma ou duas propostas de estágio na área. Entre as empresas que
estão oferecendo diversas oportunidades, pode-se citar: fabricantes de
hardware/software, empresas de telecomunicações, entidades governamentais e toda
empresa que dependa do uso de recursos computacionais em uma escala
considerável. Um ponto que vem sendo intensamente discutido na academia é o
momento ideal do graduando em ciência da computação estagiar. É importante
conscientizar os alunos de que é importante eles adquirirem uma base sólida na área
de computação antes de entrarem no mercado do trabalho, pois a dificuldade de
conciliar os estudos dos componentes curriculares com as demandas de um estágio de
qualidade é reconhecidamente elevada. Será papel de todo o corpo docente do curso
orientar os alunos neste tema e propor/repassar oportunidades realmente interessantes
de estágio; ofertas de estágio unicamente interessadas em mão-de-obra barata e que
nada acrescentam a formação do discente serão fortemente desencorajadas.
É importante frisar que as regras do curso para o estágio curricular estão de
acordo com as DCNs para cursos de Computação, descritas no parecer CNE/CES nº
136/2012. As regras são reproduzidas nas subseções a seguir.

Campos de Atuação:

O graduando do curso de ciência de computação deverá ter condições de


assumir um papel de agente transformador do mercado, sendo capaz de provocar
mudanças através da incorporação de soluções computacionais na solução de
problemas e propiciando novos tipos de atividades, agregando:
a) Domínio de novas tecnologias de computação e gestão, visando melhores
condições de trabalho e de vida;
b) Conhecimento e emprego de modelos associados ao uso das novas
tecnologias da computação e ferramentas que representem o estado da
arte na área;
c) Conhecimento e emprego de modelos associados ao diagnóstico,
planejamento, implementação e avaliação de projetos de computação nas
organizações;
d) Visão humanística consistente e crítica do impacto de sua atuação
profissional na sociedade e nas organizações;
e) Critérios para seleção de software e hardware adequados as
necessidades empresarias, industriais, e administrativas de pesquisa e
ensino.

Desta forma, não exclusivamente, o egresso deste curso poderá:

a) Desenvolver soluções e empreender na área de Informática. O egresso


poderá desenvolver soluções inovadoras e gerar valor para os arranjos
produtivos locais.
b) Desenvolver e projetar sistemas de computação. Neste sentido, poderá
desempenhar os papéis de analista de sistemas, programador de
sistemas, gerente de desenvolvimento de sistemas de informação,
gerente de, consultor/auditor em desenvolvimento de sistemas de
informação, dentre diversas outras funções. O aluno estará habilitado a
atuar na área de engenharia de software, bancos de dados e tecnologias
associadas nas empresas que colaborarem.
c) Atuar na infra-estrutura de tecnologia da informação. O egresso poderá
desempenhar funções como a de analista de suporte, administrador de
banco de dados, gerente de redes de computadores, gerente de
tecnologia da informação, consultor/auditor na área de infra-estrutura e
demais funções associadas;
d) Atuar na gestão de Informática. O bacharel poderá atuar como gerente de
sistemas computacionais, consultor/auditor em gestão de sistemas de
informação, etc.
e) Desenvolvimento e aplicação de metodologias/ferramentas que irão suprir
demandas específicas relacionadas a computação nas empresas.

A grande variedade de oportunidades que poderão aparecer para os discentes


do curso é visível; por isso, a descrição de atividades que será proposta na próxima
seção está intencionalmente vaga para fazer com que o máximo de oportunidades
sejam aproveitadas. Uma prática política que será adotada é: mesmo que a atividade
proposta pelo empregador ao aluno não se enquadrem nas que serão abaixo citadas, o
discente poderá submeter o contexto da proposta a coordenação do curso. Se o
coordenador verificar que as atividades propostas no estágio estão aderentes as
esperadas para um graduando em ciência da computação, ele poderá emitir um
parecer favorável e o aluno ser liberado pela Universidade para realizar o seu estágio.

Descrição das Atividades:

a) Análise, desenvolvimento, implementação e manutenção de sistemas


computacionais: o bacharelando em Ciência da Computação poderá
trabalhar tanto na análise de requisitos do sistema como no
desenvolvimento e implementação do mesmo em ferramentas atuais de
programação e banco de dados.
b) Gerência de projetos de sistemas computacionais: o aluno do curso
poderá gerenciar projetos de software, realizando atividades como
gerência de escopo, custo, prazo, qualidade e riscos.
c) Gerência de infra-estrutura de TI na organização: o egresso poderá atuar
na gerência de infra-estrutura de TI em situações como gerente de
helpdesk, administrador/gerente de redes, analista em segurança da
informação e funções associadas;
d) Análise, instalação, configuração e manutenção de banco de dados: o
bacharel em Sistemas de Informação poderá trabalhar na análise e
projeto de banco de dados, assim como sua configuração e manutenção.
e) Análise, instalação, configuração e manutenção de redes de
computadores: o bacharel em Sistemas de Informação poderá trabalhar
na análise e projeto de banco de redes de computadores, assim como
sua configuração, operação e manutenção.
f) Demais atividades associadas a Ciência da Computação e aprovadas
pela coordenação do curso.

É importante observar que, intencionalmente, não foram indicadas empresas nas


quais os discentes poderão desenvolver tais atividades. Pela atual disseminação da
informática nos mais diversos setores, tais indicações poderiam restringir o universo de
atuação dos alunos. Caso a empresa apresente condições mínimas para a realização
do estágio e que essas atividades se enquadrem nas desejadas para um graduando
em Ciência da Computação, ela estará apta a receber os discentes do curso.
Atividades de iniciação científica poderão ser aproveitadas como estágio
curricular nos termos da resolução 425/2010 do CEPE/UFRPE. Para isso, ele deve
requerer à coordenação do curso a equiparação da suas atividades com o estágio
supervisionado 1 (um) semestre antes da conclusão do seu curso. O pedido será
analisado e, se suas atividades forem compatíveis com a formação em Ciência da
Computação, a atividade de iniciação científica será aproveitada como estágio. Depois
disso, o aluno não poderá mais aproveitar aquela mesma atividade de iniciação
científica como atividade complementar, para fins de integralização.

Tempo Mínimo para a Realização de Estágios

Para o estágio não-curricular, o aluno terá condições mínimas para estagiar a


partir do terceiro período. Contudo, o corpo docente deverá sempre alertá-los para a
escolha do melhor momento para tal atividade e, em especial, para não perderem o
foco nas atividades de estudo e pesquisa.
O estágio curricular supervisionado aluno não poderá ser efetuado antes do sétimo
período, quando o aluno já terá uma bagagem maior para realizar atividades de estágio
e escrever um relatório final de qualidade.

Estágio Supervisionado

O estágio é dividido em dois semestres, sendo 120h em cada semestre. No


início de cada semestre, o aluno deverá se matricular em Estágio Supervisionado I ou
Estágio Supervisionado II, conforme o caso. Então, ele deverá escolher um professor
que tenha ensinado ao menos uma turma do curso durante os dois semestres
anteriores para ser seu orientador do estágio.
O aluno deverá submeter o seu plano de trabalho ao orientador antes de iniciar
suas atividades de estágio. Após a aceitação do plano, o aluno poderá começar a
desenvolver suas atividades de estágio. Ao completar 120h de atividade, ele deverá
apresentar ao orientador um relatório das atividades realizadas. As 120 horas de
atividades e o relatório sobre elas deverão ser concluídos dentro do calendário de
aulas da universidade para aquele semestre.
Caberá ao avaliador, com base no relatório, atribuir a nota do aluno no estágio
em que ele está matriculado.
EDUCAÇÃO
FÍSICA A

Você também pode gostar