Master in Software and Systems

Programming Paradigms

Lecturer (Coordinator):
Francisco Javier Segovia
fsegovia@fi.upm.es
Lecturer:
Loïc Martínez
loic@fi.upm.es
Lecturer:
Sonia Frutos
sfrutos@fi.upm.es

Semester

First semester

Credits

4 ECTS

Outline

The aim of this subject is to give students an overview of the programming paradigms now considered most important in this field. It gives a description of the particular features defining the paradigm, as well as paradigm development methodologies. Students will study programming paradigm concepts and paradigm types.

Students are expected to complete a practical assignment further researching and assessing a feature of any programming paradigm studied as part of this subject or of the students' choice. Students should approach the assignment as a piece of research and not merely a review of the state of the art.

Learning Goals

Syllabus

  1. Programming paradigms
    1. Concept and types of programming paradigms
  2. Functional paradigm
    1. Characteristics of the functional paradigm
    2. Functional paradigm methodologies and environments
  3. Logic paradigm
    1. Characteristics of the logic paradigm
    2. Logic paradigm methodologies and environments
  4. Agents Paradigm
    1. Characteristics of the agents paradigm
    2. Agents paradigm methodologies and environments
  5. Demonstrational programming paradigm
    1. Genetic programming
  6. User interface events-driven paradigm
    1. Characteristics of the UI event-driven paradigm
    2. UI event-driven methodologies and paradigms
  7. Dataflow paradigm
    1. Characteristics of the dataflow programming paradigm
  8. End-user development (EUD) paradigm
    1. Characteristics of the EUD paradigm

Recommended Reading

Assessment Method

The subject grading criteria are as follows:

Assessment by final examination only

The grading criteria for students who opt for assessment by final examination only would be as follows:

Tuition Language

Spanish

Subject-Specific Competences

More information:

This table shows the code, description and proficiency level for each subject-specific competence

Code Competence Proficiency Level
SSC4 Analyse and evaluate several programming paradigms and software-based systems engineering approaches A

Learning Outcomes

More information:

This table shows the code, description and proficiency level for each subject learning outcome

Code Learning Outcome Associated competences Proficiency level
RA-IS-5 Model a program from a problem statement using a programming paradigm structure SSC4 A
RA-IS-6 Evaluate whether, in view of the problem statement, a program has been properly developed in conformance with a programming paradigm SSC4 A

Learning Guide

Subject learning guide for Programming Paradigms