Introduction to Programming DSBA 2022/2023
Содержание
Teachers and assistants
Group | 221 | 222 | 223 | 224 | |
---|---|---|---|---|---|
Lecturer | Voznesenskaya T.V.
tvoznesenskaya@hse.ru , tg: @tvozn | ||||
Workshop Instructor | 221-1: Zhulikov G.A. gzhulikov@hse.ru tg: @l8doku 221-2: Rudakov K.A. |
222-1: Rudakov K.A. rudakovkirillx@gmail.com tg: @ArcticBEARD 222-2: Zhulikov G.A. |
223-1, 223-2: Garshin S.A. sgarshin@hse.ru tg: @SeregaEFD |
224-1, 224-2: Maximova D.M. daria.maximova.m@gmail.com tg: @narretei | |
Assistant | Makarenkov A. tg: @Artem_Makarenkov |
Kulakov D. tg: @Kulakov_Denis |
Shestakov A. tg: @aptemvs |
Fomin G. tg: @Genfom | |
Head TA | Pronina A. tg: @l_AnnaPronina_l |
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 semester exam, OA1 is an ongoing assessment grade of the first semester (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 e.g. 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.
Contests
Contest | Deadline | Topic |
---|---|---|
Contest 1 | 19 sep 2022, 21:00:00 | Basic Operations |
Contest 2 | 3 oct 2022, 23:59:59 | Strings and Loops |
Contest 3 | 10 oct 2022, 23:59:59 | Lists |
Contest 4 | 17 oct 2022, 23:59:59 | Functions and Recursion |
Contest 5 | 31 oct 2022, 23:59:59 | Sets and Dictionaries |
Contest 6 | 14 nov 2022, 23:59:59 | Sorting and Searching |
Contest 7 | 5 dec 2022, 23:59:59 | Graphs |
Contest 8 | 16 dec 2022, 23:59:59 | Functional Programming |
Results
The results table can be found by this link.
Lecture notes
Week 1
Lecture 1: Introduction. Numeral systems. Real numbers
- Introduction to Python (DataCamp) chapter 1: Python basics
- Introduction to CompSci & OOP: Python (Stepik) chapter 1: Introduction: The Nuts & Bolts
- video: Working with Numeric Data
Week 2
Conditionals:
- Intermediate Python (Datacamp) chapter 3: Logic, Control and Filtering
- Introduction to CompSci & OOP: Python (Stepik) chapter Conditionals: Ice Cream Isn’t for Breakfast
Loops:
- Intermediate Python (Datacamp) chapter 4: Loops (excluding NumPy videos)
- Introduction to CompSci & OOP: Python (Stepik) chapter Loops: Breakfast, Lunch, Dinner, Breakfast, Lunch, Din…
Week 3
Strings: Basic Methods
- Basic string methods (W3Schools tutorial)
- video: 31 essential string methods
- video: Built-In String Functions
- video: Working with Textual Data
Week 4
Strings: Formatting
- Python documentation 7.1. Fancier Output Formatting
- String formatting (W3Schools tutorial)
- video: Tutorial: String Formatting
- video: f-Strings and advanced String Formatting
- Cheat Sheet
Lists and Tuples:
- Introduction to CompSci & OOP: Python (Stepik) chapter Data Structures: I’ll have Combo #3, Please!, pt.1–3
- Introduction to Python (DataCamp) chapter 2: Python Lists
- video: Python Tutorial for Beginners part 4: Lists, Tuples, and Sets
- video: How to use lists and tuples effectively?
- Cheat Sheet
Weeks 5-7
Functions and Recursions:
- Introduction to CompSci & OOP: Python (Stepik) chapter Functions: How Do I Stop Rewriting Code?
- Introduction to Python (DataCamp) chapter 3: Functions and Packages (до видео Packages)
- Python Data Science Toolbox (Part 1) (DataCamp) chapter 1: Writing your own functions)
- Ibid., chapter Recursion: Give Me a Minute, I’m Getting a Call from Myself
- Ibid., chapter 2: Default arguments, variable-length arguments and scope
- Ibid., chapter 3: Lambda functions and error-handling (lambda-functions only)
Sets:
- Introduction to CompSci & OOP: Python (Stepik) chapter Data Structures: I’ll have Combo #3, Please!, pt.4
- String formatting (W3Schools tutorial)
- video: Python Tutorial for Beginners part 4: Lists, Tuples, and Sets
- video: Python Tutorial: Sets - Set Methods and Operations to Solve Common Problems
- blog: Real Python: Python Sets
Dictionaries:
- Introduction to CompSci & OOP: Python (Stepik) chapter Data Structures: I’ll have Combo #3, Please!, pt.5
- Intermediate Python (Datacamp) chapter 2: Dictionaries & Pandas (up to the Pandas video, pt.1)
- Dictionaries (W3Schools tutorial)
- video: Python Tutorial for Beginners part 5: Dictionaries: Working with Key-Value Pairs
- blog: Medium: A Complete Guide to Dictionaries in Python
Week 8
Lecture 2: Sorting algorithms. Search algorithms in one-dimensional arrays
Week 9
Lecture 3: NumPy
Lecture 4: Pandas. Mathplotlib. Seaborn
Week 10
Lecture 5: Data Structures: Stack, Queue, Deque, Graphs
Week 11
Lecture 6: Test 1 Discussion
Week 12
Lecture 7: Elements of Functional Programming. Basic concepts of OOP
Week 13
Lecture 8: Data Base
Workshop notes
Workshop 1: Introduction
Workshop 2: Numeral systems
for pilot students: Workshops 2-3: Conditions and Loops
Workshop 3: Conditions and Loops
Workshop 4: Strings
Workshops 5-6: Lists and Tuples
Workshops 7-8: List Comprehension
Workshops 9-10: Functions and Recursion
Workshop 11: Sets and Dictionaries
Workshop 12: Sets and Dictionaries
Workshop 13.1: Files, Errors and Exceptions
Workshop 13.2: Files, Errors and Exceptions
Workshop 14: Code Style
Workshop 15: Sorting and Searching
Workshop 18 Abstract data structures
Control work
The midterm will be conducted on Friday, November 18, at 16:20 in the offline format.
All the details you can find here.
Project
All the required information about your 1st semester project can be found at this page.
Exam
The exam will be conducted on Saturday, December 17, at 18:00 in the offline format.
All the details you can find here.