• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Bachelor 2024/2025

Programming in Python

Area of studies: Foreign Regional Studies
When: 1 year, 3, 4 module
Mode of studies: offline
Open to: students of one campus
Language: English
ECTS credits: 3

Course Syllabus

Abstract

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

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

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 basic data manipulation
  • 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

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)
  • Data types: sets and dictionaries.
  • Nested Structures
  • MIDTERM
  • Functions
  • Working with text files in Python. Regular expressions.
  • Working with structured files in Python.
Assessment Elements

Assessment Elements

  • non-blocking 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 to the Student Service Center 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.3 points grade without compromise.
  • non-blocking 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.
  • non-blocking In-class Assignments
    There will be in-class assignments with Python problems sets. Solutions should be submitted via Smart LMS platform and graded automatically.
  • non-blocking Quizzes
    There will be short in-class quizzes distributed throughout the course. 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.
  • non-blocking Midterm Test
    There will be a midterm test at the beginning of the module 4. The test will be conducted via Smart LMS platform. 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 a few weeks in advance. The grade for the test is from 0 to 10.
  • non-blocking Oral Survey
    The oral survey of studied topics of programming in Python until dictionaries included. The oral survey will consist of 3 consecutive rounds. If a student does not pass the previous round, they cannot advance to the next.
  • non-blocking Exam (Project Defence)
    At the end of the course, students will have to participate in the group project. Groups will consist of 2-3 students. Students will have 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. The total grade will consist of a grade for the written part and a grade for the Q&A part.
Interim Assessment

Interim Assessment

  • 2024/2025 4th module
    min(0 * Attendance + 0.15 * Seminar Participation + 0.075 * In-class Assignments + 0.075 * Quizzes + 0.3 * Midterm Test + 0.2 * Oral Survey + 0.2 * Exam (Project Defence), 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

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

Authors

  • ROGOVICH TATYANA VLADIMIROVNA
  • Karpov Maksim Evgenevich