Introduction to Programming DSBA 2021/2022
Содержание
Notifications
Teachers and assistants
Group | 211 | 212 | 213 | 214 | |
---|---|---|---|---|---|
Lecturer | Voznesenskaya T.V.
tvoznesenskaya@hse.ru , tg: @tvozn | ||||
Workshop Instructor | 211 - 1: Piatskii G.G. piatskgeorge@mail.ru, tg: @p_george 211 - 2: Rudakov K.A. |
212 - 1: Rudakov K.A. rudakovkirillx@gmail.com , tg: @ArcticBEARD 212 - 2: Zhulikov G. |
213 - 1: Zhulikov G. l8doku@gmail.com , tg: @l8doku 213 - 2: Zhulikov G. |
214 - 1: Ahremenko A. chuvilinaann@list.ru, tg: @chuvilinaann 214 - 2: Maksimova D. | |
Assistant | Chechulin N., tg: @nchechulin | Abramov N., tg: @sad_0_me | Gadaev I., tg: @god_flask | Belyakov K., tg: @ArcticBEARD | |
Sadullaev M., tg: @samiysamiytochniy |
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.
Сontrol work
The control work will take place on Monday, 08.11 at 12.50 in an online format using asynchronous proctoring
The contest will start at 13.00. At 12.50 in the zoom on the lecture link there will be an instruction. Also, this zoom will be used to be able to ask a question or make an announcement during the test.
You will have 5 problems for 80 minutes: A, В, С, D - 10 points each, E - 20 points. The points earned on the test are part of Ongoing Assesment.
Students who face any technical problems must alert their seminarist or TA. They will write a supervised test in zoom and should be prepared to further defend their works. Zoom link for such students:https://zoom.us/j/92446507737
All instructions can be read here Rules
Link to the contest: https://official.contest.yandex.com/contest/31178/problems/
Video download link - form [1]
Lecture notes
Lecture 1. Introduction
Lecture 2. Sort & search
Lecture 3. Functional & OOP
Lecture 4. Basic data structures. Graphs.
Workshop notes
Workshop 3.Conditions and loops
Workshop 4.Floating point numbers and strings
Workshop 8.Tasks on lists and tuples
Workshop 10. Tasks on function
Workshop 11.Sets and dictionaries
Workshop 12.Tasks on sets and dictionaries
Homeworks
Contests
Contest | Deadline |
---|---|
Contest 1 | |
Contest 2 | 5 october 2021, 22:00:00 |
Contest 3 | 12 october 2021, 22:00:00 |
Contest 4 | 19 october 2021, 22:00:00 |
Contest 5 | 30 october 2021, 22:00:00 |
Contest 6 | 16 november 2021, 22:00:00 |
Contest 7 (pilot) | 30 november 2021, 22:00:00 |
Results
Project
Deadline: December 12th, 23:59
Submission format: Jupyter Notebook, submit a link to the notebook file and the dataset file via this Google form: https://forms.gle/HmPppnnCpmCx9nZN8
Dataset selection: After you choose a dataset for the project, submit it to this form: https://forms.gle/hQx7fpaneXKgRAJt9
When selecting a dataset, check this table with the form responses to make sure nobody else has picked it. https://docs.google.com/spreadsheets/d/1WQSgOzQdamwSWXexN7EHtVv2sstl6A9yVguQUMCAcZk
Project description: Find a dataset with text data and analyze it the following way.
- Output descriptive statistics of the dataset: mean, median, standard deviation. Do this for at least 3 numerical fields.
- Plot at least 3 numerical fields. Choose the plot type based on the data. It may make more sense to do a scatter plot, a regular plot, a histogram or something else.
- Do at least 2 comparisons similar to the ones in the Titanic example. "What are the distributions of column A for different values of column B?" Output as either numbers or plots.
- Describe your results in 2-3 paragraphs of text. What you can see from the plot, from the statistics and comparisons.
- For pilot students one of the requirements is to set up a web server using the Flask framework. Web Server interface should be one of the following: end users must be able to get required data using get-requests, html page or telegram-bot.
Additional notes:
- Plots for tasks 2 and 3 are counted separately. So, your project has to have at least 5 plots in total.
- Make sure your plots have proper legends, titles, axis titles, so that it’s easy to understand what the graph represents.
- Try to format your project as a sequence of problems you’re solving. What the data looks like, what are some questions you can answer with the data. You should try to make a simple analysis project instead of doing exactly the bare minimum of tasks 1-4.