Special Topics in Computing

COURSE CONTENT

Introduction to the following subjects : Programming for Graphic Users Interfaces – GUI (Windows, Linux). Tools for GUI Programming (Widgets). Data Organization (Data Structures and Data Bases). Management of Memory, Disk, Communication (Programming Algorithms). Floating Point Operations (Accuracy, Overflow, Underflow). Stability and Accuracy of Numerical Methods. Programming Subjects & Languages (JAVA, CORBA, UML etc.), Parallel Processing – Multiprocessing (Subject & Programming). Advanced Computational Environments and Systems (OpenMP, MPI, GRID, CUDA, OpenCL, OpenACC etc.). Multiple Cores – Computing with Graphic Cards (Multicore, Manycore, GPU Computing). Supercomputers: Access & Programming (High Performance Computing – HPC). Scientific Applications (Data Representation, Graphics, Information Retrieval).

LEARNING OUTCOMES

The course focuses on providing students with the theoretical knowledge and practical skills required for the development and assessment of reduced-order models and, more broadly, surrogate models based on computational data. Through the knowledge acquired in the course, students will be able to analyze the nature of data generated by numerical simulations and identify spatial, temporal, and parametric structures that enable the construction of simplified yet reliable representations and predictive models. Particular emphasis is placed on the dimensionality reduction of field data, the extraction of latent representations, and the analysis and prediction of time series arising from dynamic computational models.

For the development of surrogate models, students become familiar with techniques spanning linear algebra, machine learning, deep learning, and time-series analysis. The methods considered include, among others, regression techniques, dimensionality-reduction and data-decomposition methods, autoencoders, convolutional neural networks, as well as models for time-dependent data, such as recurrent neural networks and LSTM and GRU architectures. The methods are implemented in Python using scientific computing and machine-learning libraries such as scikit-learn and PyTorch.

At a practical level, students will be able to organize and process data generated by computational simulations, develop reduced-order and surrogate models for both static and time-evolving responses, and assess their accuracy, stability, and generalization capabilities. They will also be able to employ these models for accelerated simulations, parametric studies, sensitivity analysis, inverse-design problems, and optimization problems.

Διδάσκοντες: