Основной задачей данного курса является формирование точки зрения на современную теорию и практику программирования. Курс базируется на творческом синтезе избранных формальных теорий (лямбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft .NET. Первый раздел курса посвящен основам функционального подхода к программированию на основе языка F#, второй — основам объектно-ориентированного подхода на примере языка С#. В курсе предлагается не просто изучение конкретного языка программирования, а систематическое сравнение современных парадигм разработки программного обеспечения. Для студентов академического бакалавриата технических вузов, специализирующихся в области разработки программных систем. Может быть полезен аспирантам, преподавателям, а также программистам-профессионалам.