You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Computer Science and Engineering
  4. Programming Paradigms

Programming Paradigms

Code 11484
Year 1
Semester S2
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Mode of delivery - Face-to-face.
Work placements - N/A.
Learning outcomes - To provide an overview of paradigms / programming languages??.
- To provide a historical perspective of the evolution of paradigms and programming languages??.
- To improve the student skills in object oriented programming.
- To introduce the paradigm of logic programming. At the end of the course unit the student should be able to:
- Understand the basic principles of logic programming theory and symbolic reasoning.
- Demonstrate good knowledge of the basic Prolog language by constructing small/medium programs, and predict and describe what they do.
- Modify existing code to perform a similar task.
- Identify the advantages/disadvantages of declarative programming in comparison with imperative languages.
- Comprehend the basic principles of programming languages, like procedural abstraction, program design and development, parameter passing, recursion, etc.
- Adapt declarative programming techniques to other programming paradigms.
Syllabus - Programming paradigms: imperative, logical, functional and object-oriented.
- Object-oriented languages ??derived from imperative languages??, logical and functional. Historical perspective.
- Advanced topics in object oriented programming. Metrics development: cohesion, coupling, sufficiency, completeness, and primitive operations. Hierarchies of prototypes versus class hierarchies. Reflective systems. Mechanisms of inheritance: public inheritance, protected and private, multiple inheritance and multiple instantiation. Code reuse by inheritance, by the composition of objects and composition of components. Design Patterns.
- Logic Programming. Propositional logic, first order predicate logic and principle of the resolution. Knowledge representation and inference mechanisms. The programming language Prolog. Technical programming and debugging programs.
Main Bibliography - Peter H. Salus (ed.). Handbook of Programming Languages (Volumes I, II, III e IV). Macmillan Technical Publishing.
- W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag.
- Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series.
- Delfim F. M. Torres. Introdução à Programação em Lógica Ed. Universidade de Aveiro, 2000 (in Portuguese).
- C. McDonald. Prolog Programming: A Tutorial Introduction. Blackwell Scientific Publications Ltd.
- P. Deransart, A. Ed-Dbali, L. Cervoni. Prolog: The Standard: Reference Manual. Springer.
Language Portuguese. Tutorial support is available in English.
Last updated on: 2019-07-09

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.