PLANO DE DISCIPLINA Modelagem e Programação Orientada a Objetos 1. Dados de Identificação da Disciplina Disciplina: Modelagem e Programação Orientada a Objetos Curso: C.S.T. de Sistemas para Internet Carga Horária: 2. Série: 4º semestre Teórica Prática Total 40 80 120 horas/aulas Ementa Conceitos básicos da análise, projeto (modelagem) e programação orientada a objetos. Introdução a linguagem de programação Java explorando os conceitos da orientação a objetos. Conceitos básicas da linguagem de modelagem UML (Unified Modeling Language). Técnicas e melhores práticas da programação orientada a objetos (forte coesão e baixo acoplamento). Estruturas de coleção e tratamento de erros da linguagem. Desenvolvimento de interface gráfica desktop (Swing). Manipulação de arquivos e acesso a banco de dados (JDBC). Paralelismo (threads) e transmissão de dados (sockets). 3. Objetivos Desenvolver competências e habilidades no aluno, de tal forma que compreenda e aplique os principais conceitos envolvidos com a modelagem e programação orientada a objetos (linguagem de modelagem, objetos, classes, atributos, métodos, encapsulamento, herança, polimorfismo) tornando-o apto à interpretar e criar modelos, manter e desenvolver programas orientado a objetos para resolver problemas computacionais, desde de científicos a empresarias, seguindo esse paradigma e independentemente da linguagem de programação. 4. Conteúdo Programático Introdução à linguagem Java Conceitos básicos de orientação a objetos (objeto, classe, atributos, métodos, encapsulamento, herança e polimorfismo) Coleções (List, ArrayList, Collection, Map, HashMap) Exceções (classe Exception, throw, throws, try, catch, finally) Criação de interfaces com a biblioteca swing Manipulação de arquivos Coesão e Acoplamento Conceitos básicos da UML e seus diagramas (casos de uso, classe, sequência e atividades) Acesso ao Banco de dados usando JDBC TCP/IP Sockets Threads 5. Cronograma das Aulas Semana 1 Conteúdo Introdução a Modelagem e Casos de Usos Teoria Casos de uso Prática Casos de uso / Semana Conteúdo Teoria Prática 2 Introdução à linguagem Java Estruturas de condição, laços e atribuição. Tipos de dado. Classes Básicas. Estruturas de condição, laços e atribuição. Tipos de dado. Classes Basicas. 3 Conceitos básicos de orientação a objetos Classe, Objeto, Atributos Classe, Objeto, Atributos, 4 Conceitos básicos de orientação a objetos Metodos, Modificadores de Acesso Metodos, Modificadores de Acesso 5 Conceitos básicos de orientação a objetos Encapsulamento, Herança, Polimorfismo Encapsulamento, Herança, Polimorfismo 6 Coleções List, ArrayList, Collection, HashMap List, ArrayList, Collection, HashMap 7 Exceções Classe Exception, throw, throws, try-catch-finally Classe Exception, throw, throws, try-catch-finally 8 Coesão e Acoplamento Coesão e Acoplamento Reescrita de código visando forte coesão e baixo acomplamento 9 Avaliação 1 Realização da Avaliação 1 Revisão da Avaliação 1. Vistas de prova. 10 UML Diagrama de Classes Diagrama de Classes 11 UML Diagrama de Sequencia Diagrama de Sequencia 12 UML Diagrama de Atividades Diagrama de Atividades 13 Criação de interfaces com a biblioteca swing JPane, JFrame, JBu on, JLabel, Listeners JPane, JFrame, JBu on, JLabel, Listeners 14 Manipulação de arquivos Manipulação de arquivos texto e binário, Manipulação de arquivos para armazenamento de dados em formatos variados Manipulação de arquivos texto e binário, Manipulação de arquivos para armazenamento de dados em formatos variados 15 Acesso ao Banco de dados usando JDBC JDBC, Select, Insert, Update, Delete JDBC, Select, Insert, Update, Delete / Semana 16 6. Conteúdo TCP/IP Sockets Teoria Prática Conceitos básicos da arquitetura de redes TCP/IP, Arquitetura ClienteServidor Implementação de um Servidor TCP/IP, Implementação de um Cliente TCP/IP 17 Threads Thread por herança, Thread por interface Problemas gerados pelo paralelismo, Sincronizando trechos de código, Sicronizando métodos 18 Avaliação 2 Realização da Avaliação 2 Revisão da Avaliação 2. Vistas de prova 19 Revisão Revisão do conteúdo para os alunos que farão Prova Substitutiva Revisão do conteúdo para os alunos que farão Prova Substitutiva 20 Prova Substitutiva Realização da prova Substitutiva Revisão da Substitutiva. Vistas de prova Metodologia de Ensino Aulas expositivas ministradas com auxílio de slides. Resolução de exercícios intercalados durante a exposição, elaboração de listas de exercícios e indicação de referências bibliográficas específicas. Aulas também em laboratório para a demonstração de elaboração de programas em aplicativo comercial e resolução de exercícios práticos. 7. Procedimentos de Avaliação Avaliações Durante o semestre os alunos da disciplina deverão se submeter a “n” avaliações parciais e a 2 (duas) avaliações bimestrais. As avaliações bimestrais são provas presenciais que ocorrem em datas específicas, identificadas no calendário escolar do semestre letivo. Caso ocorra coincidência de uma ou mais provas no mesmo dia/horário o aluno deverá solicitar, na secretaria de sua unidade escolar, a realização da(s) prova(s) coincidente(s) em data específica de provas coincidentes. As avaliações parciais (provas, práticas, trabalhos, etc.) seguirão as regras contidas no regimento e/ou nos Atos de Diretoria da IES e também as regras e/ou orientações que o professor da disciplina adicionar. Tanto o resultado das avaliações parciais, quanto o resultado das avaliações bimestrais deverão ser lançados, pelo professor da disciplina, no sistema de gestão acadêmica da IES. / Caso o aluno tenha obtido um resultado ruim em alguma das avaliações bimestrais, tenha faltado (ficando neste caso com nota zero) ou simplesmente queira melhorar o seu resultado final, ele poderá realizar uma Prova Substitutiva. Prova Substitutiva A prova substitutiva é presencial, ocorre em data prevista no calendário escolar do semestre letivo e tem a função de substituir uma única avaliação bimestral (PB1 ou PB2, a que resultar em melhor resultado final para o aluno). Esta prova só pode ser realizada uma vez por disciplina por semestre, sendo que qualquer aluno pode realizá-la. O resultado da Prova Substitutiva, da mesma forma que as demais avaliações, deverão ser lançadas, pelo professor da disciplina, no sistema de gestão acadêmica da IES. Caso o resultado da prova substitutiva não melhore o resultado final do aluno, a nota da prova substitutiva é descartada e a nota anterior mantida. Média Bimestral A média bimestral é calculada pelo Sistema de Informação da IES através da fórmula: Média Bimestral = ( ( AM * PM + AB * PB ) * PT ) + ( AP * PP ) onde: AM = Média Avaliações Mensais PM = Peso Avaliações Mensais AB = Avaliação (resultado da prova) Bimestral PB = Peso da Avaliação Bimestral PT = Peso da Teoria AP = Média das Avaliações Práticas PP = Peso da Prática Média Semestral A média semestral é calculada pelo Sistema de Informação da IES através da fórmula: Média Semestral = ( (MB1) x 2 + (MB2) x 3 ) / 5 onde: MB1 = Média do Bimestre 1 MB2 = Média do Bimestre 2 Critério de Aprovação e Frequência Média Semestral ≥ 5.0 E frequência ≥ 75% = Aprovado Média Semestral < 5.0 OU frequência < 75% = Reprovado 8. Bibliografia a. Básica MENESES, Eudenia Xavier. Modelagem e programação orientada a objetos. 2. ed. São Paulo: Faculdade de Tecnologia IBTA, 2009. DEITEL, H.M; DEITEL , P.J; NIETO, T.R. Java: Como Programar. 6.ed. São Paulo: Prentice Hall, 2005. / BOOCH, Grady. UML: guia do usuário. Rio de Janeiro: Elsevier, 2000. b. Complementar MELLO, Rodrigo; CHIARA, Ramon; VILLELA, Renato. Aprendendo Java 2. São Paulo: Novatec, 2002. SANTOS, Rafael. Introdução à programação orientada a objetos usando Java. Rio de Janeiro: Campus, 2003. MENDES, Douglas Rocha. Programação Java com ênfase em orientação a objetos. São Paulo: Novatec Editora, 2009. PAGE-JONES, Meilir. Fundamentos do desenho orientado a objeto com UML. São Paulo, SP: Makron Book, 2001. BEZERRA, Eduardo. Princípios de análise e projeto de sistemas com UML. 2.ed. Rio de Janeiro: Campus, 2007. MEDEIROS, Ernani. Desenvolvendo Software com UML 2.0: Definitivo. São Paulo: Makron Book , 2004. /