140 likes | 303 Views
Paradigmas da Programação – Semestre 1 - Aula 1. Professores: Eduardo Mantovani (eduardo.mantovani@aes.edu.br) Fábio de Paula Santos. Agenda. Objetivos do curso Plano de ensino / ferramentas Bibliografia Sistema de avaliação Introdução aos paradigmas de programação
E N D
Paradigmas da Programação – Semestre 1 - Aula 1 Professores: Eduardo Mantovani (eduardo.mantovani@aes.edu.br) Fábio de Paula Santos
Agenda • Objetivos do curso • Plano de ensino / ferramentas • Bibliografia • Sistema de avaliação • Introdução aos paradigmas de programação • Estudo do paradigma de programação orientado a objetos
Objetivos do curso • Visão geral dos paradigmas de programação existente e das linguagens de programação que os representam • Detalhamento e estudo do paradigma de programação orientado a objetos
Plano de ensino / ferramentas • Discussão do plano aula-a-aula • Linguagem de programação Java • http://java.sun.com • Ambiente integrado de desenvolvimento (IDE) didático Blue J • http://www.bluej.org • Ambiente integrado de desenvolvimento (IDE) profissional Netbeans • http://www.netbeans.org/
Bibliografia • Conceitos de linguagem de programação, Robert W. Sebesta • Programação orientada a objetos com Java, Michael Kölling e David Barnes • Pensando em Java. Bruce Eckel. http://www.hwn.com.br/pej/
Sistema de avaliação • Trabalhos práticos: realização de todos os trabalhos = 30% da nota semestral • Exercícios em laboratório • Trabalho sobre paradigmas de programação (peso de 3 trabalhos práticos) • Prova individual conceitual = 70% da nota semestral • 3 provas por semestre, escolha das duas melhores notas
Introdução aos paradigmas de programação • Gerações de linguagems: • 1ª. Geração: Linguagem de máquina • 2ª. Geração: Linguagem de montagem (Assembly) • 3ª. Geração: Linguagem de alto nível (C/C++, Pascal, Cobol, Java, etc...) • 4ª. Geração: Linguagens amigáveis, geralmente associadas a bancos de dados • As gerações expressam com precisão o que é moderno ou antiquado na programação?
Introdução aos paradigmas de programação • Paradigma imperativo • Cobol, C, Pascal, Basic, etc... • Programação seqüencial • Estruturadas em funções/sub-rotinas • Aplicação em qualquer tipo de software • Alto acoplamento e baixa coesão • Programação “artesanal” • Difícil manutenção
Introdução aos paradigmas de programação • Paradigma lógico • Prolog • Também conhecido por paradima declarativo • Utiliza lógica simbólica para expressar proposições, relações e então inferir novas proposições • Aplicação em sistema de inteligência artificial
Introdução aos paradigmas de programação • Paradigma funcional • Scheme, Lisp • Baseadas em funções que buscam se aproximar ao máximo das funções matemáticas no formato f(x) = expressão • Utilização de recursão em vez de laços • Aplicação como linguagem de apoio a softwares com alta carga matemática (ex.: AutoCAD Autolisp)
Introdução aos paradigmas de programação • Paradigma Orientado a Objetos • Smalltalk, C++, Object Pascal, C#, Java • Programação aproxima-se do mundo real com objetos virtuais que representam objetos reais • Estruturada em classes • Aplicação na construção de qualquer tipo de software • Baixo acoplamento e alta coesão • Programação profissional • Fácil manutenção do software • Maior necessidade de projeto / modelagem
Introdução aos paradigmas de programação • Trabalho • Entrega em 3 semanas (27/08) • Resumo dos paradigmas de programação e suas aplicações • Colocar exemplos de codificação em cada paradigma
Agenda • Objetivos do curso • Plano de ensino / ferramentas • Bibliografia • Sistema de avaliação • Introdução aos paradigmas de programação • Estudo do paradigma de programação orientado a objetos