PRÓ-REITORIA DE GRADUAÇÃO Divisão Especial de Registro e Controle Acadêmico - DERCA Plano de ensino 1) Identificação Curso Disciplina Carga horária Semestre letivo Professor Ciência da Computação CPT310 – Linguagem de Programação I 68h 1 / 2012 Reiner Franthesco Perozzo 2) Objetivos Propiciar a familiarização com o paradigma de Orientação a Objetos para a programação de computadores. 3) Conteúdo programático Unidade 1 - Orientação a Objetos 1.1 Características de Linguagens Orientadas a Objetos 1.2 Reutilização de Código 1.3 Compiladores e Máquinas Virtuais 1.4 Boas Práticas de Escrita de Código de Programação Unidade 2 - Sintaxe de Linguagens de Programação Orientadas a Objetos 2.1 Tipos de dados primitivos 2.2 Arrays 2.3 Operadores Relacionais e Lógicos 2.4 Comandos de Controle de Fluxo Unidade 3 - Programação Orientada a Objetos 3.1 Objetos 3.1.1 Ciclo de Vida de um Objeto 3.2 Classes 3.2.1 Codificação de Classes 3.2.2 Notação UML para Modelo de Classes 3.3 Atributos 3.3.1 Codificação de Atributos 3.4 Métodos 3.4.1 Codificação de Métodos 3.4.2 Uso da palavra-chave this 3.4.3 Troca de Mensagens 3.5 Passagem de Parâmetros por Valor e por Referência 3.6 Modificadores de Acesso 3.7 Construtores 3.7.1 Clone 3.8 Destrutores 3.8.1 Garbage Collector Unifra - Pró-Reitoria de Graduação Rua dos Andradas, 1614 - 97010-032 - Santa Maria - RS www.unifra.br 1 Unidade 4 - Reutilização de Classes, Herança e Polimorfismo 4.1 Herança 4.1.1 Uso da instrução Super 4.2 Polimorfismo 4.3 Sobrecarga de Métodos 4.4 Sobrescrita de Métodos 4.5 Classes Abstratas 4.6 Interfaces Unidade 5 - Exceções 5.1 Utilizando Exceções 4) Caracterização geral da metodologia de ensino - Aulas teóricas expositivas e explicativas; - Aulas práticas em laboratório; - Realização de exercícios e trabalhos. 5) Critérios de avaliação Ao longo do semestre letivo serão realizados dois (2) trabalhos, duas (2) provas e exercícios semanais que deverão ser resolvidos e enviados ao professor. Os exercícios entregues resultarão em uma das notas que complementarão a segunda nota do aluno. A nota final será obtida com a média aritmética simples entre a nota 1 (N1) e a nota 2 (N2). N1 = (P1 + T1 + Exercícios em Laboratório) / 3 N2 = (P2 + T2 + Exercícios em Laboratório) / 3 Nota Final = (N1 + N2) / 2 O critério de arredondamento da nota final levará em conta a participação dos alunos em sala de aula e a entrega dos exercícios. As provas, os trabalhos e o somatório dos exercícios terão peso dez (10). Serão considerados aprovados na disciplina os alunos que obtiverem a nota final igual ou superior a sete (7,0) e frequência igual ou superior a setenta e cinco por cento (75%). Aluno Aprovado = (Nota Final >= 7,0) + (Frequência >= 75%) Unifra - Pró-Reitoria de Graduação Rua dos Andradas, 1614 - 97010-032 - Santa Maria - RS www.unifra.br 2 6) Cronograma de desenvolvimento Data Conteúdo/atividade docente e discente 29/02 Conteúdo: Apresentação da disciplina, características da orientação a objetos, reutilização de código. Atividade: Apresentação da disciplina; aula expositiva. 02/03 Conteúdo: Introdução à Linguagem Java, histórico, características, ambiente, recursos necessários, criação de aplicações em Java. Atividade: Aula expositiva / prática. 07/03, 09/03, Conteúdo: Java e sua sintaxe, tipos de dados, operadores relacionais e lógicos, 14/03, 16/03, conversões, passagem de parâmetros. 21/03 Atividade: Aula expositiva / prática. 23/03, 28/03 Conteúdo: Estruturas de controle. 30/03, 11/04 Atividade: Aula expositiva / prática. 13/04 18/04, Conteúdo: Funções matemáticas e de strings, manipulação de data e hora. 20/04, 25/04 Atividade: Aula expositiva / prática. 27/04 Trabalho 1 02/05 Prova 1 04/05, 09/11, Conteúdo: Orientação a objetos, classes, atributos, métodos, instâncias. 09/05, 16/05, Atividade: Aula expositiva / prática. 18/05, 23/05, 25/05 30/05, 01/06 Conteúdo: Modificadores, construtores, destrutores. Atividade: Aula expositiva / prática. 06/06, 08/06, Conteúdo: Encapsulamento, herança, polimorfismo, sobrecarga de métodos. 13/06, 15/06 Atividade: Aula expositiva / prática. 20/06, 22/06 Conteúdo: Threads, exceções. 27/06 29/06 02/07 Atividade: Aula expositiva / prática. Trabalho 2 Prova 2 Exceções e revisão geral 7) Bibliografia básica DEITEL, H. M.; DEITEL. P. J. Como Programar em Java. PRENTICE HALL BRASIL, 2010. HORSTMANN, Cay S.; CORNELL, Gary. Core Java. PRENTICE HALL BRASIL, 2009. SANTOS, Rafael; Introdução à Programação Orientada a Objetos usando Java, Editora Campus, 2003. 8) Bibliografia complementar DALL'OGLIO, Pablo. PHP : programando com orientação a objetos. São Paulo, SP : Novatec, 2007. 574 p. DEITEL, H. M.; DEITEL. P. J. Java TM: como programar. Porto Alegre, RS : Bookmann, 2001. ECKEL, Bruce. Thinking in Java. 3.ed. London: Prentice Hall, 2003. GOODRICH, Michael T.; TAMASSIA, Roberto. Estruturas de dados e algoritmos em java. Porto Alegre, RS : Bookman, 2002. 584 p. HORSTMANN, Cay S.; CORNELL, Gary. Core Java 2. São Paulo, SP : Makron Books, Unifra - Pró-Reitoria de Graduação Rua dos Andradas, 1614 - 97010-032 - Santa Maria - RS www.unifra.br 3 2001; JACOBSON, Ivar; Booch, Grady; Rumbaugh, James. UML: guia do usuário. Rio de Janeiro: Campus, 2000. MECENAS, Ivan. Java 2: fundamentos, swing e JDBC. Rio de Janeiro, RJ : Alta Books, c2003. 378 p. MELO, Ana Cristian. Exercitando modelagem em UML. Rio de Janeiro, RJ : Brasport, 2006. 123p. METSKER, Steven John. Padrões de projeto em Java. Porto Alegre: Bokman, 2004. 407p. MEYER, Bertrand. Object-oriented software construction. 2nd. ed. Santa Barbara, Califórnia: Prentice Hall, 1997. RUMBAUGH, James et al. Modelagem e projetos baseados em objetos. Rio de Janeiro: Campus, 1994. TAKAHASHI, Tadao. O paradigma de objetos: introduç ão e tendê ncias. Uberlâ ndia: UFU, 1989. WALNUM, Clayton. Java em Exemplos. São Paulo: Makron Books, 1997. Unifra - Pró-Reitoria de Graduação Rua dos Andradas, 1614 - 97010-032 - Santa Maria - RS www.unifra.br 4