Oficina de Computação - CI067 (2017-2, turma D)

Pré-requisitos: CI055 - Algoritmos I

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:


Última revisão: 30jul17
volta para: encargos | página