В дисциплината ПАРАЛЕЛНО ПРОГРАМИРАНЕ ще се изучавате OpenMP, MPI, хибридно програмиране и използването на класовете за нишки в многонишковите езици C# и JAVA. Съществуват различни програмни модели и по различен начин се прилагат в класа на Високо-производителните компютри. В последно време все повече навлиза програмирането на хетерогенни системи и в няколо лекции ще се запознаете с CUDA C. 

За програмното решаване на някои сложни задачи, като например тези от областта на математическата физика, комбинаториката или дискретната оптимизация, е необходим огромен изчислителен ресурс. Освен това се използва и допълнителен софтуер за профилиране и търсене на bottleneck, hotspot и други параметри. 

ЦЕЛИ НА УЧЕБНАТА ДИСЦИПЛИНА: Запознаване на студентите с основните принципи в устройството и действието на компютърните системи, както и въведение в програмирането чрез запознаване с основи на алгоритмите, структурите от данни и езика за програмиране C.

ОПИСАНИЕ НА ДИСЦИПЛИНАТА: Основни теми: Компютърната система – средство за обработка и съхраняване на информацията; Класификация на компютрите; Носител на информация в компютъра; Представяне, съхраняване и пренасяне на информацията в компютъра; Елементи от компютърна архитектура и принцип на работа на компютъра; Данни, алгоритми и програми; Езици за програмиране; Структури от данни; Алгоритмични инструменти в езика; Транслиране; Класификация на програмното осигуряване.