Plano de Ensino de Disciplina Ciência da Computação 1 o /2013 Disciplina: Área de Conhecimento: Código: Carga Horária Semanal: Carga Horária Semestral: Coordenador: Professores: LABORATÓRIO DE PROGRAMAÇÃO IV Tecnologia da Computação Série: 5 a 4 aulas 68 aulas Daniel C. Gatti Daniel C. Gatti Júlio Arakaki Ítalo S. Vega EMENTA Modularização de Aplicações. Documentação. Estilo de Programação. Modelos Estáticos e Dinâmicos de Aplicações. Técnicas de Implementação de Aplicações. DESCRIÇÃO Esta disciplina apresenta e discute conceitos, técnicas e ferramentas de implementação de programas utilizando-se abstração e decomposição orientados a objetos como técnicas de solução de problemas. OBJETIVOS Gerais Capacitar o aluno para o desenvolvimento sistemático de programas, partindo desde a documentação até a obtenção de um código, em linguagem Java, resultante do processo de implementação. Proporcionar competências e habilidades para que o aluno saiba utilizar, analisar e implementar programas de computador para solucionar problemas reais através da aplicação de classes e objetos. Específicos Conduzir gradativamente o aluno, ao longo do curso, a: documentar as aplicações desenvolvidas; aplicar os conceitos de OO; utilizar técnicas de modelagem de software; implementar aplicações e desenvolver documentos de utilização destas aplicações; programar utilizando bibliotecas de classes disponíveis pela linguagem Java; v1.0 Rua Marquês de Paranaguá, 111 Consolação - São Paulo-SP - 01303-050 tel (011) 3124-7200 ramal 7265 fax (011) 3124-7223 email: ssfmft@pucsp.br - http://www.pucsp.br/cce página 1 de 5
PROCEDIMENTOS DE ENSINO Cada aula consistirá da combinação adequada de: apresentações teóricas seguidas de atividades práticas relacionadas; exposição abordando matéria relativa ao conteúdo programático da disciplina; exercícios, atividades ou estudos de caso, individual ou em grupo, dirigida para sedimentar o aprendizado; desenvolvimento de projetos individuais utilizando os conceitos apresentados; desenvolvimento de projetos em grupo utilizando e consolidando vários dos conceitos apresentados. INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO Para ser aprovado em qualquer disciplina do curso o aluno deverá atingir pelo menos 75% de presença em 68 aulas e média final igual ou superior a 5.0 (cinco). A fórmula vigente para o cálculo da Média Final (M F ), conforme aprovada pelo Departamento de Ciência da Computação e pelo Conselho Departamental da Faculdade de Matemática, Física e Tecnologia (FMFT), nesta disciplina é: MF = N 1 + N 2 2 N i são as notas de avaliação trimestral, calculadas com base nos seguintes critérios (aplicados aula a aula): Avaliação Contínua= 50% (avaliações orais, A1, A2, EX1 e EX2) Provas= 30% (P1 e P2) Assiduidade= 20% Todas as atividades realizadas em laboratório serão avaliadas através dos critérios acima. Não haverá, em hipótese alguma, substituição ou reposição para atividade perdida por não comparecimento à aula na qual foi aplicada a atividade. A Prova Substitutiva, se realizada, substituirá a pior das notas N 1 ou N 2. v1.0 Plano de Ensino Curso de Ciência da Computação página 2 de 5
RECURSOS NECESSÁRIOS Para uso em laboratório: quadro branco com canetas apropriadas; projetor; computadores (um por aluno, de preferência); software: BlueJ e ambiente Java de programação Eclipse e Netbeans; acesso à Internet; infra-estrutura para publicação de material para os alunos. CONTEÚDO PROGRAMÁTICO Introdução à Disciplina Ferramentas do Laboratório Foco de Estrutura: Arquitetura Orientada a Obietos, Arquitetura Baseada em Componentes e Arquitetura em Camadas Foco de Implantação: Arquitetura Cliente-Servidor Foco de Domínio: Arquitetura Dirigida por Domínio Estudo de casos INSERÇÃO DA DISCIPLINA NO PROJETO DO CURSO Esta disciplina apresenta técnicas de implementação de sistemas de software como documentação, modularização e orientação a objetos. No decorrer do desenvolvimento do conteúdo programático, são propostos projetos onde o aluno desenvolve a solução e o programa aplicando-se as técnicas de implementação dos sistemas de software. PRÉ-REQUISITOS TÓPICOS Essa disciplina possui como pré-requisito os seguintes tópicos: Introdução à programação de computadores e desenvolvimento de algoritmos. v1.0 Plano de Ensino Curso de Ciência da Computação página 3 de 5
BIBLIOGRAFIA Básica Horstmann, C. S. Editora, 2008. Conceitos de Computação com Java (traduzido), Bookman Companhia Deitel H. M.; Deitel, P. J. Java: how to program. 8 a. ed, Pearson Education do Brasil, 2010. (exemplos do livro e referências adicionais em http://www.deitel.com) Braude, E. Projeto de software : da programacao a arquitetura: uma abordagem baseada em Java, 2005. Complementar Roberts, E. S. The Art and Science of Java: an introduction to computer science, 2008. Berg, C. J. Advanced Java : development for enterprise applications, 1998. Horstmann, C. S.; Cornell, G. Core Java 1 Fundamentos. Ed. Makron Books, 2001. Eckel B. Thinking in Java, 2000. Gosling, J.; Joy, B.; Steele, G. The Java Language Specification, 1996. v1.0 Plano de Ensino Curso de Ciência da Computação página 4 de 5
CRONOGRAMA 2013 Encontro Data Tópicos Avaliação Aulas 1 04/02 Apresentação do Plano de Ensino da Disciplina 1 2 2 05/02 Ferramentas do laboratório 3 4-11/02 Recesso Acadêmico - 12/02 Recesso Acadêmico 3 18/02 Arquitetura Orientada a Objetos (AOO) 5 6 4 19/02 AOO: modularização e encapsulação 7 8 5 25/02 AOO: arquivos de texto 9 10 6 26/02 AOO: arquivos de texto 11 12 7 04/03 AOO: diagramas de classes A1 13 14 8 05/03 AOO: formatação e strings 15 16 9 11/03 AOO: arquivos binários 17 18 10 12/03 AOO: arquivos binários 19 20 11 18/03 Arquitetura Baseada em Componentes (ABC) 21 22 12 19/03 ABC: AWT e Swing 23 24 13 25/03 ABC: AWT e Swing 25 26 14 26/03 ABC: AWT e Swing P1, EX1 27 28 15 01/04 ABC: AWT e Swing 29 30 16 02/04 ABC: AWT e Swing 31 32 17 08/04 ABC: AWT e Swing 33 34 18 09/04 ABC: AWT e Swing 35 36 19 15/04 ABC: AWT e Swing 37 38 20 16/04 ABC: AWT e Swing 39 40 21 22/04 Arquitetura Cliente-Servidor (ACS) 41 42 22 23/04 ACS: noções de modelagem de dados A2 43 44 23 29/04 ACS: JDBC e SQLite3 45 46 24 30/04 ACS: JDBC e SQLite3 47 48 25 06/05 ACS: JDBC e SQLite3 49 50 26 07/05 ACS: JDBC e SQLite3 51 52 27 13/05 Arquitetura em Camadas (AEM) 53 54 28 14/05 AEM: aplicações WEB 55 56 29 20/05 AEM: aplicações WEB 57 58 30 21/05 AEM: aplicações WEB P2, EX2 59 60 31 27/05 Arquitetura Dirigida por Domínio (ADD) 61 62 32 28/05 ADD: estudo de domínios corporativos 63 64 33 03/06 Fechamento da disciplina 65 66 34 04/06 Considerações finais. Prova PS. 67 68 v1.0 Plano de Ensino Curso de Ciência da Computação página 5 de 5