• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2024/2025

Программирование на Python

Статус: Курс обязательный (Прикладной анализ данных)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 1-й курс, 1, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Язык: английский
Кредиты: 4

Course Syllabus

Abstract

The course is intended to be taught during the first semester of the program, so it starts from the very beginning and takes into account, that some of the students may have zero experience in programming. The lectures and practical classes are closely inter-related. The lectures are primarily intended to introduce new topics, focus on more theoretical aspects whereas the practical classes are intended for solving specific problems by coding programs in Python.
Learning Objectives

Learning Objectives

  • One of the objectives of this course is for the students to will study the methodology of programming.
  • During this course, the students will develop algorithmic thinking.
  • 3 During this course, the students will study approaches and toolkits for the development of Python applications.
  • During this course, the students will practice application debugging and deployment with respect to various platforms and toolchains.
Expected Learning Outcomes

Expected Learning Outcomes

  • Students will acquire skills in Python programming to formalize and solve simple development tasks.
  • Students will learn basic concepts and methods of software development.
  • Students will learn to select the most appropriate toolset for app development.
  • Students will practice application debugging and deployment with respect to various platforms and toolchains.
Course Contents

Course Contents

  • Introduction.
  • Dynamic typing. Operations of sequence, selection, and iteration.
  • Number systems. Float in the computer memory, rounding and other aspects.
  • Strings.
  • Functions and recursion. Lambda-functions. Named parameters.
  • Tuples. Lists. Function map. Methods Split and Join.
  • Zen of python. PEP-8. Files. Exceptions and errors. Program debugging.
  • Sets. Dictionaries.
  • Sort and found. Introduction into the complexity theory.
  • Elements of functional programming. Function Enumerate. Module Functools.
  • Object-oriented programming. Main ideas: encapsulation, inheritance and polymorphism. Operator Overriding. Function Isinstance. Examples.
  • Python for data analysis. Overview.
Assessment Elements

Assessment Elements

  • non-blocking Ongoing Assessment 0.6
    The ongoing assessment grade is accumulated throughout all the classes and is related to a participant’s activity. An ongoing control structure is individual for every class. During the classes, there are some activities available for students to be involved in. They include (but are not limited by) writing code and developing project, evaluating practical problems, solving tests, answering questions and so on. If plagiarism is detected, the assessment element will be assigned a score of "0". If the student is suspected of preparing the task not on his own, the teacher has the right to initiate additional verification or defense of this particular assessment element. Then such an assessment element will be graded based on the additional verification or the defense.
  • non-blocking Control work, tests, quizzes
    Students’ skills in programming are tested using automated testing. This way, a student is assigned an individual task, prepares it by using a personal computer and, then, submits it by using a special service, such as Yandex.Contest or a repository-based tool. A professor decides whether to request students to defend their work (home, control, exam). The specific solution can be subject to further clarification. If plagiarism is detected, the assessment element will be assigned a score of "0". If the student is suspected of preparing the task not on his own, the teacher has the right to initiate additional verification or defense of this particular assessment element. Then such an assessment element will be graded based on the additional verification or the defense.
  • non-blocking Homework (Contests)
    Students’ skills in programming are tested using automated testing. This way, a student is assigned an individual task, prepares it by using a personal computer and, then, submits it by using a special service, such as Yandex.Contest or a repository-based tool. A professor decides whether to request students to defend their work (home, control, exam). The specific solution can be subject to further clarification. If plagiarism is detected, the assessment element will be assigned a score of "0". If the student is suspected of preparing the task not on his own, the teacher has the right to initiate additional verification or defense of this particular assessment element. Then such an assessment element will be graded based on the additional verification or the defense.
  • non-blocking Exam 0.4
    Exam, which takes place at the end of the first quartile. If plagiarism is detected, the assessment element will be assigned a score of "0". If the student is suspected of preparing the task not on his own, the teacher has the right to initiate additional verification or defense of this particular assessment element. Then such an assessment element will be graded based on the additional verification or the defense. If plagiarism is detected, the assessment element will be assigned a score of "0". If the student is suspected of preparing the task not on his own, the teacher has the right to initiate additional verification or defense of this particular assessment element. Then such an assessment element will be graded based on the additional verification or the defense.
Interim Assessment

Interim Assessment

  • 2024/2025 2nd module
    Final grade = 0.4*E1 + 0.6*OA. Where: E1 – Exam mark, OA – Ongoing Assessment. 𝑂𝐴=10∗(𝑅𝑃+𝐵𝑃)/𝑅𝑃_𝑚𝑎𝑥 RP – Regular Points: Homework (Contests), Control Work (CW). 𝑅𝑃_𝑚𝑎𝑥= ∑_𝑎𝑐𝑡𝑖𝑣𝑖𝑡𝑖𝑒𝑠 (max⁡𝑝𝑜𝑠𝑠𝑖𝑏𝑙𝑒 𝑅𝑃). BP - Bonus Points: Extra tasks (with *) in contests (for main groups); Quizzes; Working during the workshop; Activity at almost all workshops; Other achievements at the teacher discretion. Additional conditions: 1. Final grades for the CW and Contests are given after the defenses (inviting students to defenses is at the discretion of the teacher). The student should be informed of the need to defend the work no later than 2 weeks after the deadline for its submission. In case of plagiarism, one task nullifies the entire work. 2. If (in % of full mark) Contests - CW >= 50 then RP for Contests (all with the deadlines earlier, then CW) divided by 2.
Bibliography

Bibliography

Recommended Core Bibliography

  • Pilgrim, M. (2009). Dive Into Python 3. New York: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=326208

Recommended Additional Bibliography

  • Schneider, D. I. (2016). An Introduction to Programming Using Python, Global Edition: Vol. Global edition. Pearson.

Authors

  • Абдулхакимов Мухиддин Мураджанович
  • Voznesenskaia TAMARA VASILEVNA