Python Programming DSBA 2023/24

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

In case you find any inconsistencies on this page, please, contact @l_AnnaPronina_l.

Teachers and assistants

Group 231 232 233 234 235
Lecturer Voznesenskaya T.V.

tvoznesenskaya@hse.ru , tg: @tvozn

Workshop Instructor 231-1:
Rudakov K.A.
tg: @ArcticBEARD

231-2:
Smirnov I.V.
tg: @JanKrig
232-1:
Rudakov K.A.
tg: @ArcticBEARD

232-2:
Smirnov I.V.
tg: @JanKrig
233-1, 233-2:
 Kopylov I.S.
tg: @DanielWalker
234-1:
Dovgopolyi I.A.
tg: @TriariiMisha

234-2:
Ivanov A.P.
tg: @Olenek0
235-1, 235-2:
Rudakov K.A.
tg: @ArcticBEARD
Teaching Assistant 231-1:
Pronina Anna
tg: @l_AnnaPronina_l

231-2:
Kulakov Denis
tg: @Kulakov_Denis
232-1:
Pronina Anna
tg: @l_AnnaPronina_l

232-2:
Kulakov Denis
tg: @Kulakov_Denis
233-1, 233-2:
Shakhmin Pavel
tg: @rotanimoddFPV
234-1, 234-2:
Argirov George
tg: @gotchaya
235-1, 235-2:
Valami Benyamin
tg: @MaxmilesV
Head TA Pronina Anna
tg: @l_AnnaPronina_l

Grading system

caption

Contests

Contest Deadline Topic
Contest 1 24 sep 2023, 23:59:59 Arithmetics
Contest 2 1 oct 2023, 23:59:59 While, float, strings
Contest 3 9 oct 2023, 23:59:59 Lists and tuples
Contest 4 16 oct 2023, 23:59:59 Functions
Contest 5 23 oct 2023, 23:59:59 Sets and dictionaries
Contest 6 6 nov 2023, 23:59:59 Sorting and searching
Contest 7 11 dec 2023, 23:59:59 Algorithms and data structures
Contest 8 16 dec 2023, 23:59:59 Functional programming

Contest Restrictions

Contest Special Requirements
Contest 1

#18: use +, -, *, /, //, %, ** only

Contest 2

#11: do not use conditionals, do not use loops
#13: do not use conditionals, do not use loops
#17: do not use loops, do not use .count()

Contest 3

#10: do not change the initial list
#11: it is a must to change the initial list
#15: it is a must to change initial list, do not use additional lists
#16: it is a must to change initial list, do not use additional lists, do not use .insert()
#20: one pass through the list only

Contest 4

In all problems of this contest, please, make sure that the function's name,
parameters and return type correspond to the problem statement
#9: complexity O(sqrt(n))
#10: complexity O(sqrt(n))
#11: do not use pow(), do not use **
#12: use +1 and -1 only, do not use loops
#13: complexity O(log(n))
#16: do not use loops
#18: do not use lists, strings or similar data structures
#19: do not use lists, strings or similar data structures

Contest 5

no special requirements

Contest 6

#1: do not change initial list, do not use additional lists, one pass through the list only
#3: complexity O(n)
#4: complexity O(n)
#5: function count_sort(A), which modifies the list passed to it, do not use in-built sorting functions/methods
#10: do not change initial lists, complexity O(len(A)+len(B)), do not use in-built sorting functions/methods
#11: do not store the content of the file in memory
#12: do not store the content of the file in memory
#13: do not store the content of the file in memory

Contest 7

no special requirements

Contest 8

the contest tasks are to be done using functional programming

Defences

You may be asked to defend your HW solutions. This means that you are invited to discuss what you have done in your work with a seminar instructor or a TA. The defenses take places offline, the time is scheduled independently each time with consideration of the both sides’ timetables. You will be notified about the upcoming event in the direct messages in Telegram.

During the defence you may be asked to:

  • explain your solution
  • modify your code with correspondence to some new conditions stated by the instructor/assistant
  • solve the same or a similar problem either on paper or in IDE - it is up to the instructor/assistant’s choice
  • identify (recognize) your solution among some others
  • etc.

Please, take into account that if you do no show up on the defense, you automatically get 0 points for the contest that was about to be discussed.

Grades

The results table with all your grades can be found by this link.

Lecture notes

Date Lecture Topic
11 sep Lecture 1 Introduction
18 sep Lecture 2 Numeral systems. Real numbers. Strings
25 sep Lecture 3 Lists and tuples
2 oct Lecture 4 Functions and recursion
16 oct Lecture 5 Sorting and searching algorithms
6 nov Lecture 6 NumPy and Pandas
13 nov Lecture 7 Data visualization
13 nov Notebook
Dataset
The Titanic example
27 nov Lecture 8 Data structures: Stack, Queue, Deque. Graphs.
4 dec Lecture 9 Functional programming

Workshop notes

Workshop 1: Introduction
Workshop 2: Numeral systems
Workshop 3: Float and Strings
Workshop 4: Strings
Workshop 5: Lists and tuples
Workshop 6: Lists and tuples
Workshops 7-8: Functions and recursion
Workshop 9: Sets and dictionaries
Workshop 10: Sets and dictionaries
Workshop 11: Sort and search
Workshop 12: Files, exceptions and errors
Workshop 13: NumPy
Workshop 14: Pandas
Workshop 15: Visualization

Control work

The midterm will be conducted on Monday, October 23, at 18:10 in the offline format.

All the details you can find here.

Project

All the information regarding your course project can be found by accessing this page.

Exam

The exam will be conducted on Thursday, December 21, at 13:00 in the offline format.

All the details you can find here.

Syllabus

https://www.hse.ru/ba/data/courses/848422882.html