segunda-feira, março 12, 2007

[Cursos] Curso Avançado de C e Boas Práticas de Programação

Notícia excelente vinda da UFBA, da grande equipe INDIGENTES e seus excelentes componentes. Vamos prestigiar, pois a equipe INDIGENTES é campeã no desenvolvimento de jogos.
----------------------------

PÚBLICO
O Curso de C e Boas Práticas de Programação é voltado para estudantes que já sejam familiarizados com esta linguagem. Ele é recomendado para os alunos que dominam as ementas das matérias Lógica de Programação e Estruturas de Dados em C. Os exemplos dados no curso serão voltados para o desenvolvimento de jogos e áreas afins. Os alunos que não cursaram as duas disciplinas supracitadas, mas apresentam interesse em participar do curso, também estão convidados.

INSCRIÇÕES
Através de email para: {caio,aline061}@dcc.ufba.br ou localmente na sala 136 do IM (abrigo de indigentes).

INFORMAÇÕES SOBRE HORÁRIOS E CARGA HORÁRIA
O Curso de C e Boas Práticas de Programação terá início no dia 13 de março de 2007 e tem término previsto para o dia 22 de maio de 2007. O curso será ministrado sempre às terças e quintas-feiras, das 09 às 12 horas. O curso terá carga horária de 51 horas. A última hora do curso será direcionada a atividades práticas, o que permite pessoas que tenham restrições quanto a aulas a partir das 11 horas participarem.

LOCAL DAS AULAS
As aulas serão ministradas na sala 151 do Instituto de Matemática.

CUSTO DO CURSO
O Curso de C e Boas Práticas de Programação será totalmente gratuito.

LIMITE DO NÚMERO DE ALUNOS DO CURSO
O Indigente está planejando um curso para em média 40 pessoas. Este número foi definido levando em conta as limitações da sala 151. Estimamos vinte máquinas em boas condições de uso; dois alunos por máquina.

EMENTA DO CURSO
Revisão de conceitos básicos de lógica de programação e C: estruturas de controle de fluxo, declaração de variáveis e tipos de dados, funções, ponteiros, entrada e saída de dados;
Boas práticas de programação: programação livre de warnings, portabilidade, legibilidade, modularização, padrão ANSI (C99);
Lógica bit-a-bit: economia de espaço no armazenamento de informações, flags, operações matemáticas;
Ferramentas de depuração de código:
- GDB: Ferramenta padrão para depurar código em C;
- Valgrind: Utilitário para depurar controle e vazamento de memória de programas;
Editores de texto e ambientes de desenvolvimento interativos: como otimizar a produção, edição automatizada, facilitar a visualização, depuração e busca de código utilizando as ferramentas VIM, Emacs, Kdevelop, Anjuta, Eclipse;
Ferramentas básicas de sistemas Unix: controle de fluxo e processamento de texto, gerenciamento de projetos: grep, man, find, sed, maketools;
Controle de fluxo: utilização ótima da saída padrão, saída de erro, redirecionamento para arquivos e outros fluxos;
Diretivas de pré-processamento: define, ifdef, include, pragma e outras;
Protótipos, cabeçalhos e compilação para objetos: uso de compilação separada e incremental;
Conceitos básicos e usos práticos de metaprogramação: ponteiros para funções, castings, uso avançado de structs.
Aplicação prática: implementação de um sistema orientado a objetos voltado para a produção de jogos simples.

ORIENTADORES DO CURSO
O Curso de C e Boas Práticas de Programação será ministrado por Caio (sexto semestre) e monitorado por Aline (terceiro semestre).

BIBLIOGRAFIA RECOMENDADA
Programming in C
Cee Language
The C Programming Language (A Linguagem de Programação C), Kernigham & Ritchie -- Segunda Edição
C Completo e Total
Curso de C da UFMG
Gnu make
GCC manuals
Dicas sobre orientação a objetos
Tutorial de GObject