Компьютерные науки

Парадигмы программирования

Программа о многообразии стилей и языков программирования в их историческом развитии. Акцент сделан на концептуальных идеях, определивших эволюцию программных систем от низкоуровневых до декларативных.
Студентов 2002 Выпускников 207 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Программирование
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебная программа посвящена различным подходам к написанию кода для выбора эффективных инструментов под конкретные задачи. Изучаются императивная, функциональная, объектно-ориентированная и логическая модели программирования. Материал охватывает эволюцию от ассемблера и макрообработки до языков сверхвысокого уровня и параллельных вычислений. Программа полезна разработчикам для расширения профессионального кругозора.
Цели
  • Сформировать системное представление об эволюции языков программирования.
  • Дать ориентиры в выборе архитектурных подходов под разные типы задач.
  • Познакомить с особенностями функционального и декларативного программирования.
Чему я научусь?
  • Анализировать код с точки зрения различных парадигм.
  • Применять принципы объектно-ориентированного и логического подходов.
  • Использовать функции высших порядков и методы оптимизации программ.

Авторы

Городняя Лидия Васильевна
Городняя Лидия Васильевна
Кандидат физико-математических наук,\nдоцент кафедр "Программирование" механико-математического факультета и "Системы информатики" факультета информационных технологий НГУ,старший научный сотрудник Института систем информатики СО РАН им. А.П.Ершова.
Чему я научусь?
  • Анализировать код с точки зрения различных парадигм.
  • Применять принципы объектно-ориентированного и логического подходов.
  • Использовать функции высших порядков и методы оптимизации программ.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Многоликое программирование В данной лекции приведен краткий обзор парадигм программирования и представлены наиболее очевидные особенности применения языков программирования,... В данной лекции приведен краткий обзор парадигм программирования и представлены наиболее очевидные особенности применения языков программирования, отражающие расширение класса решаемых задач, прогресс элементной базы и рост квалификации программистов. Рассматриваются ключевые моменты развития парадигм программирования и анализируются закономерности в процессе реализационного освоения новых областей обработки информации ещё
Многоликое программирование тест для курса Парадигмы программирования 60 мин
2 Определение языков программирования В данной лекции рассматривается задача определения систем программирования. Строится простейшее определение семантики языка программирования в виде... В данной лекции рассматривается задача определения систем программирования. Строится простейшее определение семантики языка программирования в виде интерпретатора, задающего операционную семантику на примере подмножества языка Лисп ещё
Определение языков программирования тест для курса Парадигмы программирования 60 мин
3 Ассемблер Рассматривается парадигма низкоуровневого программирования на ассемблере. Эта парадигма нацелена на учет основных особенностей компьютерных архитектур. Описаны... Рассматривается парадигма низкоуровневого программирования на ассемблере. Эта парадигма нацелена на учет основных особенностей компьютерных архитектур. Описаны основные методы адресации памяти. Дано определение языково-ориентированной абстрактной машины. Изучается понятие абстрактной машины (secd) для определения операционной семантики языка программирования по Венской методике ещё
Ассемблер тест для курса Парадигмы программирования 60 мин
4 Машинно ориентированное программирование В данной лекции рассматриваются подходы к машинно-независимому эффективному программированию. Приведены примеры программирования на языке Форт, отмечены... В данной лекции рассматриваются подходы к машинно-независимому эффективному программированию. Приведены примеры программирования на языке Форт, отмечены его основные преимущества и недостатки ещё
Машинно ориентированное программирование тест для курса Парадигмы программирования 60 мин
5 Языки макрообработки текстов В данной лекции рассматривается понятие языков макрообработки текста. Изучается устройство ряда макропроцессоров, используемых при обеспечении гибкости... В данной лекции рассматривается понятие языков макрообработки текста. Изучается устройство ряда макропроцессоров, используемых при обеспечении гибкости кода программ, рассматриваются макропроцессоры нестандартных языков программирования, применявшиеся при факторизации текстов программ, разрабатываемых одновременно на разные архитектуры. Приведены примеры кода программ на языках макрообработки текста ещё
Языки макрообработки текстов тест для курса Парадигмы программирования 60 мин
6 Языки управления процессами В данной лекции рассматривается понятие языков управления процессами. Приводится обзор технических проблем управления процессами. Рассматриваются базовые... В данной лекции рассматривается понятие языков управления процессами. Приводится обзор технических проблем управления процессами. Рассматриваются базовые средства для решения таких проблем на уровне функционирования операционных систем, исполнения отдельных задач и разработки информационных систем. Рассматриваются языки реализации операционных систем ещё
Языки управления процессами тест для курса Парадигмы программирования 60 мин
7 Функциональное программирование В данной лекции описаны понятия, касающиеся языков высокого уровня. Рассматриваются общие формы представления информации символьными выражениями... В данной лекции описаны понятия, касающиеся языков высокого уровня. Рассматриваются общие формы представления информации символьными выражениями и анализируются требования к полноте и эффективности методов их обработки. Вводятся базовые понятия, такие как списки, атомы, данные, значения, функции. Приведены примеры программного кода на языках высокого уровня ещё
Функциональное программирование тест для курса Парадигмы программирования 60 мин
8 Стандартное (системное) программирование В данной лекции рассматривается системное программирование. Предлагается анализ ограничений на структуры управления и информационные потоки при... В данной лекции рассматривается системное программирование. Предлагается анализ ограничений на структуры управления и информационные потоки при обработке данных. Приведено обоснование дисциплины программирования на стандартных императивно-процедурных языках. Отмечена проблема сопряжения программ, подготовленных на разных языках. Обсуждены достоинства структурного программирования, повышающего сходимость процесса отладки программ. Приведены примеры программного кода на языках системного программирования ещё
Стандартное (системное) программирование тест для курса Парадигмы программирования 60 мин
9 Декларативное программирование В данной лекции рассматривается недетерминизм и зависимость вычислимости выражений от учета границ представления данных. Предлагаются типы... В данной лекции рассматривается недетерминизм и зависимость вычислимости выражений от учета границ представления данных. Предлагаются типы данных, такие как варианты, последовательности, множества, приспособленные к декларативному стилю программирования. Описана техника организации недетерминированных вычислений, такая как, вычисления с возвратами, перебор вариантов, откат. Анализируется соответствие точности решения задач и уровня постановки задачи. Показано как представление и обработка недетерминированных программ способствует обеспечению надежности вычислений. Исследуются связь диагностической интерпретации и средств логического программирования ещё
Декларативное программирование тест для курса Парадигмы программирования 60 мин
10 Объектно-ориентированное программирование В данной лекции рассматривается объектно-ориентированное программирование. Рассмотрены основные принципы объектно-ориентированного программирования и проанализированы схемы их реализации... В данной лекции рассматривается объектно-ориентированное программирование. Рассмотрены основные принципы объектно-ориентированного программирования и проанализированы схемы их реализации на базе ряда структур данных на примере простой модели объектно-ориентированного языка, встраиваемого в Лисп. Рассмотрена реализация методов обработки объектов заданного класса, которая сводится к отдельной категории функций, вызов которых управляется анализом принадлежности аргумента классу. Приведены примеры программного кода на языках объектно-ориентированного программирования ещё
Объектно-ориентированное программирование тест для курса Парадигмы программирования 60 мин
11 Языки параллельного программирования В данной лекции рассматриваются языки параллельного программирования. Сформулированы основные понятия, отмечены достоинства и недостатки языков параллельного... В данной лекции рассматриваются языки параллельного программирования. Сформулированы основные понятия, отмечены достоинства и недостатки языков параллельного программирования, приведены примеры сферы их применения. Приведены части программного кода на языках параллельного программирования ещё
Языки параллельного программирования тест для курса Парадигмы программирования 60 мин
12 Функции высших порядков В данной лекции рассматривается аппарат функций высших порядков при организации высококвалифицированных процессов информационной обработки, использующей формализацию... В данной лекции рассматривается аппарат функций высших порядков при организации высококвалифицированных процессов информационной обработки, использующей формализацию и спецификацию данных, таких как синтаксический анализ, кодогенерация, конструирование интерпретаторов и компиляторов по формальному определению реализуемого языка – так называемые синтаксически управляемые методы информационной обработки. Приведены примеры программного кода с использованием функций высшего порядка ещё
Функции высших порядков тест для курса Парадигмы программирования 60 мин
13 Оптимизация программ В данной лекции рассматривается оптимизация программ. Рассматривается эффективное обобщение процесса информационной обработки, вытекающее из возможности отложенных... В данной лекции рассматривается оптимизация программ. Рассматривается эффективное обобщение процесса информационной обработки, вытекающее из возможности отложенных действий. Анализируются резервы производительности обобщенных процессов и методы динамической оптимизации вычислений, приводящие к смешанным и параллельным вычислениям. Приведены примеры программ ещё
Оптимизация программ тест для курса Парадигмы программирования 60 мин
14 Разработка программ Рассматриваются разные подходы к технологии программирования и создания прототипов программ. Семантическое макетирование информационных систем предлагается как... Рассматриваются разные подходы к технологии программирования и создания прототипов программ. Семантическое макетирование информационных систем предлагается как основа проектирования и тестирования программ в процессе их разработки. Анализируется зависимость трудоемкости программирования от субъективной и объективной новизны решаемых задач. Мемо-функции ещё
Разработка программ тест для курса Парадигмы программирования 60 мин
15 Заключение В данной лекции рассматриваются тенденции современного программирования, еще не получившие языковой поддержки, такие как компонентное программирование... В данной лекции рассматриваются тенденции современного программирования, еще не получившие языковой поддержки, такие как компонентное программирование и разработка распределенных информационных систем. Большое внимание также уделено компонентному программированию ещё
Заключение тест для курса Парадигмы программирования 60 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.