Mudanças entre as edições de "PRG29002 - Programação I - Eng.Telecom 2017-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 9: Linha 9:
 
*Página no moodle: [http://moodlenovo.sj.ifsc.edu.br/course/view.php?id=70 moodle]
 
*Página no moodle: [http://moodlenovo.sj.ifsc.edu.br/course/view.php?id=70 moodle]
 
*Monitoria: [[Programa_de_monitoria_dos_cursos_superiores_de_Telecomunica%C3%A7%C3%B5es]]<br>
 
*Monitoria: [[Programa_de_monitoria_dos_cursos_superiores_de_Telecomunica%C3%A7%C3%B5es]]<br>
 +
 +
=Plano de aula=
 +
{{Cronograma-top}}
 +
{{Cl|1 |9/2 | 2 | Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos | Lab Redes 2}}
 +
{{Cl|2 |14/2 | 2 | Introdução ao fluxograma com resolução de exercícios | Lab Redes 1}}
 +
{{Cl|3 |16/2 | 2 | Prática de fluxogramas | Lab Redes 2}}
 +
{{Cl|4 |21/2 | 2 | Introdução ao pseudocódigo com resolução de exercícios | Lab Redes 1}}
 +
{{Cl|5 |23/2 | 2 | Pseudocódigo: Estruturas de repetição e sub-rotinas | Lab Redes 2}}
 +
{{Cl|6 |2/3 | 2 | Prática: Resolução de problemas em pseudocódigo e fluxogramas (declaração de variáveis, leia e escreva, uso de condicionais e biblioteca portugol) | Lab Redes 2}}
 +
{{Cl|7 |7/3 | 2 | Pseudocódigo: Uso de vetores e sub-rotinas | Lab Redes 1}}
 +
{{Cl|8 |9/3 | 2 | Prática: Resolução de problemas com vetores e sub-rotinas | Lab Redes 2}}
 +
{{Cl|9 |14/3 | 2 | Pseudocódigo: Registros e revisão geral (preparação para prova) | Lab Redes 1}}
 +
{{Cl|10 |16/3 | 2 | Pseudocódigo e fluxogramas: Resolução de exercícios (preparação para prova) | Lab Redes 2}}
 +
{{Cl|11 |21/3 | 2 | Avaliação: Introdução a algoritmos (fluxograma e pseudocódigo) | Lab Redes 1}}
 +
{{Cl|12 |23/3 | 2 | Prática: Correção da Avaliação / possível realização de recuperação | Lab Redes 2}}
 +
{{Cl|13 |28/3 | 2 | Introdução ao C, primeiros conceitos de compilação, variáveis, controle de fluxo com if… else, switch, entrada e saída de dados com printf e scanf,  | Lab Redes 1}}
 +
{{Cl|14 |30/3 | 2 | Continuação C, condicionais, operadores relacionais, operadores lógicos. Prática: Controle de fluxo em C, entrada e saída de dados | Lab Redes 2}}
 +
{{Cl|15 |4/4 | 2 | Continuação C: estruturas de repetição | Lab Redes 1}}
 +
{{Cl|16 |6/4 | 2 | Prática: estruturas de repetição | Lab Redes 2}}
 +
{{Cl|17 |11/4 | 2 | Continuação C: funções | Lab Redes 1}}
 +
{{Cl|18 |13/4 | 2 | Prática: Funções em C | Lab Redes 2}}
 +
{{Cl|19 |18/4 | 2 | Introdução a vetores e matrizes em C. Resolução de exercícios de vetores | Lab Redes 1}}
 +
{{Cl|20 |20/4 | 2 | Prática: Resolução de exercícios de fixação de vetores. | Lab Redes 2}}
 +
{{Cl|21 |25/4 | 2 | Compreendendo melhor a função main e exit, gerando números pseudo-aleatórios, defines e operadores e precedências | Lab Redes 1}}
 +
{{Cl|22 |27/4 | 2 | Prática: Exercícios de C | Lab Redes 2}}
 +
{{Cl|23 |2/5 | 2 | Avaliação: C até funções | Lab Redes 1}}
 +
{{Cl|24 |4/5 | 2 | Prática: Correção da Avaliação / possível realização de recuperação | Lab Redes 2}}
 +
{{Cl|25 |9/5 | 2 | Structs e Unions | Lab Redes 1}}
 +
{{Cl|26 |11/5 | 2 | Prática: Structs e unions | Lab Redes 2}}
 +
{{Cl|27 |16/5 | 2 | Ponteiros | Lab Redes 1}}
 +
{{Cl|28 |18/5 | 2 | Prática: Exercicios ponteiros | Lab Redes 2}}
 +
{{Cl|29 |23/5 | 2 | Vetor de Ponteiros e Ponteiro Para Estruturas, typedef, recursividade, apresentação do projeto | Lab Redes 1}}
 +
{{Cl|30 |25/5 | 2 | Prática de Ponteiros e structs | Lab Redes 2}}
 +
{{Cl|31 |30/5 | 2 | Avaliação: C até structs | Lab Redes 1}}
 +
{{Cl|32 |1/6 | 2 | Prática: Correção da Avaliação / possível realização de recuperação / Desenvolvimento do projeto | Lab Redes 2}}
 +
{{Cl|33 |6/6 | 2 | Alocação dinâmica de memória, apresentação do projeto | Lab Redes 1}}
 +
{{Cl|34 |8/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 2}}
 +
{{Cl|35 |13/6 | 2 | Desenvolvimento do Projeto | Lab Redes 1}}
 +
{{Cl|36 |20/6 | 2 | Desenvolvimento do Projeto | Lab Redes 1}}
 +
{{Cl|37 |22/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 2}}
 +
{{Cl|38 |27/6 | 2 | Desenvolvimento do Projeto | Lab Redes 1}}
 +
{{Cl|39 |29/6 | 2 | Avaliação: Apresentação do projeto | Lab Redes 2}}
 +
{{Cl|40 |4/7 | 2 | Recuperação: Projeto | Lab Redes 1}}
 +
{{cronograma-botton |80}}
  
 
=Diário de aula=
 
=Diário de aula=

Edição das 15h14min de 10 de fevereiro de 2017

Dados importantes

Dados da Disciplina

Plano de aula

Aula Data Horas Conteúdo Recursos
1 9/2 2 Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos Lab Redes 2
2 14/2 2 Introdução ao fluxograma com resolução de exercícios Lab Redes 1
3 16/2 2 Prática de fluxogramas Lab Redes 2
4 21/2 2 Introdução ao pseudocódigo com resolução de exercícios Lab Redes 1
5 23/2 2 Pseudocódigo: Estruturas de repetição e sub-rotinas Lab Redes 2
6 2/3 2 Prática: Resolução de problemas em pseudocódigo e fluxogramas (declaração de variáveis, leia e escreva, uso de condicionais e biblioteca portugol) Lab Redes 2
7 7/3 2 Pseudocódigo: Uso de vetores e sub-rotinas Lab Redes 1
8 9/3 2 Prática: Resolução de problemas com vetores e sub-rotinas Lab Redes 2
9 14/3 2 Pseudocódigo: Registros e revisão geral (preparação para prova) Lab Redes 1
10 16/3 2 Pseudocódigo e fluxogramas: Resolução de exercícios (preparação para prova) Lab Redes 2
11 21/3 2 Avaliação: Introdução a algoritmos (fluxograma e pseudocódigo) Lab Redes 1
12 23/3 2 Prática: Correção da Avaliação / possível realização de recuperação Lab Redes 2
13 28/3 2 Introdução ao C, primeiros conceitos de compilação, variáveis, controle de fluxo com if… else, switch, entrada e saída de dados com printf e scanf, Lab Redes 1
14 30/3 2 Continuação C, condicionais, operadores relacionais, operadores lógicos. Prática: Controle de fluxo em C, entrada e saída de dados Lab Redes 2
15 4/4 2 Continuação C: estruturas de repetição Lab Redes 1
16 6/4 2 Prática: estruturas de repetição Lab Redes 2
17 11/4 2 Continuação C: funções Lab Redes 1
18 13/4 2 Prática: Funções em C Lab Redes 2
19 18/4 2 Introdução a vetores e matrizes em C. Resolução de exercícios de vetores Lab Redes 1
20 20/4 2 Prática: Resolução de exercícios de fixação de vetores. Lab Redes 2
21 25/4 2 Compreendendo melhor a função main e exit, gerando números pseudo-aleatórios, defines e operadores e precedências Lab Redes 1
22 27/4 2 Prática: Exercícios de C Lab Redes 2
23 2/5 2 Avaliação: C até funções Lab Redes 1
24 4/5 2 Prática: Correção da Avaliação / possível realização de recuperação Lab Redes 2
25 9/5 2 Structs e Unions Lab Redes 1
26 11/5 2 Prática: Structs e unions Lab Redes 2
27 16/5 2 Ponteiros Lab Redes 1
28 18/5 2 Prática: Exercicios ponteiros Lab Redes 2
29 23/5 2 Vetor de Ponteiros e Ponteiro Para Estruturas, typedef, recursividade, apresentação do projeto Lab Redes 1
30 25/5 2 Prática de Ponteiros e structs Lab Redes 2
31 30/5 2 Avaliação: C até structs Lab Redes 1
32 1/6 2 Prática: Correção da Avaliação / possível realização de recuperação / Desenvolvimento do projeto Lab Redes 2
33 6/6 2 Alocação dinâmica de memória, apresentação do projeto Lab Redes 1
34 8/6 2 Prática: Desenvolvimento do Projeto Lab Redes 2
35 13/6 2 Desenvolvimento do Projeto Lab Redes 1
36 20/6 2 Desenvolvimento do Projeto Lab Redes 1
37 22/6 2 Prática: Desenvolvimento do Projeto Lab Redes 2
38 27/6 2 Desenvolvimento do Projeto Lab Redes 1
39 29/6 2 Avaliação: Apresentação do projeto Lab Redes 2
40 4/7 2 Recuperação: Projeto Lab Redes 1
TOTAL 80

Diário de aula

Introdução aos algoritmos utilizando fluxograma

  • Apresentada ementa através dos slides disponibilizados.
  • Conceito de Algoritmo: Sequência ordenada de passos para resolução de um dado problema.
  • Para que serve e como abordaremos?
    • Algoritmos estão associados a automação de processos, permitem descrever os passos que uma máquina (mecânica ou eletrônica) irá realizar geralmente de maneira repetitiva (garantindo repetibilidade).
    • Trabalharemos neste curso com problemas bem definidos que possuem objetivos, caminhos de solução e expectativa de solução claros.
  • Formas de representação
    • Descrição narrativa: Descrição informal de uma situação e passos para solução de um problema
    • Fluxograma: Operações são representadas por formas geométricas
    • Pseudo-código: Representação de comportamento e ações por meio de regra predefinida
    • Códigos de programação: Um PROGRAMA implementa um algoritmo. É o algoritmo materializado na forma de uma sequência de instruções.
  • Descrição narrativa
    • Trata-se de um texto livre mas é sugerido organizar em tópicos como os seguintes:
      • Cenário;
      • Problema;
      • Dados de entrada e saída;
      • Solução esperada;
      • Etapas;
      • Solução proposta.
    • Exemplos comuns são receitas de culinária, mas pode-se descrever de forma narrativa qualquer tipo de algoritmo.
      • Descreva o algoritmo para fazer um ovo frito
      • Descreva o algoritmo para cozinhar macarrão instantâneo
  • Fluxogramas
    • Um fluxograma é uma linguagem semi-gráfica que pode ser utilizada para descrição de algoritmos.
    • Existem diferentes padrões, aqui utilizaremos o ANSI.
  • Exemplo:
    • Calcula média de dois números
      Media de dois numeros.jpg
    • Observar uso de Terminador de inicio, Entrada de dados: NUM1, Entrada de dados: NUM2, Calcula, Exibe a média e Terminador de fim
  • Outros exemplos de algoritmos para exercitar fluxogramas (pode-se abstrair e fazer de modo simplificado na forma de uma série de processos ou modo mais completo com condicionais):
    • Fritar um ovo
    • Cozinhar macarrão instantâneo
    • Cozinhar miojo com ovo
    • Trocar o pneu de um carro
    • Enviar um e-mail
    • Pegar um livro na biblioteca
    • Calcular a área de um cômodo

Ansi flowchart.jpg
Flowchart libreoffice.png

  • Outros conceitos trabalhados
    • abstração
    • estruturas de dados