• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Introduction into Python

2023/2024
Academic Year
ENG
Instruction in English
3
ECTS credits
Course type:
Elective course
When:
2 year, 3 module

Instructor


Izhevskaia, Aleksandra

Course Syllabus

Abstract

Python is one of the most popular and easy to learn programming languages. This language is a powerful data analysis tool, which may increase efficiency of almost any activity in science or industry. Python may help automise routine operations and process data in the amount, which is by several orders higher than the amount achievable manually or with the use of the electronic spreadsheets. This module is aimed at developing skills in the area of understanding the code and writing own programs. It will cover the topics essential for the study of the basic types of data and syntactic constructions of Python, as well as for the preparation to an independent programming test of the entry and basic level. This module is taught on the basis of the course “Python as a foreign language” (in Russian: «Python как иностранный») https://edu.hse.ru/course/view.php?id=133389
Learning Objectives

Learning Objectives

  • Learning by the students of the basics of the Python programming language, which are sufficient to understand somebody else’s code and to write own simple programs.
Expected Learning Outcomes

Expected Learning Outcomes

  • Create variables, turn data into variables, address variables
  • Define types of data of Python correctly and convert them, if necessary
  • Work with the lines, use indexing and formatting of the lines.
  • Understand the errors displayed by the software and fix them.
  • Identify mistakes in other people’s code and fix them.
  • Use logical data type, comparison operators, logical operators.
  • Write own conditional constructs.
  • Use loops to process repeating actions, terminate loop upon condition.
  • Use loops to iterate sequences.
  • Understand the logic behind the functioning of a loop.
  • Distinguish between mutable and immutable types of data; understand, which methods may be applied to them.
  • Conduct operations with the sets, interpret the results in a meaningful way.
  • Create a dictionary and add data into it; conduct search in a dictionary.
  • Store and address data within the nested structures.
  • Sort sequences, sort dictionaries by the keys and values.
  • Import ready functions and use them.
  • Write own functions and use them.
  • Find mistakes in other people’s functions and fix them.
  • Open and create text files.
  • Calculate, process and analyse data from the files.
  • Perform suggested algorithm of problem solving.
  • Develop own algorithm of problem solving and perform it.
Course Contents

Course Contents

  • Introduction to programming. Key data types. Creation of variables. Most common mistakes.
  • Logical data type. Conditional constructs.
  • While loop. Operators break and continue. Use of else in the loop.
  • For loop. Lists and tuples. Map()function.
  • Method of lines and lists.
  • Sets. Operations with sets. Set methods.
  • Dictionaries. Dictionary methods. Nested structures.
  • Sorting, .sorted() function.
  • Work with the functions.
  • Work with the text and spreadsheet files.
Assessment Elements

Assessment Elements

  • non-blocking Activity
    Activity at the seminars includes answers to the questions of the tutor, participation in problem solving in each area. The grade for activity is given if no other type on-going control is planned for the seminar, which lasts for more than 40 minutes. 10 points for the activity can be given for the participation in N minus 3 seminars, where N is the amount of the seminars. Activity at the lectures includes participation in mini tests, which are conducted at the lectures if no other type of on-going control planned for such lecture. Mini tests are conducted using the SmartLMS platform at the end of each lecture. Each test may include 3 to 5 questions; duration of no more than 10 minutes. The questions may have one or several answers.
  • non-blocking Quizzes
    The module includes 4 quizzes lasting 20-30 minutes each. The materials are submitted to the SmartLMS platform and are conducted at the end or at the beginning of a lecture / seminar. Each task includes 2 or 3 assignments to write own code. The submissions of the students are tested for both open and hidden data.
  • non-blocking Test
    The test is conducted after the study of the topic “Dictionaries” and contains assignments based on the already covered topics. The duration of the test is 80 minutes; the test is conducted using the platform SmartLMS. The assignments require writing of a code. The submissions of the students are tested for both open and hidden data. 10% penalty is applied for each unsuccessful attempt. With each unsuccessful attempt the penalty increases by another 10%. The assignments are analogous to those in the quizzes.
  • non-blocking Personal project and presentation of the project
    Is conducted in groups of 3 people. A group of 1 or 2 people may be organized in exceptional cases subject to the tutor’s approval. The project involves writing of a properly functioning program of applied use with subsequent mandatory oral presentation. The deadline is fixed. Submission of the project materials after the deadline is not allowed. A student may show up to the examination and present the project, however in such instance the grade may not exceed 6 points. Presentation of the project is mandatory in order to receive grade for the project. The format of the presentation is determined by the tutor.
  • non-blocking Exam
    The assignments are analogous to those in an independent exam, since the module trains for the passing of an independent examination. There will be no margin days for the examination. If the module is conducted in person: The exam is conducted in person It is allowed to use software development environment from the white list and the guidance materials If the module is conducted online or in a mixed format: The exam is conducted using proctoring The duration may not be extended. The exam lasts for 2 hours, extra 30 minutes is allowed to connect to it. If proctoring is conducted with the use of Proctor Edu, the steps to be taken by the students are prescribed in the instruction. If small number of students are registered for the module, the tutor may conduct the midpoint monitoring with proctoring in Zoom. In such instance conducting of the exam is governed by rules of conducting exams distantly.
Interim Assessment

Interim Assessment

  • 2023/2024 3rd module
    0.1 х activity at the lectures / seminars 0.2 х quizzes 0.2 х test 0.3 х personal project and presentation of the project 0.2 х exam The mark calculated using the above formula is multiplied by 0.9. Afterwards it is rounded using the method of the arithmetic rounding. Students receive the lesser of the result of such calculation and 8 points as the final mark. There will be no margin days for any types of examination, except for the presentation of a project. In the event of missing any type of on-going examination for a valid reason confirmed by the office of studies, the grading formula changes for such student; the weighting of the missed element is allocated to the exam.
Bibliography

Bibliography

Recommended Core Bibliography

  • Learning Python : [covers Python 2.5], Lutz, M., 2008

Recommended Additional Bibliography

  • 9781491912140 - Vanderplas, Jacob T. - Python Data Science Handbook : Essential Tools for Working with Data - 2016 - O'Reilly Media - https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1425081 - nlebk - 1425081

Authors

  • Bogolepova Svetlana Viktorovna
  • PARSHINA ANASTASIYA ALEKSEEVNA
  • Рословцева Кристина Олеговна
  • Королева Анастасия Романовна