Ementa: Uso dirigido de ferramentas de desenvolvimento de software. Prática de projeto de algoritmos.
Objetivo: Capacitar o sujeito 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 sujeito 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.
Programa
data assunto [v1.1 01ago2017] ------------------------------------------------------------------. 01ago apresentação, introdução à linguagem C, controle de fluxo 03 tipos de dados, operadores 08 edição e compilação C no Unix, Entrada e Saída Padrão 10 vetores 15 cadeias de caracteres (strings) 17 funções 22 acompanhamento do projeto das funções/séries 24 organização de código projeto 1 29 ponteiros 31 estruturas, tipos enumerados 05set alocação de memória 12 Entrada e Saída no Unix, exercícios 19 acesso a arquivos e depuração, projeto 2 21 alocação dinâmica de matrizes 26 organização de código 28 preprocessador CPP 05out make 10 projeto 3 17 a função main projeto 4 19 conversão de tipos (casting) 31 projeto 5 07nov ponteiros para funções 09 unions 14 bitfields 16 bibliotecas, construção de bibliotecas 21 acompanhamento dos projetos 23 defesa dos projetos 28 defesa dos projetos 30 defesa dos projetos 12dez final O Exame final consistirá do desenvolvimento de um pequeno projeto no laboratório em modo prova (sem acesso à Internet nem ao diretório pessoal). O projeto solicitado deverá ser desenvolvido em linguagem C ANSI, usando funções da biblioteca padrão C (LibC), sem bibliotecas adicionais como NCurses ou SDL. O projeto visa avaliar o conhecimento do aluno em tópicos básicos de C, como entrada/saída, strings, vetores, matrizes, structs, acesso a arquivos, argc/argv e alocação de memória, dentre outros.
Bibliografia: