Objetivos:
Utilizar linguagem de programação, difundida no mercado, para codificação aplicando os conceitos de orientação a objetos. Compreender e elaborar algoritmos computacionais. Compreender e programar Tratamento de exceções. Criar Interfaces gráficas com usuário. Implementar algoritmos em uma linguagem de programação procedural. Empregar frameworks de desenvolvimento front-end e back-end. Aplicar versionamento e documentação da aplicação


Ementa: Conceitos, princípios, técnicas e ferramentas utilizadas na programação de computadores por meio da abordagem estruturada, incluindo o desenvolvimento de algoritmos e sua implementação utilizando linguagem procedural com estruturas de controle, vetores uni e multidimensionais e strings.

Bibliografia Básica:
DAWSON, Michael. Python Programming for the Absolute Beginner, Third Edition. Clifton Park: Course Technology PTR, 2010.
FEOFILOFF, Paulo. Algoritmos em Linguagem C. Campus, 2008.
FORBELLONE, André Luiz. Lógica de Programação. 3.ed. São Paulo: Prentice Hall, 2005.


Bibliografia Complementar:
ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de. Fundamentos da Programação de Computadores. 2.ed. São Paulo: Prentice Hall, 2007.
LUTZ, Mark; ASCHER, David. Aprendendo Python. 2.ed. Porto Alegre: Bookman, 2007.
MANZANO, José Augusto Navarro Garcia; OLIVEIRA, Jayr Figueiredo de. Algoritmos – lógica para desenvolvimento de programação de computadores. 22.ed. São Paulo: Erica, 2009.
MIZRAHI, Victorine Viviane. Treinamento em linguagem C. 2.ed. São Paulo: Pearson/Prentice Hall, 2008.
SILVA, Flavio Soares Correa da; FEIJO, Bruno; CLUA, Esteban. Introdução à Ciência da Computação com Jogos. Rio de Janeiro: Campus, 2009.

Objetivo: Implementar de softwares com o uso de uma linguagem de programação orientada a objetos.


Ementa: Conceitos e evolução da tecnologia de orientação a objetos. Limitações e diferenças entre o paradigma da programação estruturada em relação à orientação a objetos. Conceito de objeto, classe, métodos, atributos, herança, polimorfismo, agregação, associação, dependência, encapsulamento, mensagem e suas respectivas notações na linguagem padrão de representação da orientação a objetos. Implementação de algorítmos orientado a objetos utilizando linguagens de programação. Aplicação e uso
das estruturas fundamentais da orientação a objetos.


Bibliografia básica:
GONCALVES, Edson. Desenvolvendo Aplicações Web com JSP, Servlets, JavaServer Faces, Hibernate, EJB 3 Persistence e Ajax. Ciencia Moderna. 2007
SANTOS, Rafael. Introdução à Programação Orientada a Objetos usando Java. Campus. 2003.
SERSON, R. R. Programação orientada a objetos com Java 6 - Curso universitário. Brasport, 2008

Objetivo: Entender e aplicar conceitos de desenvolvimento de sistemas para internet bem como os padrões, técnicas e ferramentas associados. Desenvolver aplicativo previamente especificado.


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. 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. São Paulo: Alta Books, 2008.
FREEMAN, Eric e FREEMAN, Elisabeth. Use A Cabeça! HTML com CSS e XHTML. São Paulo: Alta Books, 2008.
MICHAEL, Morrison. Use a cabeça! Javascript. São Paulo: Alta Books, 2008.

Bibliografia Complementar:
KURNIAWAN, B. Java para Web com Servlets, JSP e EJB. São Paulo: Ciência Moderna, 2002.
RIORDAN, REBECCA M. Use A Cabeça! Ajax Profissional. São Paulo: Alta Books, 2009.
WATRALL, ETHAN / SIARTO, JEFF. Use A Cabeça! Web Design. São Paulo: Alta Books, 2009.