UNIVERSIDADE FEDERAL DE SANTA CATARINA
CENTRO TECNOLÓGICO
DEPARTAMENTO DE
INFORMÁTICA E DE ESTATÍSTICA
DISCIPLINA: INE5402 –
Programação Orientada a Objetos I
Prof. Isaias C.
Boratti Turma
01208A
PLANO
DE ENSINO – 2013.2
1.
DISCIPLINA:
Horas-Aula: 108 Teóricas: 30 Práticas: 78
2.
REQUISITOS: não há
3.
CURSOS: Bacharelado em Ciências da Computação
4. EMENTA: Algoritmo. Programação de computador.
Resolução de problemas usando
computador. Linguagem de Programação. Elementos de programação imperativa: variáveis simples,
coleções uni e n dimensionais; tipos das variáveis; comandos; procedimentos e
funções. Conceitos fundamentais do paradigma de Programação Orientada a
Objetos: objeto, atributo, método, classe. Prática de programação usando alguma
linguagem de programação orientada a objetos.
5.
OBJETIVOS:
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.
Específicos:
I.
Apresentar os conceitos fundamentais da
programação orientada a objetos.
II.
Capacitar o aluno a analisar problemas
de complexidade básica, abstraindo, modelando e implementando soluções sob o
enfoque de programação orientada a objetos.
III.
Desenvolver fluência em uma linguagem
de programação orientada a objetos.
6. PROGRAMA - PROCEDIMENTOS DIDÁTICOS
( AEX - Aula Expositiva; APR - Aula Prática)
T
Ó P I C O S Proc. Didáticos Horas-aula
I.
CONTEXTUALIZAÇÃO AEX /
APR 8
·
Modelo conceitual
·
Processos de abstração e representação
· Histórico sobre linguagens de programação
II.
MODELO DE OBJETOS AEX
/ APR 30
·
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
III. CONCEITOS
BÁSICOS DE PROGRAMAÇÃO
IMPERATIVA AEX
/ APR 40
·
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)
IV. COLEÇÕES AEX
/ APR 30
·
Cadeias de caracteres (String)
· Coleções unidimensionais (Array)
· Coleções bidimensionais (Matrizes)
Obs.: 1) Na disciplina será usada a linguagem JAVA
2)
A carga horária inclui as avaliações.
7. METODOLOGIA
A
disciplina será desenvolvida através de aulas expositivas e práticas em
laboratório. Nas aulas expositivas serão apresentados os conceitos relativos ao
assunto da disciplina. Também serão desenvolvidos trabalhos (programas de
computador) os quais serão implementados pelos alunos nas aulas práticas. Parte
dos trabalhos será desenvolvida pelo professor e parte será desenvolvida pelos
alunos com o acompanhamento do professor.
8. AVALIAÇÃO DA APRENDIZAGEM
A avaliação da aprendizagem será feita
através de:
- 3 Testes escritos individuais
- Prova Final escrita individual
- Trabalhos desenvolvidos em aula
(em grupo) e extra-classe (individual)
(aproximadamente 7)
9. SISTEMA DE AVALIAÇÃO
A média final (MF) na disciplina será
calculada conforme a seguir:
onde:
MT - Média dos Testes.
PF - Nota da Prova Final
Mtr - Média dos Trabalhos
Recuperação:
Os alunos com freqüência suficiente e MF entre 3.0 e 5.5 terão direito a uma
avaliação (prova escrita) optativa envolvendo
toda a matéria. Para quem realizar esta avaliação, a nota final na disciplina
(NF) será calculada conforme abaixo:
Onde:
NF
= Nota Final com Recuperação
REC = Nota obtida na avaliação
optativa
10. CRONOGRAMA
As avaliações escritas serão realizadas em datas a serem
definidas pelo professor durante o semestre letivo, sendo que aproximadamente
no final de cada mês de aula será realizada uma avaliação (teste, prova). Datas
de entrega de trabalhos serão definidas pelo professor durante o semestre
letivo.
11. BIBLIOGRAFIA
BÁSICA
BORATTI,
Isaias C. Programação Orientada a Objetos em Java. Florianópolis:
VisualBooks. 2007.
BORATTI,
Isaias C. e OLIVEIRA, A. B. Introdução a Programação – Algoritmos.
Visual Books, 3 Ed. 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. 3. ed. Porto
Alegre: Bookman, 2001.
12. BIBLIOGRAFIA
COMPLEMENTAR
BOACH, Grady. Object-oriented analysis and design: with
applications. 2nd ed.
BOOCH, G., Object-Oriented Design.
Benjamin/Cumminggs Pub. 1998.
BUDD, Timothy. Understanding object-oriented programming
with Java. Updated ed.
HORSTMANN, C. S. e CORNELL, G. Java 2 Volume I – Fundamentos.
São Paulo, Pearson Education, 2003.
JIA, Xiaoping. Object-oriented software development using
Java: principles, patterns, and frameworks. Reading:
Addison-Wesley, 2000.
MEYER, Bertrand. Object-oriented software construction.
2nd. ed.
NEWMAN,
Alexander. Usando Java: o guia de referência mais completo. Rio de
Janeiro: Campus, 1997.
RUMBAUGH,
James et alii. Modelagem e Projetos Baseados em Objetos. Ed. Campus, 1994
SANTOS,
R. Introdução
à Programação Orientada a Objetos usando Java. São Paulo: Campus, 2003.
SOUZA,
Marco F. de Souza; et al. Algoritmos e Lógica de Programação.
São Paulo: Thomson Learning, 2005.
WALNUM,
Clayton. JAVA em exemplos. São Paulo: MaKron Books do Brasil, 1997.
Wazlawick, Raul S. Análise e Projeto de Sistemas de Informação Orientados a Objetos. São Paulo: Campus. 2004.