Programming with Python (2022-2023)

Hi!

This is a page of the course "Programming with Python"!

Here you can find all materials presented during lectures and seminars.

If you have any questions, please contact me via mail (sorokin.semen2020@gmail.com) or via Telegram @SemenSorork1n.

List with git accounts and students.

Rating with additional points for small hw tasks.

Week topic Date Video link Homework Useful links
About git. Python. Anaconda. Jupyter notebook. print and int values.
Now you know:
1. How to navigate through your computer using command line tools like cd/ls
1. How to install git on your computer.
1. How to clone repo, add, commit and push file to your local computer and remote host.
1. How to install Anaconda on your machine.
1. How to run Jupyter Notebook from Anaconda.
1. How to install Jupyter Notebook (JN) using terminal on Mac OS and run JN from command line.
1. How run cells in JN, write some simple code and run it
03.09.2022 Lec#1 Only home task in week 1 for additional points About git (rus)

Instructions. Create and use token auth for git instead login and password
1. Strings in Pythonn
1.Input from keyboard
1.String formating (three options)
1. Boolean values and boolean algebra (minimum)
1. if, else in Python
10.09.2022 Lec#2 Only home task in week 2 for additional points
1. Lists in Pythonn
1.List index to get an element
1..append() to add element to a list
1. while, continue, break for iterations over a list
1. (Im)Mutable types
17.09.2022 Lec#3 HW # 0 (due to 16.10)
1. .join(), .split(), .map() for lists
1. .reverse(), .sort(), .map() for lists
1. Lists, Dicts, Sets in Pythonn
1.How to use slice with list
1.10.2022 Lec#4 All tasks in nb for additional points
1. for and range for iteration over numbers
1. set, dict, in Python
1. .add(), .remove(), .discard() - element in set
1. Add / get element from dict
8.10.2022 Lec#5 Only home task in week 5 for additional points
1. Functions in Python
1. *args and **kwargs in functions
1. lambda functions
1. map with functions
1. intro to recursion in python
15.10.2022 Lec#6 Only home task in week 6 for additional points
1. RegExp in Python
1. search and findall in regexp
1. reg exp pattern - how it works
1. match and group - difference
1. splitting and substitution with re
22.10.2022 Lec#7 Only home task in week 7 for additional points
1. List and dict comprehension Python
1. import pandas as pd - why it is so important in Python
1. How to open csv file?
1. Saving csv file
1. DB connector ro convert data from sql table to data frame
1. DataFrame and Series
05.10.2022 Lec#8 HW # 1 (due to 18.11)
1. Statistics in Pandas
1. Conditions
12.10.2022 Lec#9 -
1. Matplotlib - introdauction
1. Plot: Scatter, hist, bar
1. How to make your plot pretty
1. Other visualization instruments: Plotly, Seaborn
26.10.2022 Lec#10 -
1. O - notation
1. How to understand the speed of your code 1. HTML
1. Requests
1. BS4
3.12.2022 Lec#11 -
1. intro to OOP 17.12.2022 Lec#12 -

HW #0. Link to the notebook with tasks. Link to submit hw (due to 16.10)

HW #1. Link to the notebook with tasks. Link to submit hw (due to 18.11)

HW #2. Link to the notebook with tasks. Link to submit hw (due to 18.12)

HW #3. Link to the notebook with tasks. Link to submit hw (due to 27.12)

Exam 28.12 в 19.00

Exam

How to pass exam without exam? :)

  1. You have less than 6 point (according to hw's and additional points) - no way - you need to pass an exam.

  2. You have equal/more (>=) than 6 point (according to hw's and additional points), than you have no need to pass an exam, but the max grad you can have is 8. It means:

    • You have 6 or 7 - final grad will be 6 or 7
    • You have 8, 9, 10 - final grad 8
  3. To get 9 or 10: You need to register a profile on leetcode.com. Resolve 4 easy problems and 1 medium. After completion send me a screenshot of your profile.

Courses

Some useful courses and links:

Books

Online book:

Books in repo:

  • python3 learning
  • pocket python (references)

alt text