CTP – Programa executado em 2011.2

A disciplina foi dividida em três módulos. A linguagem de programação C foi usada através da disciplina para ilustrar os diferentes conceitos e técnicas de programação.

Módulo 1.

  1. Informações administrativas. Introdução à programação. Ferramentas para o programador. Um primeiro programa.
    Apresentação da aula 1.
  2. Primeiros programas: edição, compilação, execução. Impressão de valores. O conceito de variável. Atribuição, sequência. O tipo int: literais e operadores.
    Apresentação da aula 2.
  3. Associatividade e precedência de operadores. Notação hexadecimal. Operador de endereço. Leitura de valores. Padrão de programa: leitura, processamento, escrita.
    Apresentação da aula 3.
  4. Estruturas condicionais. Operadores relacionais. Operadores lógicos.
    Apresentação da aula 4.
  5. Manipulando dados de tipo int. Representação binária. Operadores bit a bit.
    Escovando bits (notas de aula).
  6. Sub-rotinas. Parâmetros formais e parâmetros efetivos. Interface. Funções e procedimentos.
    Apresentação da aula 6.
  7. O operador de indireção. Ponteiros como parâmetros.
    Apresentação da aula 7.
  8. Tipos de vírgula flutuante. Conversão. Precisão. Uso de sub-rotinas da biblioteca padrão.
    Apresentação da aula 8.
  9. Resolução de exercícios. Resolução de dúvidas.
  10. Avaliação do primeiro módulo.
    Caderno de exercícios.
    Resolução dos exercícios.
    Caderno de exercícios (reposição).

Módulo 2.

  1. Estrutura de repetição “enquanto”. Invariante e variante de laço.
    Apresentação da aula 11.
  2. Outras estruturas de repetição.
    Apresentação da aula 12.
  3. Exercícios.
    Lista de exercícios.
  4. Arranjos. Arranjos e sub-rotinas.
    Apresentação da aula 14.
  5. Arranjos e ponteiros. Passagem de parâmetros arranjos como referência.
    Apresentação da aula 15.
  6. Arranjos de arranjos. Matrizes.
    Apresentação da aula 16.
  7. Recursão.
    Apresentação da aula 17.
  8. Exercícios.
    Lista de exercícios.
  9. Resolução de dúvidas.
  10. Avaliação do segundo módulo.
    Caderno de exercícios.
    Resolução dos exercícios.
    Caderno de exercícios (reposição).

Módulo 3.

  1. Resolução dos exercícios da avaliação. Representação de caracteres.
    Apresentação da aula 21.
  2. Representação de textos (cadeias de caracteres). Ponteiro nulo e aritmética de ponteiros.
    Apresentação da aula 22.
  3. Exercícios sobre representação de textos. Alocação dinâmica de memória.
    Apresentação da aula 23.
  4. Exercícios sobre alocação dinâmica de memória. Registros. Definição de tipos. Registros e sub-rotinas.
    Apresentação da aula 24.
  5. Exercícios sobre registros.
  6. Exercícios sobre registros
    Lista de exercícios.
    Correção dos exercícios.
    Enumerações. Uniões.
    Apresentação da aula 26.
  7. Exercícios sobre registros, enumerações e uniões.
    Lista de exercícios.
    Correção dos exercícios.
    Elementos de entrada e saída em arquivos.
    Apresentação da aula.
  8. Exercícios sobre entrada e saída em arquivos.
    Exercício.
  9. Avaliação.
    Caderno de exercícios.
    Caderno de exercícios (reposição).
  10. Correção dos exercícios da avaliação.

Avaliação final.

PCTP: Programa executado no período 2011.2

A página oficial da turma é acessível através do sistema UFRN/SIGAA neste link.

Os cadernos de atividades propostos aos alunos no decorrer do semestre 2011.2 foram:

Comentários sobre um novo período de ITP

Este período, como no anterior, os conceitos e técnicas de programação serão ilustrados através da linguagem de programação C. A escolha da linguagem tem uma influência forte sobre a ordem de apresentação dos tópicos, sobre quais técnicas podem ser apresentadas, etc. Passei muitos semestres utilizando a OCaml, que é uma linguagem que acho muito elegante e poderosa. Então porque essa mudança tão radical? O que explica o que pode ser considerado um pulo de um quarto de século no passado (uma eternidade na escala da ciência da computação) em termos de linguagens de programação?

Alguns dos motivos da mudança recente para a linguagem C são:

  1. As disciplinas subsequentes usam linguagens C++ e Java. C é mais próxima dessas linguagens e a transição é mais simples.
  2. C é uma linguagem usada em competições de programação, OCaml não. O fato de apresentar C em sala de aula facilita a participação de alunos na Olimpíada Brasileira de Informática.
  3. C é uma linguagem conhecida e reconhecida, OCaml é uma linguagem pouco popular. Alguns alunos podem estar desmotivados por ter que aprender uma linguagem que não lhe será útil profissionalmente.

Dado as características respectivas das linguagens C e OCaml, o leque de problemas que podem ser solucionados em um primeiro período é bem diferente do que era antes. Dificilmente posso solicitar programar um derivador simbólico de funções!

Então começa mais uma vez o desafio de ensinar a programar. No segundo semestre, este desafio é maior ainda pois – em geral – os alunos mais bem preparados já cursaram a disciplina no primeiro semestre e foram aprovados. São 43 alunos matriculados: 7 de Engenharia de software, 24 de Ciência da computação, 9 de Engenharia de computação, 1 de Estatística, 1 de Engenharia Mecânica e 1 de Física. Um aluno tem matrícula em 2006, 2 de 2007, 2 de 2008, 6 de 2009, 6 de 2010 e 26 de 2011. Se 15 ou mais conseguirem ser aprovados no bloco ITP, considerarei um sucesso esta turma.

Os números de 2010

Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog:

Healthy blog!

O Blog-Health-o-Meter™ indica: Este blog é fantástico!.

Números apetitosos

Imagem de destaque

Um Boeing 747-400 transporta 416 passageiros. Este blog foi visitado cerca de 1,600 vezes em 2010. Ou seja, cerca de 4 747s cheios.

 

Em 2010, escreveu 8 novo artigo, aumentando o arquivo total do seu blog para 36 artigos. Fez upload de 17 imagens, ocupando um total de 3mb. Isso equivale a cerca de uma imagem por mês.

O seu dia mais activo do ano foi 19 de julho com 97 visitas. O artigo mais popular desse dia foi CTP – Prova 4 – Q1&2.

De onde vieram?

Os sites que mais tráfego lhe enviaram em 2010 foram pt-br.wordpress.com, consiste.dimap.ufrn.br, search.conduit.com, tvrizor.com e lmodules.com

Alguns visitantes vieram dos motores de busca, sobretudo por blocoitp, trabalho feitos em ocaml, prova técnica de programação, blog introducao a tecnicas de programacao dimap ufrn e arranjo ocaml

Atracções em 2010

Estes são os artigos e páginas mais visitados em 2010.

1

CTP – Prova 4 – Q1&2 dezembro, 2009

2

OCaml novembro, 2009

3

OCaml no Ubuntu Linux março, 2010

4

Jogo da velha novembro, 2009

5

CTP – Prova 3 – Bloco 1 – Q7 dezembro, 2009

Turma de férias – etapa 5.

Nesta etapa, são propostos ao aluno uma série de pequenos problemas de programação visando aplicar os conhecimentos revisados e adquiridos no decorrer das etapas anteriores.

Recupere o caderno de problemas e tente desenvolver suas soluções: é a melhor preparação possível para a prova.

Turma de férias – etapa 4

Essa quarta etapa do programa da disciplina começa com uma pequena revisão do conceito de sequênciamento. Em seguida, passagem de parâmetros referência é discutido, aplicando os conceitos de referência e de funções, permitindo escrever procedimentos que alteram o conteúdo de memórias. Finalmente, e sobretudo, o mundo dos booleanos é apresentado: o tipo bool, os operadores booleanos e relacionais, e as expressões condicionais (if then else).

Recupere o material didático e faça a lista de exercícios.