Современные среды и языки программирования

Кумаргажанова Сауле Кумаргажановна

*InstructorProfile(zh-CN)*

内容描述: В курсе дается сравнительный обзор современных парадигм языка программирования. Включает изучение свойств, приложений, синтаксиса и семантики выбранных языков программирования и рассмотрение реализации в средах программирования: R; Python; Node JS; Haskell.

贷款数: 5

Пререквизиты:

  • Алгоритмизация и основы программирования

*СomplexityDiscipline(zh-CN)*:

*TypesOfClasses(zh-CN)* *hours(zh-CN)*
*Lectures(zh-CN)* 15
*PracticalWork(zh-CN)*
*LaboratoryWork(zh-CN)* 30
*srop(zh-CN)* 30
*sro(zh-CN)* 75
*FormOfFinalControl(zh-CN)* экзамен
*FinalAssessment(zh-CN)* Устный экзамен

零件: Вузовский компонент

循环次数: Базовые дисциплины

Цель
  • Изучить целый ряд современных языков программирования и методов программирования.
  • Способность выбрать подходящие средства разработки программного обеспечения для заданных прикладных сред.
  • Способность выбрать подходящих средств разработки программного обеспечения для заданных прикладных сред.
Задача
  • Научиться сравнивать и противопоставлять различные парадигмы программирования
  • Научиться критически оценивать функции языка программирования с точки зрения того, как они поддерживают надлежащую практику разработки программного обеспечения
  • Научиться обсуждать целесообразность использования данной парадигмы программирования в данной среде
Результат обучения: знание и понимание
  • Определять общие концепции, используемые для создания языков программирования
  • Сравнение и сопоставление факторов и команд, влияющих на состояние программирования
Результат обучения: применение знаний и пониманий
  • Понимать эволюцию и ключевые особенности основных языков программирования
  • Анализ и оценка новых языков программирования и новых языковых возможностей
Результат обучения: формирование суждений
  • Иллюстрация того, как порядок выполнения влияет на программирование
Результат обучения: коммуникативные способности
  • Определение основных объектов и конструкций в объектно-ориентированном программировании
Результат обучения: навыки обучения или способности к учебе
  • Определять характеристики чисто функциональных функций в функциональном программировании
  • Описание структуры и компонент, используемых в логическом программировании
*TeachingMethods(zh-CN)*

интерактивная лекция (проблемная лекция, дискуссионная лекция, лекция-конференция, лекция-консультация, лекция «Пресс-конференция», лекция «Вопросы-ответы-обсуждение»);

*AssessmentKnowledge(zh-CN)*

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

*Period2(zh-CN)* *TypeOfTask(zh-CN)* *Total(zh-CN)*
1  *Rating(zh-CN)* Лабораторная работа 1 0-100
Лабораторная работа 2
Лабораторная работа 3
Лабораторная работа 4
Рубежный контроль 1
2  *Rating(zh-CN)* Лабораторная работа 5 0-100
Лабораторная работа 6
Лабораторная работа 7
Лабораторная работа 8
Рубежный контроль 2
*TotalControl(zh-CN)* экзамен 0-100
*PolicyAssignmentTask(zh-CN)*
*TypeOfTask(zh-CN)* 90-100 70-89 50-69 0-49
Excellent *Grade4(zh-CN)* *Grade3(zh-CN)* *Grade2(zh-CN)*
Собеседование по контрольным вопросам демонстрирует сиcтемные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью и способность быстро реагировать на уточняющие вопросы демонстрирует прочные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью, но при этом делает несущественные ошибки, которые исправляет самостоятельно или при незначительной коррекции преподавателем демонстрирует неглубокие теоретические знания, проявляет слабо сформированные навыки анализа явлений и процессов, недостаточное умение делать аргументированные выводы и приводить примеры, показывает недостаточно свободное владение монологической речью, терминологией, логичностью и последовательностью изложения, делает ошибки которые может исправить только при коррекции преподавателем. демонстрирует незнание теоретических основ предмета, несформированные навыки анализа явлений и процессов, не умеет делать аргументированные выводы и приводить примеры, показывает слабое владение монологической речью, не владеет терминологией, проявляет отсутствие логичности и последовательности изложения, делает ошибки, которые не может исправить даже при коррекции преподавателем, отказывается отвечать на занятии
Работа на лабораторных занятиях выполняет лабораторную работу в полном объеме с соблюдением необходимой последовательности действий; в отчете без ошибок приводит программный код и блок-схему. При ответе на вопросы правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий; сопровождает ответ примерами; может установить связь между изучаемым и ранее изученным материалом; выполняет в полном объеме индивидуальное задание на защиту лабораторной работы, выданное преподавателем. выполняет требования к оценке «5», но допущены 2-3 недочета; в отчете присутствуют незначительные ошибки в программном коде и блок-схеме. Ответ обучающегося на вопросы удовлетворяет основным требованиям к ответу на 5, но дан без использования связей с ранее изученным; допущены незначительные ошибки и недочеты, обучающийся может их исправить самостоятельно или с небольшой помощью преподавателя; при выполнении индивидуального задания на защиту лабораторной работы допускает незначительные ошибки в программном коде. выполняет работу не полностью, но не менее 50% объема лабораторной работы; в ходе проведения работы были допущены ошибки. При ответе на вопросы обучающийся правильно понимает сущность вопроса, но в ответе имеются отдельные проблемы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала; при выполнении индивидуального задания на защиту лабораторной работы допускает ошибки в программном коде или блок-схеме. выполняет работу не полностью или объем выполненной части работ не позволяет сделать правильных выводов. При ответе на вопросы демонстрирует не владение основными знаниями и умениями в соответствии с требованиями программы; допущено больше ошибок и недочетов, чем необходимо для оценки 3 или не может ответить ни на один из поставленных вопросов; не может выполнить индивидуальное задание на защиту лабораторной работы, выданное преподавателем.
*EvaluationForm(zh-CN)*

Итоговая оценка знаний обучающего по дисциплине осуществляется по 100 балльной системе и включает:

  • 40% результата, полученного на экзамене;
  • 60% результатов текущей успеваемости.

Формула подсчета итоговой оценки:

И= 0,6 Р12 +0,4Э
2

 

где, Р1, Р2 – цифровые эквиваленты оценок первого, второго рейтингов соответственно; Э – цифровой эквивалент оценки на экзамене.

Итоговая буквенная оценка и ее цифровой эквивалент в баллах:

Буквенная система оценки учебных достижений обучающихся, соответствующая цифровому эквиваленту по четырехбалльной системе:

Оценка по буквенной системе Цифровой эквивалент Баллы (%-ное содержание) Оценка по традиционной системе
A 4.0 95-100 Отлично
A- 3.67 90-94
B+ 3.33 85-89 Хорошо
B 3.0 80-84
B- 2.67 75-79
C+ 2.33 70-74
C 2.0 65-69 Удовлетворительно
C- 1.67 60-64
D+ 1.33 55-59
D 1.0 50-54
FX 0.5 25-49 Неудовлетворительно
F 0 0-24
Темы лекционных занятий
  • История языков программирования. Синтаксис и семантика
  • Функциональные и императивные языки
  • Модульность, абстракция и объектно-ориентированное программирование
  • Параллельное и распределенное программирование
  • Логическое программирование
  • Программирование для науки о данных
  • Программирование больших данных
  • Получение данных из открытых источников
  • Визуализация данных
  • Машинное обучение
  • Знакомство с современными веб-приложениями
  • Программирование веб-сервисов
  • Веб-API
  • Веб-стратегии
  • Социальное веб-программирование
Основная литература
  • Harper R. Practical foundations for programming languages. – Cambridge University Press, 2016.
  • Tattar P. et al. Practical Data Science Cookbook-: Data pre-processing, analysis and visualization using R and Python. – 2017.
  • Cantelon M. et al. Node. js in Action. – Manning Publications, 2017.
  • Hutton G. Programming in Haskell. – Cambridge University Press, 2016.
Дополнительная литература
  • Wexelblat R. L. (ed.). History of programming languages. – Academic Press, 2018.
  • Zomaya A. Y., Sakr S. (ed.). Handbook of Big Data Technologies. – Springer, 2019.
  • Holmes S. Getting MEAN with Mongo, Express, Angular, and Node. – Manning Publications Co., 2019.
  • Thompson S. Haskell: the craft of functional programming. – Addison-Wesley, 2020. – Vol. 2.