Модули языков программирования

Этот модуль показывает студентам. Какие компромиссы необходимы при разработке языка программирования и как эти компромиссы в конечном счете влияют на производительность программиста. Модуль начинается с краткого. Основанного на примерах введения в основы языков программирования. Затем он продолжает серию задач. Каждая из которых решается на нескольких языках программирования. После каждой проблемы мы останавливаемся и размышляем. Какие языковые особенности помогают. А какие мешают. Наконец, ближе к концу модуля некоторые из ранее выявленных языковых особенностей обсуждаются в более общей обстановке.

Показательными примерами являются:
• Основы языков программирования, таких как: C++, C#, Dart. Gokell, Java. Javascript, MATLAB. OCaml, Pyret. Python, Scala. Swift, R, Racket. Rust.
• Решение проблем на нескольких языках. Задачи будут включать такие понятия. Как разбор, оценка. Деревья, графики. Мемуаризация. Рандомизация. Алгоритмы больших данных. Реактивные пользовательские интерфейсы.
• Особенности языка: сопоставление шаблонов. Функции первого порядка. Полиморфизм, эффекты. Исключения, типы. Алгебраические типы данных, модули. Объекты, классы.

Подробные сведения

Контактные часы

Всего контактных часов: 32 часа
Частных учебных часов: 118 часов
Всего учебных часов: 150 часов

Метод оценки

13.1 Основные методы оценки

Задание по программированию (30%)
Партисипативные упражнения (15%)
Презентация работы (25%)
Экзамен 2 часа (30%)

13.2 Методы переоценки
Like for like.

Индикативное чтение

Птица, Р. Функциональное мышление с Хаскеллом. Cambridge University Press.
Hutton, G. (2016) Программирование в Хаскелле, 2-е издание. Cambridge University Press
Krishnamurthi. S. (2015) [доступно бесплатно онлайн].

Языки программирования: Применение и интерпретация.
Лопес, С. В. (2014). Упражнения в стиле программирования. Chapman and Hall/CRC.
Minsky, Y., et al. (2013). Реальный мир OCaml. O’Reilly Media.

См. Список чтения библиотеки для этого модуля (Кентербери)

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

8. Предполагаемые предметно-специфические результаты обучения.
После успешного завершения модуля студенты смогут:
8.1 Описать и сравнить парадигмы программирования: декларативную. Функциональную. Императивную. Объектно-ориентированную.
8.2 Решение мелкомасштабных задач программирования на различных языках программирования.
8.3 Объективно сравнить языки программирования. Чтобы выбрать правильный инструмент для данной задачи.
8.4 Эффективно использовать целый ряд инструментов. Таких как редакторы. Компиляторы и интерпретаторы

. Предполагаемые общие результаты обучения.
После успешного завершения модуля студенты смогут:
9.1 Продемонстрировать понимание компромиссов. Связанных с выбором дизайна.
9.2 Эффективно использовать ИТ-средства для решения задач.
9.3 Управлять собственным обучением и развитием посредством самостоятельного изучения и работы над непрерывной оценкой.

Примечания

  1. Кредиты ECTS признаются на всей территории ЕС и позволяют вам легко переводить кредиты из одного университета в другой.
  2. Названный организатор является организатором текущей академической сессии.

Наверх

Кентский университет прилагает все усилия для обеспечения точности информации о модуле для соответствующей академической сессии и предоставления образовательных услуг в соответствии с описанием. Однако курсы. Услуги и другие вопросы могут быть изменены. Пожалуйста, прочитайте наш полный отказот ответственности .