O segredo é não correr atrás das borboletas... É cuidar do jardim [de conhecimentos, habilidades e potencialidades] para que elas venham até você. [Mário Quintana]

Identificação da Disciplina

Disciplina
Programação Imperativa – Turmas A0 e C0
Código
103402
Pré-requisito(s)
Matrícula UFS
Carga horária
90
P.E.L.
2.02.2
Créditos
6

Professor

1030013 - Kenia Kodel Cox
Semestre
2012/2

Horários

Turma A0:  Segunda, Quarta e Sexta – Das 15 as 17 horas
Turma C0:   Segunda, Quarta e Sexta  Das 11 as 13 horas

Ementa

Noções fundamentais: algoritmos, notação e programas. Identificadores, constantes, variáveis e atribuição. Tipos primitivos de dados e tipos derivados. Operadores, funções e expressões. Instruções condicionais, incondicionais e de repetição. Estilo de programação estruturada de programas. Representação de dados na forma de: vetores, matrizes, registros e conjuntos. Procedimentos, funções e passagem de parâmetros. Ordenação por seleção e método da bolha. Recursividade. Noções de arquivos em programação. Ponteiros. Uma linguagem imperativa (por exemplo: Pascal ou C). Algoritmos numéricos e não numéricos para solução de problemas de baixa complexidade. Aplicações. Modularização de Programas. Padrões de codificação. (Resolução 50/2008/CONEPE)

Conteúdo Programático

Programação e Algoritmos (Noções Fundamentais). Componentes de um Algoritmo. Controle de Fluxo de Execução. Estruturas de Decisão: SE e CASO. Estruturas de Repetição: ENQUANTO, PARA, REPITA. Estruturas de Armazenamento de Múltiplos Dados: VETOR, MATRIZ, REGISTRO, CONJUNTO, ARQUIVO. Modularização de Programas: PROCEDIMENTOS, FUNÇÕES, PASSAGEM DE PARÂMETRO, BIBLIOTECAS, PRÉ-DEFINIDOS. Recursividade. Ponteiros. 

TEMAS TRANSVERSAIS (conteúdos não tratados por meio de aula(s) específica(s), mas ao longo de outros assuntos através de exemplos, estudos de casos e outros, a medida que se fizerem necessários e possíveis): linguagem PASCAL, estilo de programação estruturada de programas, métodos de ordenação, algoritmos para solução de problemas de baixa complexidade, aplicações, padrões de codificação, metodologia de construção de programas computacionais, tratamento de erros de compilação e execução em Pascal.

Objetivos

1. GERAL
Capacitar o aluno a propor soluções computacionais algorítmicas com aplicação e manipulação adequadas de recursos de linguagem de programação imperativa Pascal.

2. ESPECÍFICOS
  • Familiarizar o educando com os recursos de linguagem de programação Pascal a partir da apresentação e exploração destes.
  • Familiarizar o aluno com soluções algorítmicas, a partir de apresentações destas em exemplos ilustrativos e resolução de exercícios com aplicação dos recursos da linguagem de programação Pascal.
  • Habilitar o aluno a propor soluções algorítmicas a partir da discussão e resolução de situações problemas com implicação de aplicação de recursos da linguagem Pascal.

    Metodologia

    Interação Docente, Monitor e Educandos - através de: aulas com espaço para participação do aluno, troca de e-mails, espaço web, reuniões extraclasses previamente agendadas pelo aluno - virtuais e/ou presenciais.

    Aulas Expositivas para: (a) apresentação de recursos de construção de soluções algorítmicas e da linguagem de programação Pascal, (b) exploração de exemplos ilustrativos de aplicação dos recursos apresentados em soluções algorítmicas, (c) rastreamento das soluções algorítmicas apresentadas. 

    Aulas Práticas (em sala de aula) de desenvolvimento de soluções algorítmicas a partir da aplicação dos recursos da linguagem de programação em estudo. 

    Aulas Práticas em Laboratório para desenvolvimento de programas computacionais com aplicação do Pascal a partir de soluções algorítmicas apresentadas como exemplos ilustrativos nas aulas expositivas; bem como as construídas nas aulas práticas (em sala de aula).

    Desenvolvimento de Projetos Completos Ilustrativos, de programas de computadores, usados como exemplos ilustrativos, com aplicação gradativa dos recursos de linguagem de programação estudados. 

    Desenvolvimento de Projetos Completos de programas de computadores, pelos estudantes, com aplicação dos principais recursos de linguagem de programação estudados; sendo este o ponto culminante da disciplina.

    Resoluções de Exercícios, pela docente e pelos estudantes, coletiva e individualmente.  E com oportunidades, e estímulo, à execução de ajustes das resoluções a partir das orientações/correções efetuadas pelo professor. Assim oportunizando o aprendizado por meio de avaliação reflexiva, e construção incremental de soluções.

    Recursos Didáticos

    Sala de Aula em Didática, para desenvolvimento das aulas expositivas e aulas práticas de desenvolvimento de soluções algorítmicas.

    Notebook, Projetor de Imagens e Software de Apresentação, para desenvolvimento das aulas. Úteis à exposição de conteúdo, apresentação de exemplos ilustrativos e discussão das resoluções de exercícios.

    Laboratório de Informática, para desenvolvimento das aulas práticas com construções computacionais, inclusive dos projetos completos, tanto ilustrativos, como os de culminância da disciplina.

    Free Pascal, para desenvolvimento dos programas computacionais (com exploração da linguagem de programação Pascal), gratuito, disponível em http://www.freepascal.org/.

    Espaço Web, http://pimperativa.blogspot.com/, com material de apoio para download, exercícios resolvidos, avisos, instruções para instalação e uso do compilador aplicado e contatos docentes e do monitor.

    Forma de Avaliação

      Para acompanhamento do desempenho discente nesta disciplina serão contabilizadas três notas compostas, cada, por provas valendo 6 pontos e 4 testes valendo 1 ponto.  

      As provas deverão ser resolvidas individualmente; não serão aplicadas em laboratório com exploração de computadores; valerão 6 pontos e serão realizadas em sala de aula, em data previamente combinada com a turma. 

      Os testes deverão ser resolvidos individualmente; poderão ser aplicados em laboratório com exploração de computadores; valerão 1 ponto, serão realizados em data previamente combinada com a turma, e, em geral corresponderão à construção de programas que podem ser propostos na aula da quarta-feira e com prazo de entrega na sexta-feira seguinte.   

      Haverão exercícios a serem trabalhados durante as aulas e em horários extraclasses. Estes servirão de preparação para as avaliações.  Dúvidas podem ser enviadas por e-mail, para o monitor da disciplina ou para a professora, com identificação clara da atividade a que se refere, bem como da dúvida. 

      O assunto abordado nas avaliações será cumulativo, ou seja, cada avaliação explorará todas as matérias vistas no decurso da disciplina até o momento da aplicação desta.

      Para desenvolvimento das habilidades almejadas como objetivos da disciplina faz-se indispensável o desenvolvimento de programas computacionais, preferencialmente com uso de computadores e ambiente de programação. Na implementação destes na UFS será usado o tradutor Free Pascal, gratuito, disponível em http://www.freepascal.org/.

    Referências Bibliográficas

    1. REFERÊNCIAS BÁSICAS:
      • BUNT & TREMBLAY. Ciência dos Computadores: Uma Abordagem Algorítmica, McGraw-Hill, SP, 1983
      • GOMES & VENERUCHI. Fundamentos da Programação de Computadores*, Prentice Hall, São Paulo, 2008
      * Recomendado como livro texto.
    2. REFERÊNCIAS COMPLEMENTARES:
      • MOKARZEL, F C; SOMA, N Y. Introdução à Ciência da Computação, Campus, Rio de Janeiro, 2008
      • ZIVIANI, Nívio, Projeto de Algoritmos: Com Implementações em Pascal, C e Java, Thomson, São Paulo, 2008

    Disciplina na Web