Bem-vindo à página da turma 2019/2 do curso de Programação de Computadores II da Universidade Federal Fluminense, ministrado pelo Prof. Raphael Machado. Aqui você encontrará informações práticas a respeito do curso.
Objetivo: Apresentar/consolidar conceitos de programação utilizando a linguagem de programação C. Os tópicos estudados serão os seguintes:
- Registros e Tipos
- Procedimentos e Funções
- Passagem por Valor e por Referência
- Escopo e Variáveis Globais
- Recursão
- Bibliotecas e String
- Tipo Abstrato de Dados
- Modularização
- Memória e Endereço
- Ponteiro
- Alocação Dinâmica
- Lista Ligada
- Fila e Pilha
- Arquivos
Horário das aulas: segundas-feiras e quartas-feiras de 18:00 a 20:00.
Local das aulas: Instituto de Computação da UFF
Aulas teóricas às segundas-feiras na sala 217.
Aulas práticas às quartas-feiras no laboratório 306.
Período de aulas: 12 de agosto a 16 de dezembro de 2019.
Datas das provas:
- Primeira Prova (P1): 30-set
- Segunda Prova (P2): 25-nov
- Verificação de Reposição (VR): 2-dez
- Prova Suplementar (VS): 9-dez
Listas de Exercícios. Ao longo do curso, serão disponibilizadas listas de exercícios por meio do sistema URI Online Judge. O resultado obtido na execução dos exercícios das listas irá compor a nota T.
Regras:
- Provas básicas: Prova 1 (P1) e Prova 2 (P2) -> Fortemente recomendado que o aluno faça as duas provas.
- Trabalho (T): Nota de 0 a 10 alcançada pelo aluno após a execução das listas e atividades propostos ao longo do curso.
- Verificação de Reposição (VR). O aluno pode escolher por fazer a VR, que irá obrigatoriamente substituir a menor nota entre P1 e P2. A VR funciona como segunda chamada.
- Média das Provas (MP):
- Caso não tenha feito VR: MP = (P1+P2)/2
- Caso tenha feito VR: MP = (max{P1,P2}+VR)/2
- Média final (MF):
- Graduação: MF = MP + 0,1*T
- Alunos com 4<=MF<6 podem fazer Verificação Suplementar (VS)
- Média Suplementar (MS): média final após VS
- MS = VS
- A média será dada por M = 0,5*P1 + 0,5*P2 + 0,1*T
Material complementar de estudo.
- The C Programming Language (Second Edition) (K&R)
- Apostila do Prof. Silvio Pereira
- Livro Algoritmos e Lógica de Programação em C – Uma Abordagem Didática
- C How to Program 8/E.
- Canal “De aluno para aluno: Linguagem C”.
Listas de Exercícios
- Primeira Lista de Exercícios (15-set)
Aulas
Aula 1 (12-ago-2019). Apresentação do curso; programação básica; comandos básicos em C.
- Slides da Aula 1
- Leitura recomendada: Capítulos 1, 2 e 3 da Apostila.
- Leitura complementar: Capítulo 1 do K&R
Aula 2 (14-ago-2019). Comandos em C. Desenvolvimento de código junto aos alunos. Ambiente de edição e compilação de programas. Saída de dados na tela (printf). Passando argumentos para o programa (argc e argv). Programas simples com estruturas de iteração (for) e de decisão (if).
Aula 3 (19-ago-2019). Funções em C. A diretiva #define. Algoritmos de busca básicos e implementação em C. Noções de complexidade de algoritmos.
NÃO HÁ AULA NO DIA 21-AGO-2019
Aula 4 (26-ago-2019). Continuação do tema: algoritmos de busca básicos e implementação em C. Biblioteca time.h. Números aleatórios.
Aula 5 (28-ago-2019) – Laboratório. Análise experimental de algoritmos de busca.
NÃO HÁ AULA NO DIA 02-SET-2019
NÃO HÁ AULA NO DIA 04-SET-2019
Aula 6 (09-set-2019). Recursão. Exemplos básicos: fatorial e Fibonacci. Árvore de chamadas. O algoritmo MergeSort de ordenação.
Aula 7 (11-set-2019). Implementação e análise experimental do MergeSort.
Aula 8 (16-set-2019). Funções e passagem de dados (valor e referência), ponteiros.
Aula 9 (18-set-2019). Exercícios de revisão no laboratório.
Aula 10 (23-set-2019). Simulado 1.
Aula 11 (25-set-2019). Correção do Simulado e dúvidas.
Aula 12 (30-set-2019). Prova 1.
Aula 13 (02-out-2019). Correção da Prova e dúvidas.
Aula 14 (04-out-2019). Tipo Abstrato de Dados. Modularização.
Aula 15 (09-out-2019). Laboratório – TAD.
14-out-2019: Não houve aula (dia do Professor)
Aula 16 (16-out-2019). Laboratório – Revisão de Structs e Ponteiros.
- Exemplos apresentados no laboratório.
- Exercícios de revisão: ler o capítulo 6 da Apostila do Prof. Silvio Pereira e fazer os exercícios das páginas 109 e 110.
21-out-2019: Não houve aula (semana acadêmica)
23-out-2019: Não houve aula (semana acadêmica)
28-out-2019: Não houve aula (dia do servidor)
Aula 17 (30-out-2019). Organização de Memória. Alocação dinâmica.
Aulas 18 e 19 (4,6-nov-2019). Alocação dinâmica e listas ligadas (parte I)
- Slides .
Aula 20 (11-nov-2019). Listas ligadas (parte II)
13-nov-2019: Simulado P2
Notas (01-dez)