Departamento de Informática e Estatística

Planos de Ensino
Visitante (Entrar)

Plano de Ensino

Aprovado pelo Departamento em: 14-7-2017

  1. Identificação: Visualizar em PDF
    • Disciplina: INE5603 - Introdução à Programação Orientada a Objetos
    • Turma(s): 01238C
    • Carga horária: 108 horas-aula      Teóricas: 30      Práticas: 78
    • Período: 2º semestre de 2017
  2. Curso(s):
    • Sistemas de Informação (238)
  3. Requisito(s):
    • Não há
  4. Professor(es):
    • Alexandre Goncalves Silva (alexandre.goncalves.silva@ufsc.br)
  5. Ementa:
    • Modelagem conceitual: Abstração X Representação. O Modelo de Objetos: Classes e Objetos, Comunicação por troca de mensagens. Herança e Polimorfismo.
  6. Objetivo(s):
    • Geral: Apresentar as noções básicas de programação de computadores capacitando os alunos a analisar problemas de complexidade básica e projetar/desenvolver soluções de software sob a perspectiva de orientação a objetos.
    • Apresentar as noções básicas de programação de computadores capacitando os alunos a analisar problemas de complexidade básica e projetar/desenvolver soluções de software sob a perspectiva de orientação a objetos.
    • Específicos:
      1. Apresentar os conceitos fundamentais da programação orientada a objetos.
      2. Capacitar o aluno a analisar problemas de complexidade básica, abstraindo e modelando e implementando soluções sob o enfoque da programação orientada a objetos.
      3. Desenvolver fluência em uma linguagem de programação orientada a objetos.
  7. Conteúdo Programático:
    • CONTEXTUALIZAÇÃO [8 horas-aula]
      • Modelo conceitual
      • Processos de abstração e representação
      • Histórico sobre linguagens de programação
    • MODELO DE OBJETOS [30 horas-aula]
      • Classes e objetos
      • Atributos
      • Métodos, argumentos e parâmetros
      • Comunicação por troca de mensagens
      • Encapsulamento e ocultamento de informações
      • Hierarquia de agregação/decomposição
      • Hierarquia de especialização/generalização
      • Herança e Polimorfismo
    • CONCEITOS BÁSICOS DE PROGRAMAÇÃO IMPERATIVA [40 horas-aula]
      • Algoritmos e programas
      • Processo de edição, compilação e execução
      • Variáveis e Tipos de dados
      • Comando de atribuição
      • Operadores aritméticos e lógicos
      • Estruturas de controle
        • Estrutura de seqüenciação
        • Estruturas de decisão (simples e compostas)
        • Estruturas de repetição (condicionais e contadas)
    • COLEÇÕES [30 horas-aula]
      • Cadeias de caracteres (String)
      • Coleções unidimensionais (Array)
      • Coleções bidimensionais (Matrizes)
  8. Metodologia:
    Os aspectos teóricos da disciplina serão abordados ao longo do semestre em aulas expositivas, assim como por meio de leitura e discussão de textos pertinentes.

    A prática de programação será desenvolvida com base em implementação computacional de soluções para variados tipos de problemas, utilizando a linguagem de programação JAVA, em sessões conduzidas pelo professor em sala de aula com recursos multimídia ou em ambiente de laboratório.

    Além de exercícios avaliativos semanais, quatro listas de problemas devem ser divulgadas a cada etapa concluída do conteúdo programático da disciplina.
  9. Avaliação:
    A avaliação da aprendizagem será feita a partir de três provas escritas, P1, P2 e P3, e a média E dos exercícios práticos (em número de aproximadamente 20, sendo um problema resolvido e implementado por semana). A média final (MF) será calculada pela seguinte fórmula:

    MF = (2*P1 + 2*P2 + 2*P3 + E) / 7

    Não é prevista atividade de recuperação para esta turma, nos termos previstos no art. 70, parágrafo 2o, da Resolução 17/CUn/97, uma vez que cumpre pelo menos um dos seguintes requisitos:

    • ter pelo menos 50% de carga prática;
    • ter pelo menos 50% do peso da média final originado de trabalho prático;
    • ter a inadequação da aplicação de avaliação de recuperação reconhecida pelo colegiado do curso, a partir da avaliação de solicitação fundamentada de dispensa de avaliação de recuperação, encaminhada pelo(s) professor(es) autor(es) do respectivo plano de ensino, para disciplinas com carga prática prevista no programa da disciplina, com nota de trabalho prático considerada no cálculo da média final e que não tenham cumprido um dos requisitos anteriores.
  10. Cronograma:
    As provas previstas na avaliação serão realizadas na 6ª, 12ª e 18ª semanas de aula.
  11. Bibliografia Básica:
    • BORATTI, Isaias C. Programação Orientada a Objetos em Java. Florianópolis: VisualBooks. 2007.
    • CAMARÃO, C. e FIGUEIREDO, L. Programação de Computadores em Java. Rio de Janeiro: LTC. 2003.
    • DEITEL, Harvey M.; DEITEL, Paul J. . Java como programar. 6. ed. São Paulo (SP): Pearson Prentice Hall, 2005.
  12. Bibliografia Complementar:
    • BORATTI, Isaias C. e OLIVEIRA, A. B. Introdução a Programação – Algoritmos. Visual Books, 3 Ed. 2007
    • SANTOS, R. Introdução à Programação Orientada a Objetos usando Java. São Paulo: Campus, 2003.
    • SIERRA, Kathy; BATES, Bert . Use a cabeça!: Java. [tradução Aldir José Coelho] Rio de Janeiro: Alta Books, 2007.
    • ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de. Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java. 2. ed. São Paulo (SP): Pearson Prentice Hall, 2008.
    • MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para desenvolvimento de programação de computadores. 23.ed. São Paulo (SP): Érica, 2010.
    • PUGA, Sandra; RISSETTI, Gerson. Lógica de programação e estruturas de dados: com aplicações em Java. 2. ed. São Paulo: Prentice Hall, 2009.