CI-1002 (CI-067): Programação 2
Disciplina: CI-1002 - Programação 2 (antiga CI-067)
Carga Horária (horas): teoria 30h, prática 30h, total 60h
Pré-requisito: CI-1001 - Programação 1
Professor: Carlos A. Maziero
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, sempre considerando a noção de eficiência dos códigos desenvolvidos.
Conteúdo
Projetos
Projetos desenvolvidos nos últimos anos:
Metodologia
Teoria: aulas expositivas, com análise e discussão dos temas propostos.
Prática: atividades referentes aos temas abordados nas aulas teóricas.
-
Avaliação
A avaliação será feita através dos projetos realizados ao longo da disciplina. Serão realizados três ou mais projetos individuais, que podem ter pesos distintos.
Os projetos serão avaliados de acordo com os seguintes critérios:
Devem funcionar corretamente

Devem ser estáveis (funcionar sempre)
Não devem gerar warnings de compilação com os flags -Wall
Devem estar bem documentados (comentários no código)
Devem estar bem legíveis e endentados
Devem usar nomes significativos para variáveis, tipos, funções, macros e arquivos.
O código deve estar bem estruturado (uso de funções, vários arquivos, Makefile, uso de macros, etc)
Os dados devem estar bem estruturados (poucas variáveis globais, uso adequado de parâmetros, arrays, structs, memória dinâmica, etc.
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: teoria e prática. Novatec, 2006.
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, U., C Pocket Reference. Ed. O'Reilly, 2003.
Online (textos abertos):
BANAHAN M., BRADY D., and DORAN M.,
The C Book, 1991.
-
-
-
Material de apoio
Programação em C:
Apostilas:
Having Fun with C:
UNIX/Linux:
Editores em UNIX:
Podem ocorrer mudanças nesta página, com a devida divulgação prévia aos alunos.