Teaching - Progrmação C - 2018/I


Cronograma de Aulas e Conteúdo Programático
Programação C - 2018/I

Aulas as Quintas-Feiras a partir das 19h10
Metodologia
Cronograma Ementa Objetivos Contexto Conteúdo Programático Metodologia Avaliação Bibliografia
Cronograma
Data da Aula Conteúdo Previsto Comentários
22-Fev Aula 1
Introdução.
Revisão geral de algoritmos.
Início Unidade I.
Slides Aula 1.
Enunciado Trabalho Final.
Artigo 1.
Artigo 2.
Exercícios de Revisão 1.
01-Mar Aula 2
Algoritmos Avançados.
Slides Aula 2.
Enunciado Seminário 1.
08-Mar Aula 3
Algoritmos Avançados.
15-Mar Aula 4
Algoritmos Avançados.
22-Mar Aula 5
Algoritmos Avançados.
29-Mar Feriado! Não haverá aula!
05-Abr Aula 6
Algoritmos Avançados.
12-Abr Aula 7
Algoritmos Avançados
Início Unidade II.
Apresentação Seminário 1.
19-Abr Aula 8
Checkpoint 1 - Trabalho Final.
vale 10% da nota do trabalho!
26-Abr Aula 9
Algoritmos Avançados.
03-Mai Aula 10
Algoritmos Avançados.
Enunciado Relatório 1.
10-Mai Aula 11
Algoritmos Avançados.
Entrega Relatório 1.
17-Mai Aula 12
Algoritmos Avançados.
Entrega Relatório 2.
24-Mai Aula 13
Algoritmos Avançados.
Entrega Relatório 3.
Enunciado Relatório 4.
31-Mai Feriado! Não haverá aula!
07-Jun Aula 14
Algoritmos Avançados.
Entrega Relatório 4.
Enunciado Relatório 5.
14-Jun Aula 15
Algoritmos Avançados.
Entrega Relatório 5.
Enunciado Relatório 6.
21-Jun Aula 16
Comparação e Análise de Algoritmos.
Início Unidade III.
28-Jun Aula 17
Comparação e Análise de Algoritmos.
Trabalho em Aula.
05-Jul EXAME Conteúdo: toda a matéria!
Ementa
A Disciplina apresenta as técnicas de programação necessárias a criação de programas com acesso a bases de dados relacionais. Para tal, são trabalhadas as principais bibliotecas de acesso a dados do mercado nas tecnologias Java e C#. O aluno é introduzido, ainda, a implementação de algoritmos avançados e as técnicas para comparação e avaliação de algoritmos.
Objetivos
Apresentar os conceitos básicos e avançados de bibliotecas de acesso a dados em aplicações orientadas a objeto. Apresentar algoritmos avançados e técnicas de análise e comparação de algoritmos.
Contexto
Esta disciplina complementa a formação em programação necessária ao curso de Bacharelado em Sistemas de Informação e trata de uma técnica de programação atual e muito presente, tanto nas organizações comerciais quanto de pesquisa acadêmica. Com esta disciplina, o aluno estará preparado a implementar projetos de software durante todo o restante do curso.
Conteúdo Programático
UNIDADE I - Acesso a Dados.
1. Acesso a base da dados com ADO.Net
2. Acesso a base de dados com JDBC.
3. Hibernate e nHibernate.
4. Java Persistance API.
5. Entity Framework + Linq.
6. Controle de transações de banco.
UNIDADE II - Algoritmos Avançados.
1. Algoritmos de Ordenação.
2. Estruturas em Árvore.
3. Algoritmos elementares de grafos.
4. Operações especiais sobre matrizes.
UNIDADE III - Comparação e Análise de Algoritmos.
1. Fundamentos matemáticos.
2. Crescimento de Funções.
2. Notação de Landau. Big O. 
Metodologia
Aulas expositivas e interativas.
Estudos de caso.
Trabalhos práticos de implementação.
Resolução de exercícios.
Apresentação de trabalhos desenvolvidos (em grupos e individuais).
Avaliações escritas..
Avaliação
Seminário 1 –S1: artigo + apresentação (obrigatoriamente em duplas).
Trabalho Final –TF: implementação (pode ser feito em duplas).
Relatórios de 1 a 6 – R1 a R6: implementação, testes e escrita de relatório técnico. Individual ou em duplas.
NF = ((S1*10) + (TF*40) + (R1*5)+ (R2*5)+ (R3*10)+ (R4*10)+ (R5*10)+ (R6*10)+ (S1*10))/100
Bibliografia
Básica:
  • CORMEN, Thomas H; LEISERSON, Charles E; RIVEST, Ronald L; STEIN, Clifford. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2002. 916 p. ISBN 9788535209266.
  • LAFORE, Robert. Estruturas de dados & algoritmos em Java. Rio de Janeiro: Ciência Moderna, 2004. 702 p. ISBN 9788573933758.
  • GOODRICH, Michael T; TAMASSIA, Roberto. Projeto de algoritmos: fundamentos, análise e exemplos da Internet. Porto Alegre: Bookman, 2004. 696 p. ISBN 9788536303031.
  • GOODRICH, Michael T; TAMASSIA, Roberto. Estruturas de dados e algoritmos em Java. 2.ed. Porto Alegre: Bookman, 2002. 584 p. ISBN 9788536300436.
Complementar:
  • PEREIRA, Silvio do Lago. Algoritmos e lógica de programação em C: uma abordagem didática. São Paulo: Érica, 2013. 190 p. ISBN 9788536503271.
  • REESE, George. JDBC e Java: programação para banco de dados. São Paulo: Berkeley, 2001. 371 p. ISBN 9788572515948.
  • TARIFA, Alexandre; FACUNTE, Emerson; GARCIA, Marcus. C#: desenvolvendo uma aplicação comercial. 2006 Rio de Janeiro: Brasport, 2006. 176 p. ISBN 9788574522715.
  • TURTSCHI, Adrian; WERRY, Jason; HACK, Greg; ALBAHARI, Joseph. C# .NET: guia do desenvolvedor Web. 2.ed. Rio de Janeiro: Alta Books, 2004. 517 p. ISBN 9788576080671.
  • SHARP, John. Microsoft visual C# 2008: passo a passo. Porto Alegre: Bookman, 2008. 624 p. ISBN 9788577802630.
Conteúdo Adicional

Recent Posts

Installing MPI on Ubuntu
19. Sep. 2013 Instalar o MPI no Ubuntu é fácil. Basta rodar o seguinte comando: sudo apt-get install libcr-dev mpich2 mpich2-doc...
Installing CUDA 5.0 on Kubuntu 11.10
25. Jan. 2013 A instalação do novo pacote da NVIDIA para o CUDA5.0 no Kubuntu (ou Ubuntu) 11.10 é fácil, basta atentar às seguintes observações...
nbody simulations
19. Nov. 2011 Here we have some very basic simulations I made using the C code I developed...

Contact

Filipo Novo Mór
PPGCC - PUCRS
Av. Ipiranga, 6681
Porto Alegre – RS – Brazil
CEP 90619-900
Phone +55 51 3320.3500
filipo.mor at gmail.com