Atualizada para o semestre 2017-2.

Algoritmos e Programação II

Avaliação | Trabalhos | Atividades Práticas Supervisionadas | Avaliação | Cronograma | Material de Apoio

A disciplina de Algoritmos e Programação II, da Faculdade Senac Porto Alegre tem como objetivo principal, desenvolver os conhecimentos sobre estruturas de dados, orientação a objetos e técnicas para o desenvolvimento de aplicações complexas. Nesta disciplina são trabalhados conceitos de orientação a objetos para o desenvolvimento de aplicações extensíveis e manuteníveis. Além disso, nesta disciplina começa o trabalho de pensamento algorítmico e a utilização de estruturas de dados na solução de problemas computacionais.

Entre os conteúdos estudados, encontram-se:

Avaliação

Nesta disciplina, o aluno deve demostrar a capacidade de desenvolver aplicações utilizando técnicas de programação orientada a objetos e estruturas de dados lineares.

Para isso, serão desenvolvidos três trabalhos ao longo do semestre. Os trabalhos não entregues até a data marcada, podem ser entregues com atraso, no entanto, contarão com, no máximo, o conceito C. A entrega dos trabalhos deverá incluir a descrição do repositório Git, e do commit que representa a entrega, pelo Blackboard, e uma apresentação individual do trabalho para o professor. Até que o trabalho seja apresentado ao professor, será considerado como ainda não entregue.

Todos os trabalhos devem ser desenvolvidos utilizando a linguagem de programação Java.

Trabalhos

Trabalho 1 - Sistema de Eventos

No primeiro trabalho, serão trabalhados os conceitos de programação orientada a objetos, na elaboração de um sistema de auxílio à organização de eventos acadêmicos.

Especificação do primeiro trabalho.

Atividades Práticas Supervisionadas

As atividades práticas supervisionadas (APS) devem ser entregues até as datas limite. Caso não sejam entregues até a data limite, não serão computadas as horas de atividades atribuídas às APS. Caso a entrega não apresente os requisitos apresentados nos objetivos da APS, esta não serão computadas as horas de atividades atribuídas às APS.

Título Descrição Horas Data Limite
A-01 Desenvolvimento de um projeto utilizando o Git. 3h 6a Sem.
A-02 Leitura de arquivos texto, utilizando a classe Scanner. 3h 11a Sem.
A-03 Comparação de objetos utilizando Comparable e Comparator. 3h 15a Sem.
A-04 Questionário sobre POO, Java e Estrutura de Dados. 3h 19a Sem.

A-03 Compração de objetos utilizando Comparable e Comparator.

Objetivo

Criar uma estrutura que permita comparar elementos utilizando alguns dos métodos de comparação de objetos existentes no Java. Devem ser utilizadas as comparações pelo método equals(), utilizando a interface Comparable, e utilizando a interface Comparator.

Entrega

Esta APS deve ser entregue até a 15a semana de aula.

A-04 Questionário sobre POO, Java e Estrutura de Dados.

Objetivo

Responder a um questionário entregue em aula, com questões sobre programação orientada a objetos, a linguagem de programação Java e estruturas de dados.

Entrega

Esta APS deve ser entregue até a 19a semana de aula.

Cronograma

Material de Apoio

Além do material desse site, e do material entregue vida Blackboard, é sugerido que o aluno consulte estes materiais ao longo do semestre.

Livros

  • Sandra Puga e Gerson Rissetti
    Lógica de Programação e Estruturas de Dados com aplicações em Java.
  • Barnes e Kölling
    Programação Orientada a Objetos com Java: uma introdução prática utilizando o BlueJ.
  • Michael T. Goodrich e Roberto Tamassia
    Estruturas de dados e algoritmos em Java. 5.ed.
  • Maurício Aniche
    Orientação a Objetos e SOLID para Ninjas: Projetando classes flexíveis.
  • Bruno Preiss
    Estruturas de Dados e Algoritmos
  • Sierra e Bates
    Use a Cabeça! Java
  • Deitel e Deitel
    Java: Como Programar
  • Horstmann e Cornell
    Core Java 2
  • Bruce Eckel
    Thinking in Java
  • Anthony Sintes
    Aprenda Programação Orientada a Objetos em 21 dias.
  • James Raumbaugh et al.
    Modelagem e Projeto Orientado a Objetos
  • Loiane Groner
    Estruturas de dados e algoritmos em JavaScript
  • Bjarne Stroustrup
    Princípios e Práticas de Programação em C++
  • Nilo Ney Coutinho Menezes
    Introdução a Programação com Python
  • Victorine Viviane Mizrahi
    Treinamento em Linguagem C
  • Nivio Zivani
    Projeto de algoritmos: com implementações em Java e C++

Apostilas on-line

Documentação oficial Java

Cursos em Vídeo

Cursos on-line