We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
2023/2024

Introduction to Python and elements of data manipulation

Type: Optional course (faculty)
When: 1 module
Open to: students of one campus
Instructors: Alexander Zasorin
Language: English
ECTS credits: 3
Contact hours: 16

Course Syllabus

Abstract

Introduction to Python and elements of data manipulation is a one-month course for the first-year students of ICEF master program. This course is for students specializing in economics and finance. The students are not assumed to have programming skills or knowledge, only computer skills are required as well as basic math knowledge: number, vector, matrix. The course is taught in English and Russian. All the course work is supposed to be in IPython environment: either Jupyter or Google Colab. Another IDE (integrated development environment) is not supposed to be used.Basic ideas of using Python to manipulate data are studied: variables, types, conditions, loops, functions, imported modules.Prerequisites•math knowledge: number, vector, matrix, equation, solution, derivative, maximization•computer skills: working with browser, files
Learning Objectives

Learning Objectives

  • The main objective of the course is to give students who have never used programming languages before a short (one-month) introduction to Python as an “advanced calculator”, tool not only to sum/multiply two numbers and take logarithms and powers, but also to do computations with conditions and loops, to operate matrices and vectors, to take derivatives, integrals, solve equations using external Python libraries.
  • The students should learn how to enter Google Colab or Jupyter IPython notebook, run code in it.
  • The students should learn basic Python concepts: variable, type, operator, logical expression, function, conditional operator, loop, import, array, dictionary, object. They should understand from a program listing: what value is contained in a certain variable after certain code is run, what value which expression has, whether logical expression is true or false.
  • The students should learn from scipy module how to operate with standard probability distributions: find probability using cumulative distribution function and probability mass function, find value using inverse cumulative distribution function.
  • The students should learn from sympy module how to solve simple equations, take derivative, compute integral, find maximum/minimum of a function.
  • The students should learn from pandas dataframe how to load csv/tsv data, and compute some basic descriptive statistics with it.
  • The course is not rigorous neither mathematically, algorithmically nor in Python language specification. The course does not teach algorithms or data structures, memory or time-management in programming, Python language details such as iterators, generators, decorators, classes. The course does not teach machine learning, forecasting. The course does not teach data crawling, preprocessing, parsing.
Expected Learning Outcomes

Expected Learning Outcomes

  • By the end of the course the students are supposed to gain an ability using Jupyter IPython or Google Colab to carry out calculations with numbers, vectors, matrices, single variable function maximizations/minimizations, taking derivatives and integrals, solving equations, computation of probabilities and percentage points for standard distributions, loading data from csv/tsv and computing descriptive statistics
Course Contents

Course Contents

  • First steps in IPython
  • Language basic constructions
  • Numpy and Scipy packages
  • Pandas dataframes
Assessment Elements

Assessment Elements

  • non-blocking midterm
  • non-blocking online automatic tests progress
  • non-blocking home-assignment
    (one or two during the course with solution for self-check), not included into grade
Interim Assessment

Interim Assessment

  • 2023/2024 1st module
    0.7 * midterm + 0.3 * online automatic tests progress
Bibliography

Bibliography

Recommended Core 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

Recommended Additional Bibliography

  • Downey, A. (2015). Think Python : How to Think Like a Computer Scientist (Vol. Second edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1105725

Authors

  • ZASORIN ALEKSANDR IGOREVICH