наверх

Языки программирования. Генезис и практики

Дату старта объявим позже
29 дней
До конца записи
  • 10 недель

    длительность курса

  • около 10 часов в неделю

    понадобится для освоения

  • 3 зачётных единицы

    для зачета в своем вузе

Курс ориентирован на новичков в области разработки программного обеспечения. Курс позволяет понять, что программирование – это не просто кодирование, а целый комплекс разных областей деятельности: анализ, декомпозиция и многие другие. Слушатели курса узнают, какие именно задачи и как их можно решать на языке программирования Си, а также можно ли решать эти задачи на других языках, в других парадигмах программирования.

О курсе

Предлагаемый курс посвящается изучению языков программирования на примере языка Си, в контексте истории их развития и влиянию их на практики программирования (как и влиянию практик на языки). Также в курсе рассматриваются аспекты, связанные с представлением задачи в терминах языка программирования. Всё это позволит понять, что язык программирования – лишь инструмент, и научиться пользоваться им – не так уж и сложно.

Формат

В состав курса входят видеолекции, опросы, учебные материалы в виде текста, схем. Курс рассчитан на 10 недель. Недельная нагрузка – 10 часов. Общая трудоемкость курса – 3 з.е.

Курс является самодостаточным с точки зрения изложения материала, но в то же время, можно дополнительно ознакомиться с литературой:

  1. Белецкий Я. Энциклопедия языка Си. – М.: Мир, 1992. – 687 с.
  2. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация. : Пер. с англ. / Под общей ред. А. Матросова. - СПб.: Питер, 2002. - 688 с.
  3. Свердлов С.З. Языки программирования и методы трансляции. – СПб.: Питер. – 638 с.
  4. Вирт Н. Алгоритмы+структуры данных = программы: Пер. с англ.-М.Мир,1985.-406 с.
  5. Ю. Карпов – Теория и технология программирования. Основы построения трансляторов. – СПб.: БХВ-Петербург. – 2005. – 270 с.
  6. Эндрю Таненбаум, Х. Бос – Современные операционные системы. – СПб.: Питер. – 2015. – 1120 с.

Требования

Курс ориентирован на студентов бакалавриата первого года обучения, уже имеющих необходимую базовую подготовку по информатике в рамках школьного курса. Для освоения курсанеобходим  инструментарий для разработки на языке Си. Это может быть любой компилятор, соответствующий стандарту языка Си, версии не меньшей, чем C11 – например, GCC, или среда разработки со встроенным компилятором (например, Microsoft Visual Studio, достаточно бесплатных редакций).

Программа курса

В курсе рассматриваются следующие темы:

1.      Языки программирования. Начало.

2.      Эволюция языков программирования и вычислительных окружений.

3.      Основные концепции.

4.      Императивное программирование.

5.      Процедурное программирование.

6.      Понятие типизации.

7.      Развитие языков программирования. Пользовательские типы данных. ООП.

8.      Основы трансляции языков программирования.

В курсе имеется два типа дедлайна (предельного срока выполнения оценивающих мероприятий):

– мягкий дедлайн, при котором необходимо выполнить все оценивающие мероприятия текущей недели до ее завершения;

– жесткий дедлайн, при котором на выполнение оценивающих мероприятий после мягкого дедлайна дополнительно выделяется еще две недели, по окончании которых доступ к соответствующим мероприятиям закрывается.

Результаты обучения

  • Представления о парадигмах программирования, возможностях современных языков программирования и стандартных библиотек (РО-1).
  • Способность выбирать оптимальные для решения задачи средства языка программирования и структуры данных, использовать возможности современного инструментария для разработки программного обеспечения (РО-2).
  • Способность осуществлять декомпозицию задачи в рамках процедурной и структурной парадигм программирования (РО-3).

Формируемые компетенции

09.03.01 «Информатика и вычислительная техника»

ОПК-2

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

РО-1

ПК-2

Способность разрабатывать компоненты аппаратно-программных комплексов и баз данных, используя современные инструментальные средства и технологии программирования.

РО-2

ПК-1

Способность разрабатывать модели компонентов информационных систем, включая модели баз данных и модели интерфейсов «человек – электронно-вычислительная машина».

РО-3

 

09.03.04 «Программная инженерия»

 

ОПК-1

Владеть основными концепциями, принципами, теориями и фактами, связанными с информатикой.

РО-1

ПК-1

Готовность применять основные методы и инструменты разработки программного обеспечения

РО-2

ОПК-3

Готовность применять основы информатики и программирования к проектированию,

конструированию и тестированию программных продуктов.

РО-3

Лаздин Артур Вячеславович

Кандидат технических наук
Должность: Доцент кафедры информатики и прикладной математики Университета ИТМО

Логинов Иван Павлович


Должность: Ассистент кафедры информатики и прикладной математики Университета ИТМО

Похожие курсы