След завършване на курса студентите трябва да имат базови познания в областта на съвремените компютърни комуникации и мрежи
като: архитектура на отворените системи - моделa OSI на ISO, за глобалната компютърна мрежа INTERNET и съвременните интернет приложения базирани на TCP/IP протоколи. Да придобият собствен опит при изграгдане на компютърни мрежи, инсталиране и администриране на мрежови устройства и приложения.

Основни теми: Архитектура на отворени системи – моделa OSI на ISO, структура и функции на отделните слоеве. Съобщителни среди, методи и средства за обмен на данни. Комуникационни протоколи, управление обмена на данни. Канален слой. Локални мрежи – топологии, методи за достъп до съобщителната среда. Мрежов слой, маршрутизация и адресация - IP. Транспортен слой, протоколи ТСР, UDP, сокети. Приложен слой – интрнет приложения. Приложения – клиент/сървър, DNS, FTP, SMTP, HTTP. Мрежови операционни системи. Архитектура на приложения клиет/сървър.

Целта на учебната дисциплина е е да разкрие възможностите на Java и да представи по достъпен начин, с помощта на множество практически примери, основните принципи при създаване на различни приложения на този език. В курсът се представят съвременните среди за програмиране с Java.

Цел на курса е да мотивира студентите от КСТ III-ти курс да се запознаят с основните концепции на „Компютърни Архитектури“. Тази дисциплина е фундаментална за студентите от специалността КСТ. Но за съжаление, голяма част от студентите са незаинтересувани от изучаването на компютърните организации на съвременните компютри. Много студенти считат дисциплината „Компютърни Архитектури“ твърде хардуерно ориентирана и далечна от тяхното бъдещо професионално развитие като софтуерни инженер.

Една част от лекциите от курса са свързани с използването на MIPS архитектурата, този процесор е остарял, но в много от лекционните материали се използва като ресурс за изучаването на теоретичните аспекти от КА. Освен това за упражненията се използват симулационни техники, които са базирани на MIPS архитектурата.

В курса е отделено внимание и на все повече развиващите се GPU архитектури, които се използват за самообучаващите алгоритми.

През последните години, драматично нарастна използването на ARM процесорите в мобилните телефони и вградените системи. ARM процесорите също са RISC и са удобни за прототипи за обучение.

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


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

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

Курсът е предназначен за студенти от специалност "Компютърни системи и технологии" - бакалаври. Базира се върху предходни дисциплини от бакалаварският план от типа на: Цифрова схемотехника и Микропроцесорна техника. Курсът третира основни въпроси от архитектурата на универсални и специализирани микрокомпютърни системи, като организацията им, организацията и управлeнието на входно/изходния обмен на данни. Разглеждат се особености на при изграждането на системата на прекъсване и директния достъп до паметта, разработването и реализирането на входи/изходни програмни драйвери. Лабораторните упражнения се провеждат върху персонални компютри от типа IBM PC/AT. Основната цел на упражненията е студентите да усвоят техниката на програмиране на Асемблер за 80х86, да придобият собствен опит при разработването и реализацията на входно/изходни програмни драйвери.