Horário: terças e quintas de 7:00 às 9:00
Local: Sala 217
Sala de aula virtual da disciplina: usaremos o Google Classroom para as discussões e avisos. A sala de aula no Google Classroom será usada também para divulgar avisos gerais e para dúvidas.
Monitor: Davi Santos Santana (monitor de PROG, atendendo EDA de forma voluntária)
Horários de atendimento: SEG 14-16h; QUA 14-16h; QUI 14-16h e 18h-20h
A avaliação da disciplina é composta de duas provas (P1 e P2) e de um conjunto de trabalhos de implementação (T). A média será calculada da seguinte forma:
P1 = Prova sem consulta
P2 = Prova sem consulta
T = Média das notas dos trabalhos de implementação – todos com correção via RunCodes
Média = ((P1 * 2) + (P2 * 2) + T ) / 5
APROVADO:
(Presença >= 75%) E (Média >= 6)
VERIFICAÇÃO SUPLEMENTAR:
(Presença >= 75%) E (4 <= Média < 6)
Será aprovado na VS o aluno que tirar nota maior ou igual a 6.
REPROVADO: caso contrário
Haverá um conjunto de implementações a serem entregues via RunCodes. As entregas possuem data marcada e entregas atrasadas não serão aceitas. Esse item compõe a média final da disciplina, e a nota desse item será calculada pela média aritmética dos trabalhos passados ao longo do semestre. Exercícios marcados como [TREINO] no RunCodes não contam para compor a média. Apenas exercícios marcados como [AVALIAÇÃO] no RunCodes contam para compor a média desse item.
As listas de exercícios abaixo são sugeridas para auxiliar no estudo e fixação da matéria.
As aulas da disciplina estão disponíveis no Youtube. Acesse a playlist no meu canal.
De acordo com o Regulamento dos Cursos de Graduação, a presença mínima necessária para aprovação é de 75% das aulas (Art. 96) e não há abono de faltas sem documentação (Art. 103).
Ferraz, I. N. Programação com Arquivos. Editora Manole Ltda. Barueri, 2003.
Szwarcfiter, J., Markenzon, L. Estruturas de Dados e Seus Algoritmos. Editora LTC, 3a. edição, 2010.
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Introduction to algorithms, McGraw-Hill, 2009.
Celes, W., Cerqueira, R., Rangel, J.L. Introdução a Estruturas de Dados, Campus, 1a Edição, 2004.
Kernighan, B.W.,Ritchie, D.M. C: a linguagem de programação (Padrão ANSI), Campus, Segunda Edição, 1990.
Tenenbaum, A.M., Langsam, Y., Augenstein, M.J. Estruturas de Dados Usando C, Pearson, Primeira Edição, 1995.
Ramakrishnan, R. Database Management Systems, McGraw Hill, Third Edition, 2003.
Para programação em C, recomendo o CLion. É possível solicitar uma licença grátis para estudante no site da Jetbrains.
O CLion exige um compilador externo. Recomendo o GCC.
Para Windows, o há uma implementação do GCC chamada MinGW
Para Linux e Mac, o GCC pode ser instalado usando o gerenciador de pacotes do seu sistema operacional (normalmente o apt-get para Linux e homebrew para Mac).
Se você gosta de ver o que está ocorrendo na memória durante a execução do programa, recomendo o Python Tutor. Ele tem visualizadores para Python, C, C++, JavaScript e Ruby. Use o C Tutor para te ajudar a entender o que está ocorrendo na memória durante a execução do seu programa!
Para ajudar na identificação de memory leak, vocês podem usar as seguintes ferramentas:
Dr. Memory (funciona em todas as plataformas)
Valgrind (específico para Linux)