Современные среды и языки программирования
内容描述: В курсе дается сравнительный обзор современных парадигм языка программирования. Включает изучение свойств, приложений, синтаксиса и семантики выбранных языков программирования и рассмотрение реализации в средах программирования: 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 | Р1+Р2 | +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.