Introduction to programming DSBA 2020/2021

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Teachers and assistants

Group 201 202 203 204
Lecturer Voznesenskaya T.V. , tg: @tvozn

Workshop Instructor 201 - 1: Piatskii G.G., tg: @p_george

201 - 2: Zhulikov G. , tg: @l8doku

202 - 1: Rudakov K.A. , tg: @ArcticBEARD

202 - 2: Zhulikov G. , tg: @l8doku

203 - 1: Chuvilina A.A. , tg: @chuvilinaann

203 - 2: Rudakov K.A. , tg: @ArcticBEARD

Sysoev M. V., tg: @BartolomeuD

Assistant Diana K., tg: @shadowcure Rustam K., tg: @dergalaktischekaiser Lily K., tg: @lily_kurchenko Sergey G., tg: @SeregaEFD
Jingtao X., tg: @andy0814xu

Grading system

The ultimate grade G for the whole course is calculated as: G = 0.7 · min(P1, P2) + 0.3 · max(P1, P2) where P1 is a first part final grade, and P2 is a second part final grade. Grade G is rounded (up or down) to an integer number of points before entering them into records. P1 and P2 are also rounded.
The final grade P1 for the first part is calculated as follows: P1 = 0.4 · E1 + 0.6 · OA1 where E1 is a grade of the first part exam, which takes place at the end of the quartile 1 (semester A), OA1 is an ongoing assessment grade of the first part (both 10-point scale). The ongoing assessment OA measures participant’s performance throughout all classes and involves various types of activities.
The ongoing assessment grade is accumulated throughout all the classes and is related to a participant’s activity. Every activity is evaluated and grants some points to participants. We consider two sorts of points: 1) regular points (RP) and 2) bonus points (BP). BPs are given for additional efforts and for excellent jobs. RPs and BPs are accumulated during a module. At the end of the module OA is calculated according to the following formula: OA = min([10 · (RP + BP) / RPmax ], 10) where, RPmax denotes the maximum possible number of points that can be taken during the module.
Regular points are granted for contests (1 per task) and quizzes conducted at the lectures (1 per quiz). Bonus points can be granted for activity at almost all workshops and working at the whiteboard at the workshops (the amount of points for such activities are determined by workshop instructors). Non-pilot groups can also earn bonus points by completing extra homework (tasks in the contests marked with * and **), in this case 1 bonus point is granted for every task completed. The amount of bonus points that can be gained during the semester cannot exceed 50 points.

Lecture notes

Lecture 1. Introduction
Lecture 2. Numeral systems. Real numbers.
Lecture 3. Strings. The Zen of Python. PEP-8.
Lecture 4. Lists&tuples
Lecture 5. Functions&recursion
Lecture 6. sets & dictionaries
Lecture 8. files. exceptions & errors
Lecture 9. functional
Lecture 10. OOP
Lecture 11. sort & search
Lecture 12. data structures
lecture 13. Python for data analysis [1] [2] [3]

Workshop notes

Workshop 3_Number systems [4]
Workshop 4_real_strings [5]
Workshop 5_strings [6]
Workshop 6_strings [7]
Workshop 7_lists_tuples [8]
Workshop 8 Tasks on lists & tuples [9]
Workshop 9 Functions & Recursion [10]
Workshop 10 Some more tasks on Functions [11]
Workshop 11 Sets_Dictionaries [12]
Workshop 12 Tasks on sets and dictionaries [13]
Workshop 13 Files_Exceptions_Errors [14]
Workshop 14 Code Style and Code Reading [15]
Workshop 15 Iterators and Generators [16]
Workshop 16 Functional Tasks [17]
Workshop 17 OOP [18]
Workshop 18 OOP_tasks [19]
Workshop 19 Sorting and Searching [20]
Workshop 21 Data Structure [21]
Workshop 22 Graph [22]
Workshop notes as PDF: [23]



Contest Deadline
Contest 1 21 Sep 2020, 23:59:59
Contest 2 28 Sep 2020, 23:59:59
Contest 3 5 Oct 2020, 23:59:59
Contest 4 19 Oct 2020, 23:59:59
Contest 5 26 Oct 2020, 23:59:59
Contest 6 26 Oct 2020, 23:59:59
Contest 7 9 Nov 2020, 23:59:59
Contest 8 16 Nov 2020, 23:59:59
Contest 9 30 Nov 2020, 23:59:59


Table with results

November 14 Test

Before the Test

The test will be held using asynchronous proctoring on November 14, 2020 at 13:00. Here is the zoom link: Meeting ID: 973 2042 8256 Passcode: 645654

This conference will be used for the final briefing and to communicate with teachers during the test if necessary. You can message them in the conference chat. Each student must record the process of completing the assignments using OBS Studio, upload the result to the cloud storage immediately after the quiz and provide a link to the recording. Link to the contest (will be duplicated in the zoom chat):

Students who face any technical problems must alert their TA. They will write a supervised test at zoom and should be prepared to further defend their decisions at: Conference ID: 990 9733 8323 Password: 195557

You will need a computer with a webcam and microphone (the majority of modern laptops have them) and Internet access.
You need to install OBS Studio using the link
You need to record the microphone and webcam input as well as your screen. See instructions in the video:

You can use:

  • The testing system site ( and your solutions of past contests in it.
  • Development environments (installed on a computer ONLY, web IDEs are not allowed)
  • Materials posted on this page
  • Python documentation at

It is prohibited to communicate with other people. Please warn the people around you about this in advance.

Actions you must complete before the test:
  • Disable all messengers in advance and close all unnecessary tabs.
  • Physically disconnect and remove any electronic devices and additional monitors from the workplace.
  • You will not be able to leave your workplace for 1 hour 30 minutes, be ready for that.
  • Enable recording from three sources: screen, webcam and microphone in OBS Studio.
  • Record your workplace from and its surroundings on video.
  • Show the camera the blank pages you plan to use as drafts.
During the Test

On November 14, 2020 at 13.00 enter the zoom using the link that will appear here, higher on this page and in the Telegram chat. Please disable Telegram after receiving the link. We will provide a general briefing. This Zoom conference will be used as a chat to communicate with teachers during the test, if necessary.
Please start recording before you start the test! Students who started recording too late will be disqualified. At 13:15 a contest consisting of 5 problems opens (10 points per problem). The contest closes at 14:45.
When the test is over, you will have half an hour to upload the recorded video. Only the teachers and assistants will view your videos.
Please check that you have learned how to record video in the required format in advance as this can sometimes be problematic. All solutions to problems with recording in OBS Studio can be found online.

Procedure during the test:
  • You should ask any questions via the testing system or via chat in zoom.
  • If you are working with a paper draft, aim the camera so that your hands are visible. Remember to point your webcam at your face when you return to work at your screen.
  • You can receive important announcements from instructors through the testing system. Notifications appear in the upper right corner of the testing system interface.
  • If you want to complete the test ahead of time, message the teacher or a TA using the questions interface in the testing system and complete all the actions that you must perform after the end of the test.
  • If you try to return to the test after sending this message, you will be disqualified.
  • Wearing headphones is prohibited.
After finishing the test:

Within 30 minutes, you must post the video that you recorded during the test in the public domain and submit a link to it in this form:

Don't forget to upload a copy of your document (passport or student ID)

Good luck!


Link TBD