Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
prog1:start [2024/10/14 17:42] – maziero | prog1:start [2024/12/16 12:07] (atual) – [Bibliografia] maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== CI-1001: Programação 1 ====== | ||
+ | |||
+ | * **Disciplina**: | ||
+ | * **Carga Horária** (horas): teoria 30h, prática 30h, total 60h | ||
+ | * **Pré-requisito**: | ||
+ | |||
+ | [[Cronograma 2024/2]] | ||
+ | |||
+ | ===== Objetivos ===== | ||
+ | |||
+ | Capacitar o estudante a compreender o modelo de programação dos computadores atuais e a desenvolver programas usando técnicas elementares de algoritmos e estruturas de dados sobre este modelo. Capacitar o aluno a desenvolver soluções simples e eficazes para problemas diversos que podem ser resolvidos com as técnicas elementares, | ||
+ | |||
+ | ===== Metodologia ===== | ||
+ | |||
+ | * **Teoria**: aulas expositivas, | ||
+ | * **Prática**: | ||
+ | * [[teaching: | ||
+ | |||
+ | ===== Avaliação ===== | ||
+ | |||
+ | A avaliação será feita através dos projetos realizados ao longo da disciplina. Esta é uma disciplina de projeto, portanto **não há exame final**. | ||
+ | |||
+ | Os projetos serão avaliados de acordo com os seguintes critérios: | ||
+ | |||
+ | * Compilar corretamente no ambiente Linux provido pelo DINF/UFPR. | ||
+ | * Aderência ao padrão C99. | ||
+ | * Respeito às especificações. | ||
+ | * Estabilidade (deve funcionar sempre). | ||
+ | * Compilar com os flags '' | ||
+ | * Análise pelo programa Valgrind sem erros. | ||
+ | * Comentários adequados e suficientes no código. | ||
+ | * Código legível e corretamente endentado. | ||
+ | * Nomes significativos para variáveis, tipos, funções, macros e arquivos. | ||
+ | * Código bem estruturado (uso de funções, vários arquivos, Makefile, uso de macros, etc). | ||
+ | * Dados bem estruturados (poucas variáveis globais, uso adequado de parâmetros, | ||
+ | * Domínio do aluno sobre o código que desenvolveu. | ||
+ | |||
+ | ===== Bibliografia ===== | ||
+ | |||
+ | Básica: | ||
+ | |||
+ | * KERNIGHAN, B., Ritchie, D., C: A Linguagem de Programação - Padrão ANSI, Editora Campus, 1989. | ||
+ | * MEDINA, M., FERTIG, C., Algoritmos e Programação: | ||
+ | * ZIVIANI, N., Projeto de algoritmos: com implementações em PASCAL e C. 2a. edição. Ed. Pioneira Thomson, 2004. | ||
+ | |||
+ | Complementar: | ||
+ | |||
+ | * KNUTH, D. E., The Art of Computer Programming. Addison Wesley, 2005 . | ||
+ | * SCHILDT, H., C Completo e Total. Makron Books, 1997. | ||
+ | * PRINZ, P., KIRCH-PRINZ, | ||
+ | |||
+ | Apoio: | ||
+ | |||
+ | * [[c: | ||
+ | |||
+ | Material sobre Shell e UNIX/Linux: | ||
+ | |||
+ | * Comandos básicos ([[unix: | ||
+ | * Uso do shell BASH ([[unix: | ||
+ | * [[unix: | ||
+ | * Excelente [[http:// | ||
+ | * [[unix: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | <note important> | ||
+ | Podem ocorrer mudanças nesta página, com a devida divulgação prévia aos alunos. | ||
+ | </ | ||