"Анализ и проектиране на ИС" е основен курс за бакалавърската програма по Информационни системи. Той има за цел да запознае студентите с основните принципи на проектиране на информационните системи.
Курсът представя основните концепции във функционалното програмиране, като акцентира върху методологията на строгото (“чистото”) функционално програмиране. Разглежданите теми включват: типове величини и изрази; средства за комбинация и абстракция в езиците за функционално програмиране; примитивни данни; съставни типове данни; типове изчислителни процеси и езикови конструкции, които ги генерират; функции от първи и по-висок ред; модели на оценяване във функционалното програмиране; работа с безкрайни списъци и др.
Курсът запознава с базовите елементи на обектно-ориентираното програмиране. Разглежда дефинирането и използването на основните компоненти на класовете (конструктори, деструктори, оператори за присвояване и др. операторни функции). Съществена част от изложението заема наследяването (единично и множествено). Разглеждат се редица особености при дефинирането на каноничното представяне на производни класове. Специално внимание се отделя на виртуалните основни класове, на динамичното свързване, на дефинирането и използването на виртуални функции, на полиморфизма, виртуалните деструктори, абстрактните и контейнерните класове, както и на механизмите за генериране и обработка изключения.
Изложението се базира на езика C++.