Python Programming DSBA 2023/24 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м
м
 
(не показаны 34 промежуточные версии 3 участников)
Строка 11: Строка 11:
 
|-  
 
|-  
 
|| Workshop Instructor  
 
|| Workshop Instructor  
|| 231-1: <br> [https://www.hse.ru/org/persons/65846258 Rudakov K.A.] <br> tg: [https://t.me/ArcticBEARD @ArcticBEARD]  <br><br> 231-2: <br> Smirnov I.V. <br> tg: [https://t.me/JanKrig @JanKrig]
+
|| 231-1: <br> [https://www.hse.ru/org/persons/65846258 Rudakov K.A.] <br> tg: [https://t.me/ArcticBEARD @ArcticBEARD]  <br><br> 231-2: <br> [https://www.hse.ru/org/persons/863761957 Smirnov I.V.] <br> tg: [https://t.me/JanKrig @JanKrig]
|| 232-1: <br> [https://www.hse.ru/org/persons/65846258 Rudakov K.A.] <br> tg: [https://t.me/ArcticBEARD @ArcticBEARD] <br><br> 232-2: <br> Smirnov I.V. <br> tg: [https://t.me/JanKrig @JanKrig]
+
|| 232-1: <br> [https://www.hse.ru/org/persons/65846258 Rudakov K.A.] <br> tg: [https://t.me/ArcticBEARD @ArcticBEARD] <br><br> 232-2: <br> [https://www.hse.ru/org/persons/863761957 Smirnov I.V.] <br> tg: [https://t.me/JanKrig @JanKrig]
|| 233-1, 233-2: <br> Kopylov I.S. <br> tg: [https://t.me/DanielWalker @DanielWalker] <br>
+
|| 233-1, 233-2: <br>  [https://www.hse.ru/org/persons/863761973?ysclid=lnmyq0a9cw303039182 Kopylov I.S.] <br> tg: [https://t.me/DanielWalker @DanielWalker] <br>
|| 234-1:<br>  Dovgopolyi I.A. <br> tg: [https://t.me/TriariiMisha @TriariiMisha] <br><br> 234-2: <br> Ivanov A.P. <br> tg: [https://t.me/Olenek0 @Olenek0]<br>
+
|| 234-1:<br>  Dovgopolyi I.A. <br> tg: [https://t.me/TriariiMisha @TriariiMisha] <br><br> 234-2: <br> [https://www.hse.ru/org/persons/305080854?ysclid=lnswey1uk8899184089 Ivanov A.P.] <br> tg: [https://t.me/Olenek0 @Olenek0]<br>
 
|| 235-1, 235-2: <br> [https://www.hse.ru/org/persons/65846258 Rudakov K.A.] <br> tg: [https://t.me/ArcticBEARD @ArcticBEARD] <br>
 
|| 235-1, 235-2: <br> [https://www.hse.ru/org/persons/65846258 Rudakov K.A.] <br> tg: [https://t.me/ArcticBEARD @ArcticBEARD] <br>
 
|-  
 
|-  
Строка 30: Строка 30:
  
 
== Grading system ==
 
== Grading system ==
[[Файл:FormulaPython2023.jpeg||800px|caption]]
+
[[Файл:formula_Python_2023_new.png||800px|caption]]
  
 
== Contests ==
 
== Contests ==
Строка 36: Строка 36:
 
{| class="wikitable" style="text-align:center"
 
{| class="wikitable" style="text-align:center"
 
|-
 
|-
! Contest !! Deadline !! Topic  
+
! Contest !! Deadline !! Topic
 
|-
 
|-
 
|| [https://official.contest.yandex.ru/contest/52133/enter/ Contest 1] || 24 sep 2023, 23:59:59  || Arithmetics
 
|| [https://official.contest.yandex.ru/contest/52133/enter/ Contest 1] || 24 sep 2023, 23:59:59  || Arithmetics
Строка 43: Строка 43:
 
|-
 
|-
 
|| [https://official.contest.yandex.ru/contest/52941/enter/ Contest 3] || 9 oct 2023, 23:59:59  || Lists and tuples
 
|| [https://official.contest.yandex.ru/contest/52941/enter/ Contest 3] || 9 oct 2023, 23:59:59  || Lists and tuples
 +
|-
 +
|| [https://official.contest.yandex.ru/contest/53475/enter/ Contest 4] || 16 oct 2023, 23:59:59  || Functions
 +
|-
 +
|| [https://official.contest.yandex.ru/contest/53874/enter/ Contest 5] || 23 oct 2023, 23:59:59  || Sets and dictionaries
 +
|-
 +
|| [https://official.contest.yandex.ru/contest/54226/enter/ Contest 6] || 6 nov 2023, 23:59:59  || Sorting and searching
 +
|-
 +
|| [https://official.contest.yandex.ru/contest/56807/enter/ Contest 7] || 11 dec 2023, 23:59:59  || Algorithms and data structures
 +
|-
 +
|| [https://official.contest.yandex.ru/contest/57220/enter/ Contest 8] || 16 dec 2023, 23:59:59  || Functional programming
 
|}
 
|}
 +
 +
=== Contest Restrictions ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Contest !! Special Requirements
 +
|-
 +
|| Contest 1 ||
 +
'''#18:''' use +, -, *, /, //, %, ** only
 +
|-
 +
|| Contest 2 ||
 +
'''#11:''' do not use conditionals, do not use loops <br>
 +
'''#13:''' do not use conditionals, do not use loops <br>
 +
'''#17:''' do not use loops, do not use .count()
 +
|-
 +
|| Contest 3 ||
 +
'''#10:''' do not change the initial list <br>
 +
'''#11:''' it is a must to change the initial list <br>
 +
'''#15:''' it is a must to change initial list, do not use additional lists <br>
 +
'''#16:''' it is a must to change initial list, do not use additional lists, do not use .insert() <br>
 +
'''#20:''' one pass through the list only
 +
|-
 +
|| Contest 4 ||
 +
In all problems of this contest, please, make sure that the function's name, <br>
 +
parameters and return type correspond to the problem statement <br>
 +
'''#9:''' complexity O(sqrt(n)) <br>
 +
'''#10:''' complexity O(sqrt(n)) <br>
 +
'''#11:''' do not use pow(), do not use ** <br>
 +
'''#12:''' use +1 and -1 only, do not use loops <br>
 +
'''#13:''' complexity O(log(n)) <br>
 +
'''#16:''' do not use loops <br>
 +
'''#18:''' do not use lists, strings or similar data structures <br>
 +
'''#19:''' do not use lists, strings or similar data structures <br>
 +
|-
 +
|| Contest 5 ||
 +
no special requirements
 +
|-
 +
|| Contest 6 ||
 +
'''#1:''' do not change initial list, do not use additional lists, one pass through the list only <br>
 +
'''#3:''' complexity O(n) <br>
 +
'''#4:''' complexity O(n) <br>
 +
'''#5:''' function count_sort(A), which modifies the list passed to it, do not use in-built sorting functions/methods <br>
 +
'''#10:''' do not change initial lists, complexity O(len(A)+len(B)), do not use in-built sorting functions/methods <br>
 +
'''#11:''' do not store the content of the file in memory <br>
 +
'''#12:''' do not store the content of the file in memory <br>
 +
'''#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 ==
 
== Grades ==
Строка 57: Строка 133:
 
| 11 sep || [https://drive.google.com/file/d/1c4WKykTCu_6oHszQv0Gil7EhC1BfMo3W/view?usp=sharing Lecture 1] ||  Introduction
 
| 11 sep || [https://drive.google.com/file/d/1c4WKykTCu_6oHszQv0Gil7EhC1BfMo3W/view?usp=sharing Lecture 1] ||  Introduction
 
|-
 
|-
| 11 sep || [https://drive.google.com/file/d/1tYi02lfKegixiBfGvDNQTgOi2mEveRnr/view?usp=sharing Lecture 2] || Numeral systems. Real numbers. Strings
+
| 18 sep || [https://drive.google.com/file/d/1tYi02lfKegixiBfGvDNQTgOi2mEveRnr/view?usp=sharing Lecture 2] || Numeral systems. Real numbers. Strings
 
|-
 
|-
 
| 25 sep || [https://drive.google.com/file/d/1uyDea3oe3Nwok8DLsyMJ2LEi1Lh_pmHT/view?usp=sharing Lecture 3] || Lists and tuples
 
| 25 sep || [https://drive.google.com/file/d/1uyDea3oe3Nwok8DLsyMJ2LEi1Lh_pmHT/view?usp=sharing Lecture 3] || Lists and tuples
 +
|-
 +
| 2 oct || [https://drive.google.com/file/d/17avfsO2VORhY8TBEHjE1Wf54BL6MDTk3/view?usp=sharing Lecture 4] || Functions and recursion
 +
|-
 +
| 16 oct || [https://drive.google.com/file/d/1gUSSwxaIy2Oh11ka6p1-SHOkyS3a27hG/view?usp=sharing Lecture 5] || Sorting and searching algorithms
 +
|-
 +
| 6 nov || [https://drive.google.com/file/d/1fBE_QQpXXuSEUVm5YHM0Ciyu5SD7ZJa2/view?usp=sharing Lecture 6] || NumPy and Pandas
 +
|-
 +
| 13 nov || [https://drive.google.com/file/d/1IdkLlz0fdCweOxpk5Vn4YaHYqBStXfLL/view?usp=sharing Lecture 7] || Data visualization
 +
|-
 +
| 13 nov || [https://drive.google.com/file/d/1RhwsgnD7uOcd2TCADXyL71VL4ioMilWF/view?usp=sharing Notebook] <br> [https://drive.google.com/file/d/1ovJpzd-QfFA0mAmNyodOHO6PEOSfkirE/view?usp=sharing Dataset] || The Titanic example
 +
|-
 +
| 27 nov || [https://drive.google.com/file/d/1IYR9HbD5im6VvHO_hfHFVVf_LnbNHyjq/view?usp=sharing Lecture 8] || Data structures: Stack, Queue, Deque. Graphs.
 +
|-
 +
| 4 dec || [https://drive.google.com/file/d/1ddigf0sO6gWbONbWYSXSeJBGeDcPcXrN/view?usp=sharing Lecture 9] || Functional programming
 
|}
 
|}
  
Строка 65: Строка 155:
  
 
[https://drive.google.com/file/d/1dCpdCjHx4TyluhPDnJtkKrcT3rCS7C9x/view?usp=sharing Workshop 1: Introduction] <br>
 
[https://drive.google.com/file/d/1dCpdCjHx4TyluhPDnJtkKrcT3rCS7C9x/view?usp=sharing Workshop 1: Introduction] <br>
[https://drive.google.com/file/d/1No9ZnP-sQx6m4M-naezzWYsevSvrOIr6/view?usp=sharing Workshop 2.1: Numeral systems] <br>
+
[https://drive.google.com/file/d/1No9ZnP-sQx6m4M-naezzWYsevSvrOIr6/view?usp=sharing Workshop 2: Numeral systems] <br>
[https://drive.google.com/file/d/1dCpdCjHx4TyluhPDnJtkKrcT3rCS7C9x/view?usp=sharing Workshop 2.2: Conditions and Loops] <br>
+
[https://drive.google.com/file/d/1XUEBYFAPvL1KGct5Pu0lW7j6wClbaqO1/view?usp=sharing Workshop 3: Float and Strings] <br>
[https://drive.google.com/file/d/1g9BG5qBMMAi1O21wLeQ8GG_2ayJqZ6L5/view?usp=sharing Workshop 3: Float and Strings] <br>
+
[https://drive.google.com/file/d/1YC67EjbRtLDieTZp8ejffL5lpm9aRhgP/view?usp=sharing Workshop 4: Strings] <br>
[https://drive.google.com/file/d/1oqBEsxGT_GxXAyCihOJ18j5SOh5AcmNL/view?usp=sharing Workshop 4: Strings] <br>
+
[https://drive.google.com/file/d/1e_Rr-QA0QpdGramChDmnFan5RaX01PdM/view?usp=sharing Workshop 5: Lists and tuples] <br>
 +
[https://drive.google.com/file/d/1Q613DRQC0K82mME8_s9BaHgj6KPip1ZS/view?usp=sharing Workshop 6: Lists and tuples] <br>
 +
[https://drive.google.com/file/d/1cv8E-o68qrjqPUJ4W3jvIILBByzQ5TEs/view?usp=sharing Workshops 7-8: Functions and recursion] <br>
 +
[https://drive.google.com/file/d/1ZiWaE6rk9Y-5glXiAu5FE2FOxSCUnsna/view?usp=sharing Workshop 9: Sets and dictionaries] <br>
 +
[https://drive.google.com/file/d/1fLfU1FdOQDQu5YG-lyIFkTIA2FtqLNjt/view?usp=sharing Workshop 10: Sets and dictionaries] <br>
 +
[https://drive.google.com/file/d/1_z0f8EO5ZhtYA0UBm0rUSiFeUo-vZy2h/view?usp=sharing Workshop 11: Sort and search] <br>
 +
[https://drive.google.com/file/d/108tA9g7nhwU8AbqQX-2PiWAayZ_aNlZJ/view?usp=sharing Workshop 12: Files, exceptions and errors] <br>
 +
[https://colab.research.google.com/drive/1koAMZOlmZjcjsQdbW9hKnq0PE_5BAPhj?usp=share_link Workshop 13: NumPy] <br>
 +
[https://drive.google.com/file/d/1-G5HFY3I7hTFNuaW0nMDUXu8Bs-ytSrK/view?usp=share_link Workshop 14: Pandas] <br>
 +
[https://drive.google.com/file/d/1mkNxs0bgWbR9DncjpXZPa7K_15w0e0-s/view?usp=sharing Workshop 15: Visualization] <br>
  
 
==Control work==
 
==Control work==
 +
 +
The midterm will be conducted on '''Monday, October 23, at 18:10''' in the '''offline''' format.
 +
 +
All the details you can find [[Python Programming DSBA 2023/24 / Midterm|here]].
  
 
== Project ==
 
== Project ==
 +
 +
All the information regarding your course project can be found by accessing [[Python Programming DSBA 2023/24 / Project|this page]].
  
 
== Exam ==
 
== Exam ==
 +
 +
The exam will be conducted on '''Thursday, December 21, at 13:00''' in the '''offline''' format.
 +
 +
All the details you can find [[Python Programming DSBA 2023/24 / Exam|here]].
  
 
== Syllabus ==   
 
== Syllabus ==   
 
https://www.hse.ru/ba/data/courses/848422882.html
 
https://www.hse.ru/ba/data/courses/848422882.html

Текущая версия на 12:16, 20 декабря 2023

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