XSL Content

Methodology of Programming26013

Centre
Faculty of Economics and Business. Álava Department
Degree
Doble Grado en Administración y Dirección de Empresas y en Ingeniería Informática de Gestión y Sistemas de Información
Academic course
2024/25
Academic year
1
No. of credits
6
Languages
Spanish
Code
26013

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

The subject of Programming Methodology introduces the student to the field of formal software development. In this subject, which is taught after Basic Programming, the basic concepts necessary to create and execute computer programs will be introduced, emphasizing formal specification methods.

Skills/Learning outcomes of the subjectToggle Navigation

- Capacity to analyse, design, construct and maintain applications in a robust and secure manner

- Capacity to specify, document, validate and verify programs

- Capacity to reason and justify properties related to programs

- Capacity to evaluate and compare specifications and documentation of programs from the quality point of view

- Knowledge of formal specification and program design methods

- Knowledge of basic notions of axiomatic semantics of programming languages

- Knowledge and application of basic algorithmic procedures of IT technologies for the design of solutions to problems, analysing the suitability and complexity of the algorithms proposed



Specific objectives:

- Specification, correction and design by contract

- Formal pre-post specification

- Hoare's formal system

- The equational specification technique

- The formal derivation method

Theoretical and practical contentToggle Navigation

- Topic 0: Introduction

- Topic 1: Logical Asertions

- Topic 2: Specification

- Topic 3: Verification

- Topic 4: Derivation



MethodologyToggle Navigation

In the lectures there will be sessions of concepts exposition, reinforced with examples of situations in which these concepts are to be used.



In the practical part a set of exercises will be developed. The exercises to be carried out pose programming problems that students must perform in the most autonomous way as possible.



During the lectures group work will be carried out systematically, discussing and presenting the results of exercises with the aim of encouraging direct participation in the course and also students' motivation.

Assessment systemsToggle Navigation

  • Continuous Assessment System
  • Final Assessment System
  • Tools and qualification percentages:
    • Written test to be taken (%): 100

Ordinary Call: Orientations and DisclaimerToggle Navigation

Assessment of the subject in the ordinary call is either done through continuous assessment or final assessment. By default, all students will do continuous assessment, unless they withdraw from it.



* Evaluation with final exam

It is allowed to withdraw from continuous assessment to take a single final exam. This withdrawal must be communicated the professor responsible for the course in the period set out in Article 8 of the Rules for Student Assessment. Withdrawals from continuous assessment will not be accepted after the dates stated, except in exceptional cases.



The exam will test the entire content of the subject. To pass the subject, it is necessary to obtain a minimum mark of 5 out of 10 in the exam.



* Continuous assessment

By default, continuous assessment is the standard method, unless the student has expressly withdrawn from it.



Continuous assessment is done through written tests to demonstrate that knowledge and competences taught in the subject have been acquired.



1) First-order logic (20% of the grade)

2) Sequences and conditionals (20% of the grade)

3) Iterations (30% of the grade)

4) Recursiveness and function calls (30% of the grade)



* Requirements to pass the ordinary call through continuous evaluation without final exam

- Perform all written tests

- Minimum score of 5 in the sum of all the tests

- Minimum score of 25% on each of the tests



* Ordinary final exam:

The only students who can present themselves are those who have passed at least three written tests, although they may not have reached the level required to pass an ordinary call in continuous assessment.



The exam will be divided into four parts, corresponding to each test:

The student may take the parts he/she wishes

The grades from previous tests will be maintained if they are not taken in this exam

The grade of previously taken tests will not be maintained (corresponding to the parts taken in this exam) for the purposes of the calculation of the final grade



* Requirements to pass the ordinary call:

- Have taken all the written tests (in the ordinary final exam or before)

- Minimum mark of 5 in the sum of all the written tests

- Minimum mark of 25% in each written test



* Withdrawal from the exam:

Students following continuous assessment may withdraw from the call as per that stated in Article 12 of the Rules for Student Assessment



* Cases of copying:

Article 11 of the Rules for Student Assessment will be applied.



* Continuous assessment

By default, continuous assessment is the standard method, unless the student has expressly withdrawn from it.

Continuous assessment is done through written tests, in which students must demonstrate that they have acquired the knowledge and competences taught in the subject.

1) First-order logic (20% of the grade)

2) Sequences and conditionals (20% of the grade)

3) Iterations (30% of the grade)

4) Recursiveness and function calls (30% of the grade)



* Requirements to pass the ordinary call through continuous evaluation without final exam

- Perform all written tests

- Minimum score of 5 in the sum of all the tests

- Minimum score of 25% on each of the tests



* Ordinary final exam:

The only students who can present themselves are those who have passed at least three written tests, although they may not have reached the level required to pass an ordinary call in continuous assessment.



The exam will be divided into four parts, corresponding to each test:

The student may take the parts he/she wishes

The grades from previous tests will be maintained if they are not taken in this exam

The grade of previously taken tests will not be maintained (corresponding to the parts taken in this exam) for the purposes of the calculation of the final grade



* Requirements to pass the ordinary call:

Have taken all the written tests (in the ordinary final exam or before)

Minimum mark of 5 in the sum of all the written tests

Minimum mark of 25% in each written test



* Withdrawal from the exam:

Students following continuous assessment may withdraw from the call as per that stated in Article 12 of the Rules for Student Assessment



* Cases of copying:

Article 11 of the Rules for Student Assessment will be applied.



* If the course cannot be assessed face-to-face, the relevant changes will be made to carry it out online by using the IT tools available at the UPV/EHU. The particulars of this online assessment will be made public.

Extraordinary Call: Orientations and DisclaimerToggle Navigation

The extraordinary call consists of an exam on 10 points in which the whole of the subject is evaluated.



To pass the subject, it is necessary to obtain a minimum score of 5 points out of the total of 10 exam points.



To waive the right to the examination, it will be sufficient not to appear. In this case, the qualification will be "No Presented".



* Note that no grade from the ordinary call is kept



* Cases of copying

Article 11 of the Rules for Student Assessment will be applied.



* If the course cannot be assessed face-to-face, the relevant changes will be made to carry it out online by using the IT tools available at the UPV/EHU. The particulars of this online assessment will be made public.

Compulsory materialsToggle Navigation

- Material of the subject (Notes and Laboratories)
- eGela virtual platform of the UPV/EHU for this subject

BibliographyToggle Navigation

Basic bibliography

- Especificación, Verificación y Derivación Formal de Programas. J. Álvez, X. Arregi, J. Gaintzarain, P. Lucio y M. Marichalar, Pearson, 2016.

- Programen Egiaztapena eta Eratorpena. X. Arregi, A. Díaz de Ilaraza, P. Lucio. Udako euskal Unibersitatea, 1993.

- Metodología y Tecnología de la Programación II. M. Díaz Roca, J. C. Rodríguez del Pino. Univ. Palmas Gran Canaria, 2004.

- Verificación de Programas y Metodología de la Programación. A. Díaz de Ilarraza, P. Lucio. Servicio Editorial Universidad del País Vasco, 1990.

- Program Derivation. The Development of Programs from Specifications. G. Dromey. Addison-Wesley, 1989.

In-depth bibliography

- Program Construction and Verification. R. C. Backhouse. Prentice-Hall, 1986.
- Programación metódica. J.L. Balcázar. MacGraw-Hill, 1993.
- Diseño de Programas.- Formalismo y Abstracción. Ricardo Peña. Prentice Hall, 1998.

Journals

- Acta Informatica
- Programming and Computer Software
- Science of Computer Programming
- Software Quality Journal
- Transactions on Software Engineering and Methodology

Web addresses

- http://www.sc.ehu.es/jiwlucap/metodologia.html
- http://en.wikipedia.org/wiki/Formal_verification
- http://en.wikipedia.org/wiki/Design_by_contract

GroupsToggle Navigation

01 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday