This is a required course for students of all undergraduate programs at HSE University. The course provides students with basic knowledge of programming for routine tasks automation and data gathering. Via this course, students will also build a solid basis in programming that will be a prerequisite for a statistics course in the second year. The course consists of two parts. In the first part, students will get familiar with basic Python data types and syntax structure. The second part of the course introduces some more complex Python structures and looks into the Python applications for file manipulations. Students achieve excellent results by doing a considerable amount of practical exercises both in class and at home and taking part in group projects.
Learning Objectives
Students achieve excellent results by doing a considerable amount of practical exercises both in class and at home and taking part in group projects
Expected Learning Outcomes
Know and differentiate basic Python data types. Choose the correct data types based on the problem in hand
Know and understand basic Python syntax
Load and use additional Python modules
Solve not complex algorithmic problems using Python
Use cloud-based IDE Google Colaboratory or similar
Use Python for data gathering and cleaning (web-scraping, parsing)
Use Python for routine tasks automation
Use Python to read and write structured and unstructured files
Write their own functions
Use local-based IDE Jupyter Notebook or similar
Course Contents
Intro and logistics. Jupyter Notebook First program.
Data types: integers and strings. Input and output. Strings formatting.
Data types: floating-point numbers and boolean. Logical operators. Conditionals.
While loop.
Data types: lists and tuples. For loop.
For Loop (2nd Part)
Problem-solving seminar
Methods I (Strings)
Methods II (Lists)
Review I.
MIDTERM
Data types: sets and dictionaries.
Nested Structures
Functions
Working with text files in Python. Regular expressions.
Working with structured files in Python.
Review II
TEST
Assessment Elements
Attendance
Two absences without a valid reason are excused during the semester. In case of the student’s absence for a valid reason, the student must provide a valid Certificate of Illness/Medical Note in the span of 1 working day since the end of their sick leave, else their absence will be counted without a valid reason. Each additional absence beyond the allowed number will lower the final grade for the course by 0.1 point grade without compromise.
Midterm Test
The test will be conducted at the Smart LMS course page with Safe Exam Browser. The test will consist of 10 coding problems. The midterm test will cover topics up to the Nested Structures. A Mock Test will be published in advance. The grade for the test is from 0 to 10.
Final Test
The test will be conducted at the Smart LMS course page with Safe Exam Browser. The test will consist of 10 coding problems. A Mock Test will be published in advance. The grade for the test is from 0 to 10.
Exam
At the end of the course, students will be suggested to participate in the group project. Groups will consist of 2-3 students. Students will need to submit their code and project description and then defend it at the exam. Students will be asked questions about the code they have submitted and also theoretical questions devoted to the studied topics of programming in Python. The total grade will consist of a grade for the written part and a grade for the Q&A part.
In-class Assignments
There will be in-class assignments with Python problems sets. Solutions should be submitted via Smart LMS platform using Safe Exam Browser and graded automatically. There is no retake for in-class assignments. One lowest in-class assignment grade will be not taken into account.
Seminar Participation
To get full mark for the participation, a student needs to actively participate in the class discussions, to demonstrate familiarity with assigned readings and lecture material, to comment on a home assignment, including being prepared to answer the questions that the instructor may pose. There is no retake for seminar participation.
Quizzes
There will be short in-class quizzes distributed throughout the course in Smart LMS using Safe Exam Browser. Each quiz will take 5-10 minutes and will cover the material of the previous weeks. Question types might be a multiple-choice or a short answer. There is no retake for quizzes. One lowest quiz grade will be not taken into account.
Interim Assessment
2025/2026 4th module
min(0 * Attendance + 0.2 * Seminar Participation + 0.05 * In-class Assignments + 0.05 * Quizzes + 0.25 * Midterm Test + 0.25 * Final test + 0.2 * Exam, 8). Remark: In accordance with the Regulations for Interim and Ongoing Assessments of Students at HSE University, grades awarded on the basis of interim assessment outcomes of the discipline-prerequisites for the independent exam on digital competency may not exceed 8 points.
Bibliography
Recommended Core Bibliography
Ben Stephenson. (2019). The Python Workbook : A Brief Introduction with Exercises and Solutions (Vol. 2nd ed. 2019). Springer.
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
Severance, C. (2016). Python for Everybody : Exploring Data Using Python 3. Place of publication not identified: Severance, Charles. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsotl&AN=edsotl.OTLid0000336
Recommended Additional Bibliography
Ivan Idris - Python Data Analysis - Packt Publishing, Limited , 2014-430 - Текст электронный - https://ebookcentral.proquest.com/lib/hselibrary-ebooks/detail.action?docID=1826990
Преподаватели
Васильев Николай Николаевич
Карпов Максим Евгеньевич
Сохраби Маджид
Course Syllabus
Abstract
Learning Objectives
Expected Learning Outcomes
Course Contents
Assessment Elements
Interim Assessment
Bibliography
Recommended Core Bibliography
Recommended Additional Bibliography
Authors