Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
prog2:start [2019/09/11 09:12] – [CI-1002 (CI-067): Programação 2] mazieroprog2:start [2024/02/22 10:47] (atual) menotti
Linha 1: Linha 1:
 +====== CI-1002: Programação 2 ======
 +
 +  * **Disciplina**: CI-1002 - Programação 2
 +  * **Carga Horária** (horas): teoria 30h, prática 30h, total 60h
 +  * **Pré-requisito**: CI-1001 - Programação 1
 +
 +  * [[Cronograma 2024/1]] - profs. Vinícius Fülber, Luiz Oliveira e David Menotti
 +
 +/*
 +  * [[Cronograma 2023/2]] - profs. Vinícius Fülber e David Menotti
 +  * [[Cronograma 2023/1]] - profs. Luiz Oliveira, Vinícius Fülber e Armando Delgado
 +  * [[Cronograma 2022/2]] - profs. David Menotti e Luiz Oliveira
 +  * [[Cronograma 2022/1]] - profs. David Menotti, Luiz Oliveira e Armando Delgado
 +  * [[Cronograma 2021/2]] - prof. David Menotti
 +  * [[Cronograma 2021/1]] - profs. Lucas Ferrari, Luiz Oliveira
 +
 +  * **Monitor**: Fernando Kiotheka (fmk17@inf.ufpr.br), sob demanda (enviar e-mail)
 +  * **Auxiliar**: Amanda Viescinski (amanda.b.vieski@gmail.com), sob demanda (enviar e-mail)
 +  * **Sala de aula**: [[https://bbb.c3sl.ufpr.br/b/car-vpj-6te|BBB do DINF/UFPR]]
 +*/
 +
 +===== 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 =====
 +
 +  * [[c:Strings]]
 +  * [[c:Codificação de caracteres]]
 +  * [[c:Strings multibyte]]
 +  * [[c:Acesso a arquivos]]
 +  * [[c:Arquivos binários]]
 +  * [[c:Organização de código]]
 +  * [[c:O preprocessador C]]
 +  * [[c:O sistema Make]]
 +  * [[c:Depuração]]
 +  * [[c:A função main]]
 +  * [[c:Tipos enumerados]]
 +  * [[c:Conversão de tipos]]
 +  * [[c:Ponteiros para funções]]
 +  * [[c:Uniões]]
 +  * [[c:Operações com bits]]
 +  * [[c:Bibliotecas]]
 +  * [[c:Construção de bibliotecas]]
 +
 +===== Metodologia =====
 +
 +  * **Teoria**: aulas expositivas, com análise e discussão dos temas propostos.
 +  * **Prática**: atividades referentes aos temas abordados nas aulas teóricas.
 +  * [[teaching:Regras das atividades de laboratório]]
 +
 +===== 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:
 +
 +  * Devem compilar corretamente no ambiente Linux provido pelo DINF/UFPR
 +  * Devem ser estáveis (funcionar sempre)
 +  * Ao compilar com os flags ''-Wall'' não devem gerar //warnings//
 +  * 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.
 +
 +Apoio:
 +
 +  * [[c:start|Material de programação em C]] do docente
 +
 +<note important>
 +Podem ocorrer mudanças nesta página, com a devida divulgação prévia aos alunos.
 +</note>