Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bylotonix/dsba-contests-python
Solutions for the DSBA Python Contests
https://github.com/bylotonix/dsba-contests-python
Last synced: about 2 months ago
JSON representation
Solutions for the DSBA Python Contests
- Host: GitHub
- URL: https://github.com/bylotonix/dsba-contests-python
- Owner: ByloTonix
- Created: 2024-10-03T17:22:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T13:07:37.000Z (3 months ago)
- Last Synced: 2024-10-28T16:39:30.744Z (3 months ago)
- Language: Python
- Size: 75.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Python Programming DSBA 2023/24
This repository contains materials, notes, and tasks for the Python Programming course at DSBA, 2023/24.
## Table of Contents
1. [Contests](#contests)
- [Contest Restrictions](#contest-restrictions)
2. [Grades](#grades)
3. [Lecture Notes](#lecture-notes)
4. [Workshop Notes](#workshop-notes)
5. [Project](#project)
6. [Syllabus](#syllabus)## Contests
| Contest | Deadline | Topic |
|------------|-------------------------|--------------------------|
| [Contest 1](https://official.contest.yandex.ru/contest/52133/enter/) | 24 sep 2023, 23:59:59 | Arithmetics |
| [Contest 2](https://official.contest.yandex.ru/contest/52153/enter/) | 1 oct 2023, 23:59:59 | While, float, strings |
| [Contest 3](https://official.contest.yandex.ru/contest/52941/enter/) | 9 oct 2023, 23:59:59 | Lists and tuples |
| [Contest 4](https://official.contest.yandex.ru/contest/53475/enter/) | 16 oct 2023, 23:59:59 | Functions |
| [Contest 5](https://official.contest.yandex.ru/contest/53874/enter/) | 23 oct 2023, 23:59:59 | Sets and dictionaries |
| [Contest 6](https://official.contest.yandex.ru/contest/54226/enter/) | 6 nov 2023, 23:59:59 | Sorting and searching |
| [Contest 7](https://official.contest.yandex.ru/contest/56807/enter/) | 11 dec 2023, 23:59:59 | Algorithms and data structures |
| [Contest 8](https://official.contest.yandex.ru/contest/57220/enter/) | 16 dec 2023, 23:59:59 | Functional programming |### Contest Restrictions
Each contest has specific restrictions to follow:
- **Contest 1:**
- Task #18: Only use `+`, `-`, `*`, `/`, `//`, `%`, `**`
- **Contest 2:**
- Task #11: No conditionals or loops
- Task #13: No conditionals or loops
- Task #17: No loops, no `.count()`
- **Contest 3:**
- Task #10: Do not modify the initial list
- Task #11: Must modify the initial list
- Task #15: Modify the initial list, no additional lists
- Task #16: Modify the initial list, no additional lists, no `.insert()`
- Task #20: Only one pass through the list
- **Contest 4:**
- Ensure function names, parameters, and return types match problem statements
- Task #9, #10: Complexity O(√n)
- Task #12: Only use `+1` and `-1`, no loops
- Task #13: Complexity O(log(n))
- Task #18, #19: Do not use lists or strings
- **Contest 5:** No special requirements
- **Contest 6:**
- Task #1: Do not modify the initial list, no additional lists, one pass through the list only
- Task #3, #4: Complexity O(n)
- Task #5: Implement `count_sort(A)` modifying the list; no built-in sorting functions
- Task #10: Complexity O(len(A) + len(B)), no built-in sorting functions
- Task #11, #12, #13: Do not store file content in memory
- **Contest 7:** No special requirements
- **Contest 8:** Tasks should be done using functional programming## Grades
- Contest 1 - 20/20
- Contest 2 - 19/20 (problem 17 - in this problem you were not allowed to use both for-loops and the count() method)
- Contest 3 - 20/20
- Contest 4 - 20/20
- Contest 5 - 13/13
- Contest 6 - 13/15 (problem 3 and 4 - .sort() is O(nlogn))
- Contest 7 - 6/6
- Contest 8 - 9/9## Lecture Notes
| Date | Lecture | Topic |
|-----------|--------------|---------------------------------------|
| 11 sep | [Lecture 1](https://drive.google.com/file/d/1c4WKykTCu_6oHszQv0Gil7EhC1BfMo3W/view?usp=sharing) | Introduction |
| 18 sep | [Lecture 2](https://drive.google.com/file/d/1tYi02lfKegixiBfGvDNQTgOi2mEveRnr/view?usp=sharing) | Numeral systems, Real numbers, Strings|
| 25 sep | [Lecture 3](https://drive.google.com/file/d/1uyDea3oe3Nwok8DLsyMJ2LEi1Lh_pmHT/view?usp=sharing) | Lists and tuples |
| 2 oct | [Lecture 4](https://drive.google.com/file/d/17avfsO2VORhY8TBEHjE1Wf54BL6MDTk3/view?usp=sharing) | Functions and recursion |
| 16 oct | [Lecture 5](https://drive.google.com/file/d/1gUSSwxaIy2Oh11ka6p1-SHOkyS3a27hG/view?usp=sharing) | Sorting and searching algorithms |
| 6 nov | [Lecture 6](https://drive.google.com/file/d/1fBE_QQpXXuSEUVm5YHM0Ciyu5SD7ZJa2/view?usp=sharing) | NumPy and Pandas |
| 13 nov | [Lecture 7](https://drive.google.com/file/d/1IdkLlz0fdCweOxpk5Vn4YaHYqBStXfLL/view?usp=sharing) | Data visualization |
| 27 nov | [Lecture 8](https://drive.google.com/file/d/1IYR9HbD5im6VvHO_hfHFVVf_LnbNHyjq/view?usp=sharing) | Data structures: Stack, Queue, Graphs|
| 4 dec | [Lecture 9](https://drive.google.com/file/d/1ddigf0sO6gWbONbWYSXSeJBGeDcPcXrN/view?usp=sharing) | Functional programming |## Workshop Notes
- [**Workshop 1**: Introduction](https://drive.google.com/file/d/1dCpdCjHx4TyluhPDnJtkKrcT3rCS7C9x/view?usp=sharing)
- [**Workshop 2**: Numeral systems](https://drive.google.com/file/d/1No9ZnP-sQx6m4M-naezzWYsevSvrOIr6/view?usp=sharing)
- [**Workshop 3**: Float and Strings](https://drive.google.com/file/d/1XUEBYFAPvL1KGct5Pu0lW7j6wClbaqO1/view?usp=sharing)
- [**Workshop 4**: Strings](https://drive.google.com/file/d/1YC67EjbRtLDieTZp8ejffL5lpm9aRhgP/view?usp=sharing)
- [**Workshop 5**: Lists and tuples](https://drive.google.com/file/d/1e_Rr-QA0QpdGramChDmnFan5RaX01PdM/view?usp=sharing)
- [**Workshop 6**: Lists and tuples](https://drive.google.com/file/d/1Q613DRQC0K82mME8_s9BaHgj6KPip1ZS/view?usp=sharing)
- [**Workshop 7-8**: Functions and recursion](https://drive.google.com/file/d/1cv8E-o68qrjqPUJ4W3jvIILBByzQ5TEs/view?usp=sharing)
- [**Workshop 9**: Sets and dictionaries](https://drive.google.com/file/d/1ZiWaE6rk9Y-5glXiAu5FE2FOxSCUnsna/view?usp=sharing)
- [**Workshop 10**: Sets and dictionaries](https://drive.google.com/file/d/1fLfU1FdOQDQu5YG-lyIFkTIA2FtqLNjt/view?usp=sharing)
- [**Workshop 11**: Sort and search](https://drive.google.com/file/d/1_z0f8EO5ZhtYA0UBm0rUSiFeUo-vZy2h/view?usp=sharing)
- [**Workshop 12**: Files, exceptions, and errors](https://drive.google.com/file/d/108tA9g7nhwU8AbqQX-2PiWAayZ_aNlZJ/view?usp=sharing)
- [**Workshop 13**: NumPy](https://colab.research.google.com/drive/1koAMZOlmZjcjsQdbW9hKnq0PE_5BAPhj?usp=share_link)
- [**Workshop 14**: Pandas](https://drive.google.com/file/d/1-G5HFY3I7hTFNuaW0nMDUXu8Bs-ytSrK/view?usp=share_link)
- [**Workshop 15**: Visualization](https://drive.google.com/file/d/1mkNxs0bgWbR9DncjpXZPa7K_15w0e0-s/view?usp=sharing)## Project
[My course project](https://github.com/ByloTonix/crime-stats)
## Syllabus
You can find the full syllabus [here](https://www.hse.ru/ba/data/courses/848422882.html).