2ma pcsxxxx laboratrio de processadores

Transcrição

2ma pcsxxxx laboratrio de processadores
Extraído do PPP de Engenharia de Computação – Ênfase Sistemas Corporativos
Disciplina para 2º MA (Engenharia de Computação – Ênfase Sistemas Corporativos)
1 código
code
PCS3636
2 Nome da Disciplina
3 Créditos / Credits
4 Vagas / Places
5
6
7
8
Duração / Duration
Tipo / Type
Estágio / Training
Objetivos / Goals
PROGRAMA COMPLETO DE DISCIPLINA
Ano
2016
Complete Discipline Program
Year
Paradigmas de Linguagens de Programação /Programming Language Paradigms
4
Aula / Lessons (1 crédito = 15 h)
0
Trabalho / Assignment (1 crédito = 30 h)
50
Alunos regulares / Regular students
5
Alunos especiais / Special regime students
15
(semanas / weeks)
Anual / Annual
Semestral
Quadrimestral / 4-month
0
(horas / hours) – referente aos cursos quadrimestrais
Prover fundamentos sobre os elementos componentes das linguagens de programação, os paradigmas
existentes e sobre os princípios de sua implementação, com o objetivo de dotar o estudante de
ferramentas suficientes para que possa fazer uma boa escolha e utilização de linguagens em uso, que se
mostrem adequadas a cada aplicação.
Provide fundamentals on the components of programming languages, the existing paradigms and the
principles of their implementation, giving skills to the student for correctly choosing and using
programming languages for use in the development of his/her application.
9 Responsável / Person in charge (fornecer número funcional e nome)
No
Nome
10 Cursos atendidos / Courses served (fornecer código e nome – um curso por linha)
Habilitação: Engenharia de Computação – Ênfase Sistemas Corporativos
11 Programa (preenchimento obrigatório da versão em inglês)
I. Conceitos e fundamentos
a) Motivação e objetivos do estudo desta disciplina; história das linguagens de programação;
b) Conceitos, fundamentos, paradigmas e aplicações dos diversos tipos de linguagens de
programação;
c) Atributos para a avaliação de linguagens de programação;
d) O mecanismo de processamento e a utilização de linguagens de programação em um sistema
computacional;
e) O processo de reconhecimento, tradução, interpretação e execução de linguagens de
programação
f) Estruturas de dados, sua representação e manipulação nas linguagens de programação
imperativas;
g) Conceito de tipos abstratos de dados. Definição e uso de tipos abstratos em linguagens de
programação;
h) Sequências de execução e seu controle em linguagens de programação;
i) Subprogramas: definição, utilização, controle de fluxo, passagem de parâmetros; Linguagens
funcionais;
j) Classes, métodos, objetos, herança, polimorfismo; Linguagens orientadas a objetos;
l) Programas declarativos; Linguagens de programação em lógica;
k) Concorrência, paralelismo, sincronização, comunicação, exceções, co-rotinas; Outros
paradigmas.
II. Estudos de Casos dos principais paradigmas: Para cada linguagem: histórico, tutorial básico,
sintaxe, semântica, identificação dos conceitos, aplicação
a) Linguagens imperativas simples – Fortran, Basic,C
b) Linguagens estruturadas em blocos – Algol, Pascal
c) Linguagens orientadas a objetos – Smalltalk, Ada, C++, Java
d) Linguagens funcionais – Lisp, ML
e) Linguagens de programação em lógica – Prolog
syllabus
I. Concepts and Fundamentals
a) Motivation and goals; history of programming languages;
b) Concepts, fundamentals, paradigms and applications of several types of programming
languages;
c) Attributes for the evaluation of programming languages;
d) Execution and using mechanism of programming languages in a computational system;
e) Parsing, translation, interpreting, execution of programming languages
f) Data structures, their representation and manipulation in imperative programming languages;
g) Abstract data types. Defining and using abstract data types in programming languages;
h) Sequences of execution and its control in of programming languages;
i) Subprograms: defining, using, flow control, parameter passing. Functional languages;
j) Classes, methods, objects, heritage, polymorphism; object-oriented languages;
l) Declarative programs; logic programming languages;
k) Concurrency, parallelism, synchronization, communication, exceptions, co-routines; other
paradigms.
II. Paradigm case studies: For each language: history, short tutorial, syntax, semantics, concept
identification, applications.
a) Simple imperative languages – Fortran, Basic,C
b) Block structured languages – Algol, Pascal
c) Object oriented languages – Smalltalk, Ada, C++, Java
d) Functional languages – Lisp, ML
e) Logic programming languages – Prolog
12 Programa resumido / Abstract
I – Conceitos e fundamentos
a) Introdução, história; b) conceitos; c) avaliação; d) linguagens de programação no computador; e)
análise, tradução e interpretação; f) estruturas de dados; g) tipos abstratos de dados h) controle de
sequência; i) subprogramas; j)linguagens orientadas a objetos; k) concorrência, paralelismo,
sincronização, comunicação, exceções, co-rotinas.
II – Estudo de casos de paradigmas: imperativo, estruturado em blocos, orientado a objetos,
funcional, lógico.
I.
Concepts and Fundamentals
a) Introduction, history; b) Concepts, c) evaluation; d) programming languages in a computer;
e) Parsing, translation, interpreting, f) Data structures; g) Abstract data types; h) Sequence
control; i) Subprograms; j) object-oriented languages; l) logic programming languages; k)
Concurrency, parallelism, synchronization, communication, exceptions, co-routines;
II.
Paradigm case studies: imperative, block-structured, object-oriented, functional, logic.
13 Método de avaliação / Evaluation method
2 provas, leituras, projeto
2 tests (mid and final), readings, computer project.
14 Critério de avaliação / Criterion for approval
Se projeto >= 5,0 então (p1+projeto+2p2)/4 >= 5,0 caso contrário 4,9
Final grade = If project >= 5,0 then (p1+project+2.p2)/4 else 4,9
Approval = Final grade >= 5,0
15 Normas de recuperação / Norms for remedial work
(p1’+projeto’+2p2’)/4 >= 5,0 onde x’ = nota de recuperação correspondente a x.
(p1’+project’+2.p2’)/4 >= 5,0 where x’ = remedial evaluation for x.
16 Bibliografia / Bibliography
[1] Terrence W Pratt & Marvin V. Zelkowitz “Programming Languages – design and implementation”
Prentice Hall,1999 – 3rd. Edition ISBN 0-13-678012-1
[2] Maurizio Gabbrielli & Simone Martini “Programming Languages – principles and paradigms” Springer,
London, 2010, DOI 10.1007/978-1-84882-914-5
[3] Doris Appleby & Julius J. VandeKopple “Programming Languages – paradigm and practice” McGrawHill,1997 – 2nd. Edition
[4] Robert W. Sebesta “Concepts of programming languages” Addison Wesley, 2002 – 5th Edition ISBN 0201-75295-6 ISBN-13: 9780131395312