ELETIVA II
5º. Semestre
Carga Horária: 80 aulas
Objetivo: Conhecer e aplicar conhecimentos de um dos componentes do rol de disciplinas em anexo.
Ementa: Quatro aulas semanais em disciplina(s) integrante(s) do currículo de outro Curso de Graduação da Unidade ou em um dos componentes do rol de disciplinas em anexo. A coordenação de curso define semestralmente qua(is) disciplinas serão ofertadas.
Lista das Disciplinas Eletivas:
ANÁLISE DE ALGORITMOS
Objetivo: Analisar complexidade de algorítmos.
Ementa: Modelo computacional, prova de correção de algoritmos, complexidade de tempo, notação assintótica, análise de pior caso, prova por indução finita, recorrências, análise de algoritmos recursivos, ordenação e busca.
Bibliografia básica:
CORMEN, T. H. et alli. Algoritmos: Teoria e prática. Campus, 200#.
PREISS, B. R. Estrutura de Dados e Algoritmos. Rio de Janeiro: Campus, 2001.
LINGUAGEM DE PROGRAMAÇÃO I
Objetivo: Desenvolver aplicações em COBOL.
Ementa: Características de sistemas comerciais. Apresentação das linguagens voltadas para aplicações comerciais. Conceitos gerais da linguagem voltadas para aplicações comerciais. Estudo de casos. Exemplos práticos utilizando a linguagem estudada. Projeto de programas estruturados. Manipulação de tabelas. Validação de dados. Algoritmo e manuseio de arquivos de acesso seqüencial e relatórios. Exercícios práticos com projeto estruturado, depuração e documentação de programas utilizando o computador.
Bibliografia básica:
STERN, Nancy; STERN, Robert A.. Programação Estruturada em Cobol. 9.ed. LTC, 2002.
LINGUAGEM DE PROGRAMAÇÃO II
Objetivo: Desenvolver aplicações em VB.
Ementa: Introdução ao Ambiente de Programação orientado ao evento. Controle da caixa de ferramentas, propriedades de objetos e códigos de programa para criação de aplicativos. Criação de interface gráfica de usuários personalizada e animações. Bitmaps e arquivos de texto.
Bibliografia básica:
BALENA, Francesco. Programando com Microsoft Visual Basic 2005. Bookman, 2008.
Bibliografia complementar:
MANSFIELD, Richard. Visual Basic 6 Programação de Banco de Dados para dummies. Campus, 2000.
MICROSOFT CORPORATION. Upgrading Visual Basic 6.0 Applications To Visual: Visual Basic .Net And Visual Basic 2005. MICROSOFT PRESS, 2006.
LINGUAGEM DE PROGRAMAÇÃO III
Objetivo: Desenvolver aplicações em Java.
Ementa: Revisão dos conceitos de orientação a objetos e seu mapeamento para uma linguagem de programação. Classe Abstrata. Persistência de classes. Interfaces. Threads. Desenvolvimento de Interface com o usuário – WEB e Cliente-Servidor. Entrada e Saída. Acesso a banco de dados. Internacionalização.
Bibliografia básica:
JANDL Junior, Peter. Desenvolvendo Aplicações Web com JSP e JSTL. Novatec, 2009.
LINGUAGEM DE PROGRAMAÇÃO IV
Objetivo: Desenvolver sítios de Internet.
Ementa: Comandos de linguagens usadas na construção e estruturação de sites para a Web, com páginas dinâmicas e interativas. Definição de layouts e formatação em geral. Adição de algoritmos usando laços, matrizes, datas, funções e condições. Introdução a Orientação a Objetos utilizando objetos, métodos e propriedades. Integração com Banco de Dados. Exercícios práticos com projeto de criação de sites.
Bibliografia básica:
SOARES, Walac. PHP 5 - Conceitos, Programação e Integração com Banco de Dados. Érica, 2004.
LINGUAGEM DE PROGRAMAÇÃO V
Objetivo: Desenvolver aplicações com Delphi.
Ementa: Fundamentos da linguagem de programação. Usos dos componentes padrões de uma aplicação. Ferramenta para simplificar o desenvolvimento de aplicações por meio da tecnologia RAD (Rapid Application Development). Utilização de comandos básicos para manipulação de banco de dados.
Bibliografia básica:
CANTU, Marco. Dominando o Delphi: A Bíblia. Prentice Hall, 2006.
CANTU, Marco. Recursos Avançados do Delphi. Infopress Nova Midia, 2009.
LINGUAGEM DE PROGRAMAÇÃO VI
Objetivo: Desenvolver aplicações diversas com Java.
Ementa: Revisão dos conceitos básicos e avançados de orientação a objetos e o seu mapeamento para uma linguagem de programação. Programação em pequenos devices (palm, celular, etc.). Programação em rede (socket e protocolos de comunicação). Invocação remota de método. Programação de jogos para computador.
Bibliografia básica:
DEITEL, Harvey M. Java como programar. 8ª. ed. Prentice Hall, 2010.
LINGUAGEM DE PROGRAMAÇÃO VII
Objetivo: Desenvolver aplicações com banco de dados em Delphi.
Ementa: Bibliotecas visuais VCL e CLX. Criando controles conscientes de dados e conjuntos de dados personalizados. Programação para banco de dados com BDE e dbExpress. Programação cliente/servidor com o InterBase. Interface com o ADO da Microsoft, usando o conjunto de componentes dbGo. Programação usando a arquitetura de aplicativos multicamada. Construção de aplicativos para a Web.
Bibliografia básica:
CANTU, Marco. Dominando o Delphi: A Bíblia. Prentice Hall, 2006.
CANTU, Marco. Recursos Avançados do Delphi. Infopress Nova Midia, 2009.
LINGUAGEM DE PROGRAMAÇÃO VIII
Objetivo: Desenvolver aplicações com banco de dados em VB.NET e ASP.
Ementa: Conceito de desenvolvimento de aplicativos utilizando a plataforma .NET. Acessando um banco de dados com o uso do IDE. Utilização do ADO.NET, ASP.NET e formulários Windows. Criação de Web Services XML. Conceitos sobre a utilização da estrutura .NET, serviços COM++. Definição de variáveis de memória, expressões e operadores, estruturas de controle, utilização das funções internas, criação de procedimentos, escopo de variáveis, arrays, criação de menus personalizados, formulários, definição de controles, depuração de código, e geração de aplicações.
Bibliografia básica:
FRANKLIN, Keith. VB.NET para Desenvolvedores. Makron, 2002.
MORONI, Herbert. Treinamento Profissional em Visual Basic.Net. Universo dos livros, 2007.
MICROINFORMÁTICA APLICADA
Objetivo: Utilizar softwares aplicativos de automação de escritórios.
Ementa: Ambientes operacionais. Geradores de apresentações. Processadores de textos. Planilhas eletrônicas. Banco de dados. Serviços em Internet. Desenvolvimento de estudos de caso em laboratório.
Bibliografia básica:
ALVES, William Pereira. Estudo Dirigido de Microsoft Office Access 2007. Érica, 2007.
MANZANO, Andre Luiz N. G. Estudo Dirigido de Microsoft Office Excel 2007. Érica, 2007.
MANZANO, Andre Luiz N. G; MANZANO, Jose Augusto N. G Microsoft Office Excel 2007 - Estudo Dirigido Avançado. Érica, 2007.
PROGRAMAÇÃO AVANÇADA Orientada a objetos
Objetivo: Criar aplicações diversas em JAVA.
Ementa: Revisão dos conceitos básicos e avançados de orientação a objetos e o seu mapeamento para uma linguagem de programação. Programação em pequenos devices (palm, celular, etc.). Programação em rede (socket e protocolos de comunicação). Invocação remota de método. Programação de jogos para computador.
Bibliografia básica:
BODOFF, S. Tutorial do J2EE - Enterprise Edition 1.4. Ciencia Moderna, 2005.
DEITEL, H. M. Java como programar. 6.ed. Prentice Hall Brasil, 2007.
PROGRAMAÇÃO EM LÓGICA
Objetivo: Criar aplicações em PROLOG.
Ementa: Lógica simbólica, prova por refutação, cláusulas de Horn, raciocínio automatizado, negação por falha, fatos, regras, consultas, retrocesso, cortes, falhas, estruturas recursivas, bases dinâmicas, solução de problemas.
Bibliografia básica:
BRAMER, Max. Logic Programming With Prolog. Springer Verlag NY, 2005.
NICOLETTI, Maria do Carmo. A Cartilha Prolog. EDUFSCAR, 2003..
PROGRAMAÇÃO DE SCRIPTS
Objetivo: Entender e aplicar conceitos de desenvolvimento de scripts em sistemas para internet bem como os padrões, técnicas e ferramentas associados.
Ementa: Tecnologias e Padrões de navegadores. Arquitetura de aplicações para Internet. Programação do lado Cliente e seus padrões. Construção de páginas dinâmicas e interativas. Acesso a banco de dados através de uma linguagem de programação. Construção de uma GUI (Graphical User Interface) para um aplicativo de banco de dados. Modelagem Visualização e Controle (Model View Controller) e outros.
Bibliografia básica:
FREEMAN, Eric; FREEMAN, Elisabeth. Use A Cabeça! HTML com CSS e XHTML. Alta Books, 2008.
MICHAEL, Morrison. Use a cabeça! Javascript. São Paulo: Alta Books, 2008.
WATRALL, E; SIARTO, J. Use A Cabeça! Web Design. Alta Books, 2009.
Bibliografia complementar:
RIORDAN, R M. Use A Cabeça! Ajax Profissional. Alta Books, 2009.
PROGRAMAÇÃO ORIENTADA A EVENTOS
Objetivo: Criar aplicações orientadas a eventos.
Ementa: Introdução ao Ambiente de Programação orientado ao evento. Controle da caixa de ferramentas, propriedades de objetos e códigos de programa para criação de aplicativos. Criação de interface gráfica de usuários personalizada e animações. Bitmaps e arquivos de texto.
Bibliografia básica:
BALENA, F. Programando com Microsoft Visual Basic 2005. Bookman, 2008.
PROGRAMAÇÃO PARA AUTOMAÇÃO INDUSTRIAL
Objetivo: Criar aplicações para atomação industrial.
Ementa: Introdução à automação: conceito de automação, aplicações, controle e supervisão de processos. Sistemas Flexíveis de Manufatura. Programação de Computadores para Construção de programas para supervisão e controle de processos industriais (SCADA - Supervisory Control and Data Acquisition, MES - Manufacturing Execution System e PIMS - Plant Information Management System). Modelo de software norma IEC 61131-3: Identificadores, tipos de dados, variáveis, unidade de organização de programa, recursos, tarefas, regras de execução de programas, configuração do CP; Linguagens LD, FBD, SFC, IL e ST.
Bibliografia básica:
MORAES, C. C.; CASTRUCCI, L. P. Engenharia de automação industrial. 2.ed. LTC, 2007.
PRUDENTE, F. Automação Industrial. LTC, 2007.
PROGRAMAÇÃO PARA BANCO DE DADOS
Objetivo: Criar aplicações com banco de dados.
Ementa: Componentes da Linguagem SQL. Comandos de Definição de Dados. Comandos de Controle de Dados. Encadeamento de Tabelas. Visões, Índices e Consultas.
Bibliografia básica:
DATE, C. J. Introdução a Sistemas de Banco de Dados. Rio de Janeiro: Campus, 2004.
PATRICK, J J. SQL Fundamentos. Rio de Janeiro: Berkeley, 2002.
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
Objetivo: Criar aplicações em dispositivos móveis.
Ementa: Ambientes de programação para dispositivos móveis. Emuladores. Interface gráfica, serviços baseados em localização, armazenamento de dados persistentes, serviços de telefonia e comunicação entre processos. Desenvolvimento de aplicações com J2ME.
Bibliografia Básica;
JOHNSON, T M. Java para Dispositivos Móveis. Novatec, 2007.
QUEIROS, R. Programação para Dispositivos Móveis em Windows. Portugal: FCA, 2008.
ROGERS, R; LOMBARDO, J; MEDNIEKS, Z; MEIKE, M. Desenvolvimento de Aplicações Android. Novatec, 2009.
Bibliografia complementar:
KEOGH, J. J2ME. Osborne - Mcgraw-Hill, 2003.
MIKKONEN, T. Programming Mobile Devices: an intoduction for practitioners. EUA: John Wiley, 2007.
PROGRAMAÇÃO PARA MAINFRAME
Objetivo: Criar aplicações em ambiente de grande porte.
Ementa: Introdução e operação do ambiente computacional de grande porte (mainframe). Estrutura de um Programa COBOL. Variáveis. Operadores Aritméticos. Comandos. Tabelas em COBOL. Programa Estruturado. Arquivos. Sort Interno. Relatórios. Acesso ao Banco de Dados. Comandos para Programação On-line COBOL CICS. Desenho de Telas..Arquitetura de programação.
Bibliografia básica:
WOJCIECHOWSKI, J. Linguagem de Programaçao Cobol para Mainframe. Ciencia Moderna, 2008.
Bibliografia complementar:
Eletrônicos
IBM REDBOOKS. Introduction to the New Mainframe. IBM, 2009. (site do Academic Initiative)
PROGRAMAÇÃO WEB
Objetivo: Implementar aplicações WEB, em servidores.
Ementa: Programação do lado servidor: conhecimento de uma linguagem e padrões. Controle de sessões, cookies, request/response e conexão com BD.
Bibliografia básica:
BASHAM, Bryan. Use A Cabeça! Servlets e JSP. Alta Books, 2008.
KURNIAWAN, B. Java para Web com Servlets, JSP e EJB. São Paulo: Ciência Moderna, 2002.
Bibliografia complementar:
BORGES JR, M P. Desenvolvendo Webservices - Guia Rápido Usando Visual Studio.Net com Banco de dados Ciência Moderna, 2005.
BORGES JR, M P. Programando em C#.Net Para Web - Guia Rápido Usando Visual Studio.Net 2003. Ciência Moderna, 2005.
MCLAUGHLIN, B. Java And Xml. Oreilly & Assoc, 2006.
NARAMORE, E; GERNER, J; BORONCZYK, T. Beginning PHP 6, Apache, MYSQL 6 Web Development. John Wiley Consumer, 2009.
PROJETO DE REDES DE COMPUTADORES
Objetivo: Definir e projetar redes de computadores para uma dada situação.
Ementa: Conceitos básicos de comunicação de dados. Meios de transmissão, interfaces e padronização. Serviços e Suporte de Redes. Projeto, Configuração e Implementação de Rede de Computadores. Evolução no Ambiente de Rede. Tecnologias de LANs. Arquitetura Internet: serviços integrados, serviços diferenciados.
Bibliografia básica:
DANTAS, Mario. Redes de Comunicação e Computadores: abordagem quantitativa.. Visual Books, 2009.
TANENBAUM, Andrew S. Redes de Computadores. 4.ed. Rio de Janeiro: Campus, 2003.
SISTEMAS OPERACIONAIS DE REDES
Objetivo: Instalar e configurar um sistema operacional.
Ementa: Prática em laboratório de instalação e configuração dos vários serviços de uma rede utilizando um sistema operacional de rede.
Bibliografia básica:
MORIMOTO, Carlos E. Linux - Guia Pratico. Sulina, 2009.
VIANA, Eliseu Ribeiro Cherene. Virtualização de Servidores Linux para redes corporativas. Ciência Moderna, 2008.
TESTES DE SOFTWARE
Objetivo: Gerenciar testes de software.
Ementa: Inspeção de software. Princípios e técnicas de testes de software: teste de unidade; teste de integração. Testes caixa branca. Testes caixa preta. Teste de regressão. Desenvolvimento orientado a testes. Automação dos testes. Geração de casos de teste. Teste de interfaces humanas. Teste de aplicações para a web. Testes alfas, beta e de aceitação. Ferramentas de testes. Planos de testes. Gerenciamento do processo de testes. Registro e acompanhamento de problemas.
Bibliografia básica:
DELAMARO, M. E.; MALDONADO, J. C.; JINO, M. Introdução ao teste de software. Elsevier/Campus, 2007.
BECK, K. Test-driven development by example. EUA: Addison Wesley, 2002.