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
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