paradigm as de linguagens de programacao

4
UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO – ULBRA GUAÍBA PLANO DE ENSINO 1) IDENTIFICAÇÃO Disciplina: Paradigmas de Linguagens de Programação Código: 204613 Área de Formação: Computação Caráter: Obrigatória Carga Horária: 68 horas Semestre: Terceiro Professor: Carlos Mário Dal´Col Zeve N º Créditos: 4 créditos Semestre Letivo 2005/1 Eixo: Primeiro 2) EMENTA: OBJETO DE APRENDIZAGEM A disciplina de Paradigmas de Linguagens de Programação proporciona o estudo das características das linguagens de programação (conceitos, tipos de dados, escopo de declarações), conceitualização dos paradigmas de linguagens de programação (características, facilidades e problemas) e, a comparação de características dos vários paradigmas e seus elementos genéricos, para possibilitar uma avaliação da utilização de cada um deles para a solução de classes específicas de problemas e domínios de aplicações. 3) OBJETIVOS DA DISCIPLINA Geral: O objetivo da disciplina visa capacitar o aluno a compreender os diferentes paradigmas de linguagens existentes assim como as principais características e peculiaridades das linguagens de programação. Específico(s): Desenvolver no aluno o senso crítico na escolha da melhor linguagem de programação, levando em consideração os aspectos relevantes do problema a ser resolvido e a resolução ou estratégia de resolução adotada. Generalizar e abstrair as principais características de cada paradigma de linguagem, visando desenvolver no aluno a competência de abstração conceptual para o estudo e abordagem de novas linguagens de programação. 4) RELAÇÃO COM AS DEMAIS DISCIPLINAS Esta disciplina faz o fechamento teórico de diversos conceitos vistos nas disciplinas de Algoritmos e Programação. Para o melhor aproveitamento desta disciplina, julga-se necessário que o aluno possua uma boa habilidade na estruturação lógica dos problemas e em programação. É necessário o aluno ter cursado as disciplinas de Algoritmosde Programação I, II e III. Linguagem de Programação Orientadas a Objetos e Engenharia de Software II 5) PROGRAMA DA DISCIPLINA: CONTEÚDOS

Upload: marcos-rodrigues

Post on 26-Jun-2015

192 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Paradigm As de Linguagens de Programacao

UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO – ULBRA GUAÍBA

PLANO DE ENSINO

1) IDENTIFICAÇÃO Disciplina: Paradigmas de Linguagens de

Programação

Código: 204613

Área de Formação:

Computação Caráter: Obrigatória

Carga Horária: 68 horas Semestre: Terceiro Professor: Carlos Mário Dal´Col Zeve N º Créditos: 4 créditos Semestre Letivo 2005/1 Eixo: Primeiro

2) EMENTA: OBJETO DE APRENDIZAGEM A disciplina de Paradigmas de Linguagens de Programação proporciona o estudo das características das linguagens de programação (conceitos, tipos de dados, escopo de declarações), conceitualização dos paradigmas de linguagens de programação (características, facilidades e problemas) e, a comparação de características dos vários paradigmas e seus elementos genéricos, para possibilitar uma avaliação da utilização de cada um deles para a solução de classes específicas de problemas e domínios de aplicações.

3) OBJETIVOS DA DISCIPLINA Geral:

O objetivo da disciplina visa capacitar o aluno a compreender os diferentes paradigmas de linguagens existentes assim como as principais características e peculiaridades das linguagens de programação.

Específico(s): • Desenvolver no aluno o senso crítico na escolha da melhor linguagem de programação, levando em consideração os

aspectos relevantes do problema a ser resolvido e a resolução ou estratégia de resolução adotada. Generalizar e abstrair as principais características de cada paradigma de linguagem, visando desenvolver no aluno a competência de abstração conceptual para o estudo e abordagem de novas linguagens de programação.

4) RELAÇÃO COM AS DEMAIS DISCIPLINAS Esta disciplina faz o fechamento teórico de diversos conceitos vistos nas disciplinas de Algoritmos e Programação. Para o melhor aproveitamento desta disciplina, julga-se necessário que o aluno possua uma boa habilidade na estruturação lógica dos problemas e em programação. É necessário o aluno ter cursado as disciplinas de Algoritmosde Programação I, II e III. Linguagem de Programação Orientadas a Objetos e Engenharia de Software II

5) PROGRAMA DA DISCIPLINA: CONTEÚDOS

Page 2: Paradigm As de Linguagens de Programacao

UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO – ULBRA GUAÍBA

PLANO DE ENSINO

• INTRODUÇÃO AS LINGUAGENS DE PROGRAMAÇÃO

a) Conceituação b) Histórico c) As linguagens de programação no processo de desenvolvimento de software. d) Abstração: dados, controle, unidade. e) Amarração f) Unidades de programa

• ESTRUTURAÇÃO DE LINGUAGENS a) Estruturação de linguagens tipo Fortran b) Linguagens estruturadas em blocos c) Linguagens Imperativas X Linguagens Declarativas

• TIPOS DE DADOS a) Tipos comumente oferecidos pelas linguagens b) Tipos definidos pelos usuários c) Tipo de abstrato de dados.

• ESTRUTURAS DE CONTROLE E COMPOSIÇÃO DE PROGRAMAS a) Tipos de estruturas de controle b) Recursividade. c) Composição de Programas

• PARADIGMA FUNCIONAL a) Conceitos do paradigma funcional b) Princípios da programação funcional c) Características das linguagens funcionais

• PARADIGMA ORIENTADO A OBJETOS a) Conceitos do paradigma de orientação a objetos b) Princípios da programação orientada a objetos e estruturas c) Características das linguagens orientadas a objetos.

• CONCEITOS, CARACTERÍSTICAS E PRINCÍPIOS DE PROGRAMAÇÃO DOS PARADIGMAS: a) Paradigma Programação em Lógica. b) Paradigma Concorrente. c) Paradigma Orientado a Eventos d) Paradigma Distribuído e) Paradigma Orientado a Agentes.

• Paradigma Orientado a Aspectos.

6) METODOLOGIA DE ENSINO A metodologia utilizada nesta disciplina é composta de aulas teóricas-expositivas com verificação prática de alguns conteúdos em laboratório. A exposição dos conteúdos é conjugado com exercícios práticos para aferição pontual de alguns aspectos dos conteúdos. Os trabalhos são em grupo ou individuais, em sala de aula ou extraclasse, para cooperativamente ou individualmente o(s) aluno(s) possam compartilhar conhecimento, elaborar mais detalhadamente e aprimorar o seu conhecimento em alguns conceitos relevantes para a disciplina.

7) CRONOGRAMA DAS AULAS Aula Descrição 1ª aula Objetivo: Apresentação da disciplina. Introdução as

Linguagens de Programação.Estruturação de Linguagens.

Conteúdos: Linguagens e o processo de desenvolvimento de programas, modelos de linguagens, qualidades desejáveis em linguagens de programação, evolução e genealogia, sintaxe e semântica.

2ª aula Objetivo: Apresentar a estrutura do tipos de dados. Apresentar as estruturas de controle e os elementos que compõem os programas

Conteúdos: Domínios simples e compostos, construtores de tipos, tipos de dados primitivos e estruturados; tipos definidos pelo usuário; representação, operações, atributos: alcance, duração, tempo de vida. Sobrecarga de operadores. Amarração estática e dinâmica. Estruturas de controle.Composição de programas: funções, procedimentos, passagem de parâmetros, registros de ativação, encapsulamento, módulos, módulos genéricos. Interface e implementação. Tipos abstratos de dados. Polimorfismo de funções e polimorfismo paramétrico.

Page 3: Paradigm As de Linguagens de Programacao

UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO – ULBRA GUAÍBA

PLANO DE ENSINO

3ª aula Objetivo: Apresentar o Paradigma Funcional e trabalhar

os elementos da lógica funcional Conteúdos: Conceitos e exercícios de lógica funcional: primitivas funcionais.

4ª aula Objetivo: Apresentar o Paradigma Funcional e trabalhar os elementos da linguagem funcional

Conteúdos: Apresentação da linguagem funcional: ambiente, conceitos e características da linguagem. Notação. Sintaxe. Semântica.

5ª aula Objetivo: Implementar exemplos em linguagem funcional

Conteúdos: Definições. Listas. Funções. Predicados. Condicionais. Recursão

6ª aula Objetivo: Trabalhar exercícios do Paradigma Funcional Conteúdos: Utilização da Linguagem Scheme para implementação de exemplos de algoritmos funcionais.

7ª aula Objetivo: Apresentar os paradigmas: programação em Lógica.

Conteúdos: Histórico. Conceitos. Características, Exemplos e Exercícios.

8ª aula Objetivo: Encerrar a avaliação do aprendizado do aluno até a presente data, com o uso de uma prova escrita

Conteúdos: Avaliação G1

9ª aula Objetivo: Paradigma Orientado a Objetos: Conceitos do Paradigma Orientado a Objetos

Conteúdos: Evolução do Modelo Orientado a Objetos. Tipos de Dados Abstratos. Fundamentos da orientação a objetos

10ª aula Objetivo: Paradigma Orientado a Objetos: características da programação orientada a objetos e estruturas

Conteúdos: Desenvolvimento orientado a objeto.Diagrama de classes. Características das linguagens. Introdução a programação.

11ª aula Objetivo: Paradigma Orientado a Objetos: características das linguagens orientadas a objetos e programação

Conteúdos: Programação: conceitos de orientação a objetos (classes, objetos, atributos, operações).

12ª aula Objetivo: Paradigma Orientado a Objetos: características das linguagens orientadas a objetos e programação

Conteúdos: Programação: conceitos de orientação a objetos (herança, abstração, representação, encapsulamento, polimorfismo e comunicação entre objetos).

13ª aula Objetivo: Paradigma Orientado a Objetos: características das linguagens orientadas a objetos e programação

Conteúdos: Estudos de caso utilizando programação orientada a objetos.

14ª aula Objetivo: Paradigma Orientado a Objetos: características das linguagens orientadas a objetos e programação

Conteúdos: Estudos de caso utilizando programação orientada a objetos.

15ª aula Objetivo: Apresentar os paradigmas: Orientado a Eventos, Agentes e Aspectos

Conteúdos: Histórico. Conceitos. Características, Exemplos e Exercícios.

16ª aula Objetivo: Apresentar os paradigmas: Concorrente e Distribuído.

Conteúdos: Histórico. Conceitos. Características, Exemplos e Exercícios.

17ª aula Objetivo: Avaliação de Grau G2 Conteúdos: Avaliação de Grau G2 18ª aula Objetivo: Recuperação de Grau Conteúdos: Recuperação de Grau

8) AVALIAÇÃO Critérios: O ensino não consiste apenas na exposição do aluno às situações de aprendizagem e apresentação de conhecimentos específicos, mas também num acompanhamento do processo de aprendizagem do mesmo. Desta maneira a cada etapa será necessário estabelecer pontos de avaliação individuais e grupais. Para tanto, foram definidos alguns critérios de avaliação que servirão como um guia para a construção do processo avaliativo (necessariamente contínuo e acumulativo, como é o próprio processo de ensino da presente disciplina). G1= trabalhos (50%) + prova1 (50%) G2= trabalhos (30%) + prova2 (70%) MF= (G1 + G2*2)/3 Instrumentos: Prova teórica individual envolvendo somente conceitos vistos durante as aulas. Trabalho individual, trabalho de pesquisa apresentado na forma de Hipertexto, sobre alguma linguagem de programação. Trabalho em grupo ( máximo 2 alunos por grupo) utilizando os conceitos vistos nos paradigmas das linguagens estudados em aula para a realizaçãode um exercício prático.

9) RECURSOS DE APOIO Hardware: • Retroprojetor e LABIN. Software: • Linguagem C++, Linguagem Scheme, Linguagem ADA, Linguagem Prolog

Page 4: Paradigm As de Linguagens de Programacao

UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO – ULBRA GUAÍBA

PLANO DE ENSINO

10) BIBLIOGRAFIA Básica: MIZRAHI,Victorine V. Treinamento em Liguagem C++ - Modulo I. São Paulo: Makron Books. 1994. SEBESTA, R. W. Conceitos de Linguagens de Programação. Porto Alegre: Bookman, 5.ed 2003. Complementar: DEITEL ,H. M.; Deitel ,P. J., C++ como Programar 3a edição. Porto Alegre: Bookman, 2001 GORDON, M. J. C., Programming Language Theory and its Implementation. C. A. Hoare Series Editor. New York:

Prentice Hall International, 1998. JAMSA, Kris., Programando em C++ . A Bíblia. São Paulo: Makron Books. 1999 LOPES, A. V., Introdução à programação com Ada 95. Canoas: Editora da ULBRA, 1997. PRATT, T.W. and Zelkowitz, M.V., Programming Languages: Design and Implementation. Terceira edição. New York:

Prentice Hall, 1996. ROWE, G.W. Introduction to data structures and algorithms with C++. New York: Prentice-Hall, 1997. TENNENT, R.D., Principles of Programming Languages. New York: Prentice-Hall, 1981. Artigos e Periódicos Especializados: • Sites de Internet: • Site do Scheme. Disponível em: < http://www.drscheme.org/>. Acesso em 13 jan. 2005. • Manual do Scheme. Disponível em:<http://www.inf.puc-rio.br/~roberto/icc/texto/icc.html>.Acesso em 13 jan. 2005. • Site do Dev C++. Disponível em: <www.>. Acesso em 13 mar. 2005. • Site do StrawberryProlog. Disponível em: <www.dobrev.com>. Acesso em 13 mar. 2005. • Livro do Prolog. Disponível em: <ftp://ftp.cic.unb.br/pub/cic/wagner/Prolog/doc/Prolog-Livro.zip>. Acesso em 13 mar.

2005. • Site do Ada+SQL. Disponível em: http://www.readyideas.com/ada+sql.htm. Acesso em 13 mar. 2005.