От своето изобретяване в началото на седемдесетте години на миналия век до наши дни, компютърните игри напреднаха много по отношение на обхват, предизвикателства и предлагано потребителско изживяване. За разлика от първите дигитални игри, ориентирани към текстово съдържание и представяне на текст, модерните игри използват 2D и най-вече 3D видео технологии с вградено мултимедийно съдържание. По този начин, съвременните компютърни игри са предимно и най-вече видео игри.
Играенето както на развлекателни, така и на сериозни видеоигри има доказани ползи по отношение на когнитивните способности на играча (като засилено внимание, развиване на творчески наклонности и на умения за решаване на проблеми), мотивация, емоционална регулация, както и на засилено про-социално поведение и гражданска ангажираност. През последните десетилетия разработването на видеоигри формира огромна, много-милиардна индустрия, която има доказано стабилни тенденции на устойчиво развитие.
Настоящият курс въвежда студентите в света на съвременните видео игри и най-вече в концепциите, принципите и методите на тяхното проектиране и разработка. Той започва с основни понятия при компютърните игри, архитектура и процес на софтуерна разработка, минава през развитие на образа на играча, разказване на истории (storytelling), методи за постигане на оптимално игрово изживяване, механика на игра, балансиране и дизайн на нива, и стига до областта на сериозните игри и персонализацията и адаптацията при видео игрите. Освен това, с помощта на практически упражнения, студентите ще получат знания и умения в проектирането и разработването на 3D видео игри, използващи популярната платформа Unity.
Софтуерните шаблони за проектиране са от решаващо значение при решаването на комплексни проблеми при разработката на индустриални програмни приложения. Обектно-ориентираните шаблони за проектиране касаят дизайна, комуникацията и синхронизацията между обекти, и предлагат елегантни решения на типови проблеми в проектирането с възможност за многократно използване.
Настоящият курс е фокусиран върху практическите аспекти на прилагането на шаблони в софтуерното проектиране и имплементация. Разглежданите концепции покриват обширна област от знания, необходими при разработката, внедряването и поддръжката на съвременни децентрализирани софтуерни системи. След преглед на обектно-ориентираната (ОО) парадигма за проектиране на софтуер и на историческото развитие на ОО шаблони за софтуерен дизайн, студентите ще бъдат запознати с различните типове шаблони за проектиране и многократното им използване при различни приложения. Базовите ОО шаблони (известни като Gang of Four или съкратено GoF шаблони) са групирани в три основни групи – градивни, структурни и поведенчески. Представянето им става основно с използване на унифицираният език за моделиране (UML). Специално внимание се обръща на разработката, документирането, тестването и многократното използване на шаблони и библиотеки от шаблони.
Софтуерните специалисти, на които се възлагат отговорностите по разработка на архитектурата и имплементацията на сложни софтуерни продукти, освен обичайната подготовка като програмисти, трябва да имат и специализирана подготовка в областта на прилагането на шаблони за проектиране. Целта на курса е да въведе обучаемите в тази основна дисциплина и да им даде необходимия практически опит за нуждите на софтуерната индустрия. За целта лекциите отразяват примери за използването на ОО шаблони, а лабораторните упражнения към този курс предвиждат разработване на софтуерни модули и мини-приложения с шаблоните.