Aula Inaugural - Programação Imperativa
        Profa. MSc Ivna Valença
Roteiro


 •   Docente
 •   Discentes
 •   Horário das aulas
 •   Frequência / Faltas
 •   Plano de Ensino
 •   Plano de Aulas
 •   Sala de Aula / Laboratório
 •   Trabalho
 •   Blog




                                  Profa. MSc Ivna Valença   2
Docente – Professora Ivna Valença


 • 2004 – 2007: Graduação em Análise de Sistemas. Universidade Salgado de
   Oliveira.
 • 2007 – 2008: Pitang - Consultoria em Tecnologia da Informação e
   Comunicação.
 • 2009 – 2009: Institut National de Recherche en Informatique et en
   Automatique.
     – "Simulation of a complex system and analysis of its self-organization"
 • 2008 – 2010: Mestrado em Programa de Pós-Graduação em Ciência da
   Computação. Universidade Federal de Pernambuco.
     – “Modelos Híbridos Baseados em Redes Neurais, Lógica Fuzzy e Busca para Previsão de
       Séries Temporais.”




                                       Profa. MSc Ivna Valença                              3
Docente – Professora Ivna Valença


 • 2010 – Atual: Doutorado em andamento em Programa de Pós-Graduação
   em Ciência da Computação.
   Universidade Federal de Pernambuco, UFPE
 • 2012 – Atual: Especialização em Teste de Software. Faculdade Maurício de
   Nassau.
 • 2012 – Atual: QualiHouse - Automação Predial
 • 2012 – Atual: Faculdade Nova Roma (Programação Imperativa, Estrutura
   de Dados e Inteligência Artificial)




                               Profa. MSc Ivna Valença                    4
Discentes


 •   Qual seu nome?
 •   Já trabalha ou trabalhou com informática?
 •   Já programou? Em qual linguagem?
 •   Já fez outro curso em computação?
 •   Quais são as suas expectativas no curso e na disciplina?




                                 Profa. MSc Ivna Valença        5
Horário das Aulas


 •   18h30 às 19h20 – Primeiro Tempo
 •   19h20 às 20h10 – Segundo Tempo
 •   20h10 às 20h20 – Intervalo
 •   20h20 às 21h10 – Terceiro Tempo
 •   21h10 às 22h00 – Quarto Tempo




                              Profa. MSc Ivna Valença   6
Frequência / Faltas


 • O aluno deve estar presente em 75% das aulas ministradas.
 • Programação Imperativa tem uma carga horária de 72 horas/aula, ou
   seja, 18 dias de aula.
 • O aluno não pode faltar mais do que 18 horas/aula, ou seja, 4 dias de aula
   e meia.
 • Faltas justificadas não serão descontadas!




                                Profa. MSc Ivna Valença                         7
Plano de Ensino – Ementa


 •   Funcionamento de um programa
 •   Conceitos básicos de programação
 •   Variáveis e tipos
 •   Operadores
 •   Comandos básicos de entrada e saída (e/s)
 •   Estruturas sequenciais
 •   Estruturas de decisão
 •   Estruturas de repetição
 •   Estruturas de dados básicas
 •   Modularização
 •   Ponteiros



                                Profa. MSc Ivna Valença   8
Plano de Ensino – Objetivos


 • Objetivos gerais:
     – Capacitar o aluno a elaborar programas de computadores utilizando o paradigma
       imperativo de programação.
 • Objetivos específicos:
     – Prover aos alunos os conhecimentos e preceitos básicos de lógica de
       programação, desenvolver nos alunos a capacidade de abstração para programação de
       computadores, estimular nos alunos o raciocínio lógico estruturado, ensinar aos alunos
       as técnicas básicas para construção de algoritmos computacionais, familiarizando os
       mesmos com os recursos típicos de linguagens de programação imperativa.




                                      Profa. MSc Ivna Valença                                   9
Plano de Ensino – Conteúdo Programático


 • Funcionamento básico de um programa de computador em uma
   arquitetura clássica;
 • Conceitos de programa, linguagem de
   programação, algoritmo, compilação, compiladores, código fonte, código
   objeto, ferramentas para programação, e tipos de linguagens de
   programação;
 • Representação de dados em programas de computadores, variáveis e
   constantes como representação de dados, tipos básicos das linguagens de
   programação e suas representações binárias;
 • Operadores aritméticos, lógicos, e de comparação;
 • Comandos básicos de leitura e de escrita no teclado;
 • Programação usando estruturas sequenciais;
 • Programação usando estruturas de decisão simples e múltipla e suas
   variações;
                               Profa. MSc Ivna Valença                   10
Plano de Ensino – Conteúdo Programático


 • Programação usando estruturas de repetição e suas
   variações, contadores, acumuladores;
 • Arrays, matrizes e registros (tipos definidos pelo programador);
 • Modularização: procedimento, funções, passagem de parâmetros, escopo
   de variáveis;
 • Ponteiros, referências e princípios básicos de alocação dinâmica de
   memória.




                             Profa. MSc Ivna Valença                  11
Plano de Ensino – Metodologia


 • Uso de uma linguagem de programação e de uma ferramenta de
   programação em vez de uma pseudo linguagem.
 • Uso de fluxogramas no início da disciplina e na apresentação teórica das
   principais estruturas de controle da programação imperativa.
 • Ênfase na construção da solução dos problemas, e não na simples tarefa
   de executar programas nas ferramentas.
 • Problemas propostos devem ser resolvidos pelo professor e problemas
   similares devem ser propostos aos alunos que, apoiados pelo professor
   em sala de aula, procedem com a resolução dos mesmos.
 • O aprendizado deve ser desenvolvido com a construção de soluções para
   problemas computacionais propostos que tenham como solução
   programas de computador, e o aluno deve ser direcionado pelo professor
   a entender o problema apresentado do ponto de vista computacional, e a
   construir a solução pertinente.
                               Profa. MSc Ivna Valença                    12
Plano de Ensino – Avaliação


 • Uma nota composta por:
     – Prova escrita com questões predominantemente abertas (80%);
     – Participação em aula (10%); e
     – Exercícios propostos (10%).
 • A outra nota composta por:
     – Prova escrita com questões predominantemente abertas (50%);
     – Trabalho em grupo sobre linguagens de programação imperativa onde cada grupo pode
       falar sobre uma linguagem diferente (30%);
     – Participação em aula (10%); e
     – Exercícios propostos (10%).




                                    Profa. MSc Ivna Valença                            13
Plano de Ensino – Bibliografia


 • Básica:
     – DEITEL, H. M.. Java: como programar 6.ed. São Paulo - SP: Pearson Prentice Hall, 2007.
       1110p.
     – FORBELLONE, André Luiz Villar. Lógica de programação a construção de algoritmos e
       estruturas de dados. 3.ed. São Paulo - SP: Pearson Prentice Hall, 2005. 218p.
 • Complementar:
     – ZIVIANI, Nivio. Projeto de algoritmos com implementação em JAVA e C++ São Paulo - SP:
       Thomson Learning, 2005. 621p.
     – SEBESTA, Robert W.. Conceitos de linguagens de programação Porto Alegre - RS:
       Bookman, 2006. 638p.
     – LOPES, Anita. Introdução à programação 500 algoritmos resolvidos Rio de Janeiro - RJ:
       Campus, 2002. 469p.
     – PUGA, Sandra. Lógica de programação e estruturas de dados com aplicações em java
       São Paulo - SP: Pearson Prentice Hall, 2003. 254p.
     – ZIVIANI, Nivio. Projeto de algoritmos com implementação em JAVA e C++ São Paulo - SP:
       Thomson Learning, 2005. 621p.

                                      Profa. MSc Ivna Valença                                   14
Plano de Ensino – Recursos


 • A linguagem – Java apresentada apenas como ferramenta para
   programação imperativa – e Eclipse, computadores, quadro
   branco, piloto, projetor, editores de texto simples, programa para
   elaboração de fluxogramas (Jude ou BizAgi).




                                Profa. MSc Ivna Valença                 15
Plano de Aulas (1/3)


 Aula    Data    Assunto
  1     18/fev   Conceitos básicos de programação: elementos básicos de um
                 computador, como funciona um programa nos elementos básicos
                 de um computador, o que é algoritmo, programa, código fonte,
                 código objeto (ou de máquina), compilador, linguagem de
                 programação.
  2     25/fev   Conceitos básicos de programação: tipos de linguagem de
                 programação (de máquina, baixo nível, alto nível). Variáveis,
                 constantes, tipos básicos de dados (inteiros, reais, lógicos,
                 caracteres), palavras reservadas, operadores aritméticos,
                 expressões aritméticas (exercícios de resolução).
  3     04/mar   Operadores relacionais, operadores lógicos (and, or, not, xor e
                 tabelas-verdade), expressões lógicas (exercícios de resolução),
                 comandos básicos de entrada e de saída, estruturas sequenciais.
                 Apresentação do Grupo 01.

                                 Profa. MSc Ivna Valença                           16
Plano de Aulas (2/3)


 Aula    Data    Assunto
  4     11/mar   Fluxogramas, estruturas condicionais simples, exercícios.
                 Apresentação do Grupo 02.
  5     18/mar   Estruturas condicionais composta, exercícios.
                 Apresentação do Grupo 03.
  6     25/mar   Estruturas de repetição (enquanto), exercícios.
                 Apresentação do Grupo 04.
  7     01/abr   Estruturas de repetição (faça-enquanto), exercícios.
                 Apresentação do Grupo 05.
  8     08/abr   Estruturas de repetição (para), contadores e acumuladores,
                 exercícios.
  9     15/abr   Revisão e 1ª Prova.
  *     17/abr   Divulgação das notas (P1).
  10    22/abr   Correção da 1ª prova.
                                 Profa. MSc Ivna Valença                      17
Plano de Aulas (3/3)


 Aula     Data   Assunto
  11    29/abr   Arrays unidimensionais, exercícios.
  12    06/mai   Arrays bidimensionais, exercícios.
  13    13/mai   Registros, exercícios.
  14    20/mai   Modularização (procedimentos, funções e passagem de
                 parâmetros).
  15    27/mai   Exercícios sobre modularização.
  16    03/jun   Ponteiros, referências e princípios básicos de alocação dinâmica de
                 memória.
  17    10/jun   Revisão e 2ª prova.
  *     12/jun   Divulgação das notas (P2).
  18    17/jun   Prova Final (PS).
  *     19/jun   Divulgação das notas (PS).

                                     Profa. MSc Ivna Valença                       18
Sala de Aula / Laboratório


 • Caso algum equipamento apresente defeito, comunique imediatamente à
   professora;
 • É proibida a alteração de qualquer componente instalada nos
   equipamentos (hardware ou software) sem a presença ou autorização do
   setor de TI;
 • É proibido o consumo de qualquer tipo de alimento ou bebidas no
   laboratório ou sala de aula;
 • É proibida a instalação de qualquer tipo de programa (mesmo que
   freeware ou de uso livre) sem a expressa autorização do setor de TI;
 • No quadro de aviso do laboratório tem a norma de uso do mesmo;
 • Os equipamentos devem ser desligados pelos alunos, ao término de seu
   uso, de acordo com a seguinte sequência de operação.



                             Profa. MSc Ivna Valença                  19
Trabalho


 • De 5-10 slides, apresentação de 20 minutos.
 • Deve ser enviado para a professora através do portal da Faculdade Nova
   Roma até o dia anterior à apresentação.




             C                     Perl                   Assembly
            Java                  Ruby                     Pascal
            C++                JavaScript                   Ada
             C#                  Delphi                   Fortran
            PHP                    Lisp                    COBOL
           Python           Visual Basic .NET              Clipper


                                Profa. MSc Ivna Valença                     20
Blog


 • http://programacaoimperativa.blogspot.com.br/




                             Profa. MSc Ivna Valença   21
Profa. MSc Ivna Valença   22

Aula Inaugural - Programação Imperativa

  • 1.
    Aula Inaugural -Programação Imperativa Profa. MSc Ivna Valença
  • 2.
    Roteiro • Docente • Discentes • Horário das aulas • Frequência / Faltas • Plano de Ensino • Plano de Aulas • Sala de Aula / Laboratório • Trabalho • Blog Profa. MSc Ivna Valença 2
  • 3.
    Docente – ProfessoraIvna Valença • 2004 – 2007: Graduação em Análise de Sistemas. Universidade Salgado de Oliveira. • 2007 – 2008: Pitang - Consultoria em Tecnologia da Informação e Comunicação. • 2009 – 2009: Institut National de Recherche en Informatique et en Automatique. – "Simulation of a complex system and analysis of its self-organization" • 2008 – 2010: Mestrado em Programa de Pós-Graduação em Ciência da Computação. Universidade Federal de Pernambuco. – “Modelos Híbridos Baseados em Redes Neurais, Lógica Fuzzy e Busca para Previsão de Séries Temporais.” Profa. MSc Ivna Valença 3
  • 4.
    Docente – ProfessoraIvna Valença • 2010 – Atual: Doutorado em andamento em Programa de Pós-Graduação em Ciência da Computação. Universidade Federal de Pernambuco, UFPE • 2012 – Atual: Especialização em Teste de Software. Faculdade Maurício de Nassau. • 2012 – Atual: QualiHouse - Automação Predial • 2012 – Atual: Faculdade Nova Roma (Programação Imperativa, Estrutura de Dados e Inteligência Artificial) Profa. MSc Ivna Valença 4
  • 5.
    Discentes • Qual seu nome? • Já trabalha ou trabalhou com informática? • Já programou? Em qual linguagem? • Já fez outro curso em computação? • Quais são as suas expectativas no curso e na disciplina? Profa. MSc Ivna Valença 5
  • 6.
    Horário das Aulas • 18h30 às 19h20 – Primeiro Tempo • 19h20 às 20h10 – Segundo Tempo • 20h10 às 20h20 – Intervalo • 20h20 às 21h10 – Terceiro Tempo • 21h10 às 22h00 – Quarto Tempo Profa. MSc Ivna Valença 6
  • 7.
    Frequência / Faltas • O aluno deve estar presente em 75% das aulas ministradas. • Programação Imperativa tem uma carga horária de 72 horas/aula, ou seja, 18 dias de aula. • O aluno não pode faltar mais do que 18 horas/aula, ou seja, 4 dias de aula e meia. • Faltas justificadas não serão descontadas! Profa. MSc Ivna Valença 7
  • 8.
    Plano de Ensino– Ementa • Funcionamento de um programa • Conceitos básicos de programação • Variáveis e tipos • Operadores • Comandos básicos de entrada e saída (e/s) • Estruturas sequenciais • Estruturas de decisão • Estruturas de repetição • Estruturas de dados básicas • Modularização • Ponteiros Profa. MSc Ivna Valença 8
  • 9.
    Plano de Ensino– Objetivos • Objetivos gerais: – Capacitar o aluno a elaborar programas de computadores utilizando o paradigma imperativo de programação. • Objetivos específicos: – Prover aos alunos os conhecimentos e preceitos básicos de lógica de programação, desenvolver nos alunos a capacidade de abstração para programação de computadores, estimular nos alunos o raciocínio lógico estruturado, ensinar aos alunos as técnicas básicas para construção de algoritmos computacionais, familiarizando os mesmos com os recursos típicos de linguagens de programação imperativa. Profa. MSc Ivna Valença 9
  • 10.
    Plano de Ensino– Conteúdo Programático • Funcionamento básico de um programa de computador em uma arquitetura clássica; • Conceitos de programa, linguagem de programação, algoritmo, compilação, compiladores, código fonte, código objeto, ferramentas para programação, e tipos de linguagens de programação; • Representação de dados em programas de computadores, variáveis e constantes como representação de dados, tipos básicos das linguagens de programação e suas representações binárias; • Operadores aritméticos, lógicos, e de comparação; • Comandos básicos de leitura e de escrita no teclado; • Programação usando estruturas sequenciais; • Programação usando estruturas de decisão simples e múltipla e suas variações; Profa. MSc Ivna Valença 10
  • 11.
    Plano de Ensino– Conteúdo Programático • Programação usando estruturas de repetição e suas variações, contadores, acumuladores; • Arrays, matrizes e registros (tipos definidos pelo programador); • Modularização: procedimento, funções, passagem de parâmetros, escopo de variáveis; • Ponteiros, referências e princípios básicos de alocação dinâmica de memória. Profa. MSc Ivna Valença 11
  • 12.
    Plano de Ensino– Metodologia • Uso de uma linguagem de programação e de uma ferramenta de programação em vez de uma pseudo linguagem. • Uso de fluxogramas no início da disciplina e na apresentação teórica das principais estruturas de controle da programação imperativa. • Ênfase na construção da solução dos problemas, e não na simples tarefa de executar programas nas ferramentas. • Problemas propostos devem ser resolvidos pelo professor e problemas similares devem ser propostos aos alunos que, apoiados pelo professor em sala de aula, procedem com a resolução dos mesmos. • O aprendizado deve ser desenvolvido com a construção de soluções para problemas computacionais propostos que tenham como solução programas de computador, e o aluno deve ser direcionado pelo professor a entender o problema apresentado do ponto de vista computacional, e a construir a solução pertinente. Profa. MSc Ivna Valença 12
  • 13.
    Plano de Ensino– Avaliação • Uma nota composta por: – Prova escrita com questões predominantemente abertas (80%); – Participação em aula (10%); e – Exercícios propostos (10%). • A outra nota composta por: – Prova escrita com questões predominantemente abertas (50%); – Trabalho em grupo sobre linguagens de programação imperativa onde cada grupo pode falar sobre uma linguagem diferente (30%); – Participação em aula (10%); e – Exercícios propostos (10%). Profa. MSc Ivna Valença 13
  • 14.
    Plano de Ensino– Bibliografia • Básica: – DEITEL, H. M.. Java: como programar 6.ed. São Paulo - SP: Pearson Prentice Hall, 2007. 1110p. – FORBELLONE, André Luiz Villar. Lógica de programação a construção de algoritmos e estruturas de dados. 3.ed. São Paulo - SP: Pearson Prentice Hall, 2005. 218p. • Complementar: – ZIVIANI, Nivio. Projeto de algoritmos com implementação em JAVA e C++ São Paulo - SP: Thomson Learning, 2005. 621p. – SEBESTA, Robert W.. Conceitos de linguagens de programação Porto Alegre - RS: Bookman, 2006. 638p. – LOPES, Anita. Introdução à programação 500 algoritmos resolvidos Rio de Janeiro - RJ: Campus, 2002. 469p. – PUGA, Sandra. Lógica de programação e estruturas de dados com aplicações em java São Paulo - SP: Pearson Prentice Hall, 2003. 254p. – ZIVIANI, Nivio. Projeto de algoritmos com implementação em JAVA e C++ São Paulo - SP: Thomson Learning, 2005. 621p. Profa. MSc Ivna Valença 14
  • 15.
    Plano de Ensino– Recursos • A linguagem – Java apresentada apenas como ferramenta para programação imperativa – e Eclipse, computadores, quadro branco, piloto, projetor, editores de texto simples, programa para elaboração de fluxogramas (Jude ou BizAgi). Profa. MSc Ivna Valença 15
  • 16.
    Plano de Aulas(1/3) Aula Data Assunto 1 18/fev Conceitos básicos de programação: elementos básicos de um computador, como funciona um programa nos elementos básicos de um computador, o que é algoritmo, programa, código fonte, código objeto (ou de máquina), compilador, linguagem de programação. 2 25/fev Conceitos básicos de programação: tipos de linguagem de programação (de máquina, baixo nível, alto nível). Variáveis, constantes, tipos básicos de dados (inteiros, reais, lógicos, caracteres), palavras reservadas, operadores aritméticos, expressões aritméticas (exercícios de resolução). 3 04/mar Operadores relacionais, operadores lógicos (and, or, not, xor e tabelas-verdade), expressões lógicas (exercícios de resolução), comandos básicos de entrada e de saída, estruturas sequenciais. Apresentação do Grupo 01. Profa. MSc Ivna Valença 16
  • 17.
    Plano de Aulas(2/3) Aula Data Assunto 4 11/mar Fluxogramas, estruturas condicionais simples, exercícios. Apresentação do Grupo 02. 5 18/mar Estruturas condicionais composta, exercícios. Apresentação do Grupo 03. 6 25/mar Estruturas de repetição (enquanto), exercícios. Apresentação do Grupo 04. 7 01/abr Estruturas de repetição (faça-enquanto), exercícios. Apresentação do Grupo 05. 8 08/abr Estruturas de repetição (para), contadores e acumuladores, exercícios. 9 15/abr Revisão e 1ª Prova. * 17/abr Divulgação das notas (P1). 10 22/abr Correção da 1ª prova. Profa. MSc Ivna Valença 17
  • 18.
    Plano de Aulas(3/3) Aula Data Assunto 11 29/abr Arrays unidimensionais, exercícios. 12 06/mai Arrays bidimensionais, exercícios. 13 13/mai Registros, exercícios. 14 20/mai Modularização (procedimentos, funções e passagem de parâmetros). 15 27/mai Exercícios sobre modularização. 16 03/jun Ponteiros, referências e princípios básicos de alocação dinâmica de memória. 17 10/jun Revisão e 2ª prova. * 12/jun Divulgação das notas (P2). 18 17/jun Prova Final (PS). * 19/jun Divulgação das notas (PS). Profa. MSc Ivna Valença 18
  • 19.
    Sala de Aula/ Laboratório • Caso algum equipamento apresente defeito, comunique imediatamente à professora; • É proibida a alteração de qualquer componente instalada nos equipamentos (hardware ou software) sem a presença ou autorização do setor de TI; • É proibido o consumo de qualquer tipo de alimento ou bebidas no laboratório ou sala de aula; • É proibida a instalação de qualquer tipo de programa (mesmo que freeware ou de uso livre) sem a expressa autorização do setor de TI; • No quadro de aviso do laboratório tem a norma de uso do mesmo; • Os equipamentos devem ser desligados pelos alunos, ao término de seu uso, de acordo com a seguinte sequência de operação. Profa. MSc Ivna Valença 19
  • 20.
    Trabalho • De5-10 slides, apresentação de 20 minutos. • Deve ser enviado para a professora através do portal da Faculdade Nova Roma até o dia anterior à apresentação. C Perl Assembly Java Ruby Pascal C++ JavaScript Ada C# Delphi Fortran PHP Lisp COBOL Python Visual Basic .NET Clipper Profa. MSc Ivna Valença 20
  • 21.
  • 22.
    Profa. MSc IvnaValença 22