a_software.gif
tercer_nivel_software.gif

UPM / IMDEA Software Institute Specialization Track in Software Development through Rigorous Methods (2017-2018)

Note: this course is taught at the the IMDEA Software Institute (in the Montegancedo Campus, 500 m. from the CS School). Please get in touch with the coordinator or one of the instructors for more details regarding the exact meeting place and possible schedule changes.



This course requires constant interaction with a researcher from the IMDEA Software Institute, who will be your adviser and who will monitor your progress. If you are not a student affiliated to the IMDEA Software Institute, please follow these instructions. If you do not follow them, you may be asked to register in some other course.

Software construction: architecture and interface design issues

Coordinator(s)

Instructor(s)

Length

6 credits (ECTS)

Prerequisites

Previous contact with an adviser who provides a practical topic and the acceptance of the adviser. Excellent programming skills, knowledge of software architecture and programming styles.

Course web page (if any)

Not yet available.

Summary and objectives

The student will be asked to design, in close collaboration with an adviser, the interfaces and architecture for a software prototype to solve a non-trivial problem. The requirements of the software will have been clarified previously with the adviser. The implementation environment (language, restrictions on memory / speed / etc.) will have to be carefully reviewed and agreed upon, and may depend on the needs of the software to be developed.

Among the possible kinds of software that can be designed developed we may cite:

  • Analyzers for programming languages.
  • Model checkers.
  • Plugins for IDE tools.
  • General interfaces between languages.
  • Interfaces between programming-related tools (compilers, libraries, theorem provers).
  • Extensions to compilers or interpreters.
  • Implementations of simple compilers / interpreters.

This is of course an incomplete list.

This is a very demanding subject which requires considerable time and a deep understanding of the problem at hand and the environment in which the software is intended to run. Therefore it will need very frequent contact between instructor and student (typically 3 to 4 hours per week). It is recommended that students taking this course also take the course "Software construction: analysis of requirements" in order to synchronize requirements and design as much as possible.

Topics

Will depend on the topic jointly chosen by the student and the adviser.

Evaluation

Based on the performance and advances of the student.

Recommended reading

Fractals are used with permission from their author Cory Ench | © 2006-2007. IMDEA Software.
All rights reserved | Legal Notice | Privacy Policy