The scope of the course is to make the students familiar with modern and advanced computation techniques for the effective design and optimization of information transmission systems. The core principles of these techniques are introduced by modelling specific devices, which are practically used in telecommunication systems (transmission lines, antenna elements etc.) and cannot be tackled with analytical methods. Emphasis is given to software implementation issues, so that the students become capable of developing the appropriate software within the framework of laboratory practice. To this end, the following topics are taught:
- Advanced techniques of numerical integration and direct solution of linear systems with dense coefficient matrices for the implementation of the method of moments and the method of auxiliary sources.
- Elements of computational geometry and automatic mesh creation for the implementation of the methods of finite differences and finite elements.
- Techniques for sparse matrices storage and repetitive techniques for solving linear systems with sparse matrices.
- Techniques of pre-processing and post-processing for handling and visualization of the input and output of the computational code (e.g. by use of VRML).
- Principles of literal programming for the documentation of the computational code.
Due to the increased computational requirements that are common for large-scale problems, part of the course is dedicated to distributed computing techniques and to the way they are applied to the simulation of information transmission systems. The students get acquainted with some of the most important distributed processing technologies (CORBA, Java RMI, Web Services, Mobile Agents) and are called to apply them in the laboratory exercises.