---
title: "Python, Math, Machine Learning Course"
author: "[Metric.am](https://metric.am/)"
date: 01/01/2025
date-format: "YYYY"
---
::: {.callout-tip}
# 👋 Բարի գալուստ
#### 🔗 Կարևոր հղումներ
* **Վիդեոներ.** Բոլոր տեսագրությունները տեղադրվում են [Metric Academy YouTube](https://www.youtube.com/@MetricAcademy)-ում
* **Նյութեր (GitHub).** Ամենաթարմ ու ամբողջական հավաքածուն՝ [այստեղ](https://github.com/HaykTarkhanyan/python_math_ml_course)
* **Telegram.** Ամբողջ կոմունիկացիան տեղի ա ունենում [էս](https://t.me/metric_academy) խմբում
* **Zoom.** Դասերին միանալու [հղումը](https://us06web.zoom.us/j/85787312800?pwd=6oYCGi7pTXaA2CVJOHFPQRoXCMXljc.1)
* **Ընդհանուր, մաթեմ** [Դասագրքեր](https://drive.google.com/drive/folders/14ib_UZSDQ4UPW6XgncURhhbtWLs3-qV3), [որոշ կտորների կարճ ձեռնարկ](https://github.com/HaykTarkhanyan/python_math_ml_course/blob/main/math/Lectures/%D4%BF%D5%A1%D6%80%D5%B3%20%D5%B4%D5%A1%D5%A9%D5%A5%D5%B4%20%D5%B4%D5%A5%D6%84%D5%A5%D5%B6%D5%A1%D5%B5%D5%A1%D5%AF%D5%A1%D5%B6%20%D5%B8%D6%82%D5%BD%D5%B8%D6%82%D6%81%D5%B4%D5%A1%D5%B6%20%D5%B0%D5%A1%D5%B4%D5%A1%D6%80.pdf), [հավելյալ նյութեր](https://mathteam.notion.site/math)
#### 📚 Դասընթացի ընթացիկ կարգավիճակը
*(Թարմացված ա 10.02.26-ին)*
1. **🐍 Python (պրծ):**
* Ներառում է՝ Fundamentals, OOP, Libraries:
* Բոլոր նյութերը, գործնականներն ու տնայինները կգտնեք ձախ կողմի **sidebar**-ում (Python + Libraries բաժիններ):
2. **📐 Մաթեմատիկա (համարյա պրծ):**
* Մնացել են միայն **Վիճակագրության** ու **Ինֆորմացիայի տեսության** թեմաները։
3. **🤖 Machine Learning:**
* Կսկսենք մաթեմատիկայի բլոկն ավարտելուցս հետո։
#### 📅 Գրաֆիկ
Դասերը սովորաբար լինում են **շաբաթական 2 անգամ**։
* **Օրեր:** Չորեքշաբթի/Հինգշաբթի (20:00) ու Շաբաթ/Կիրակի (12:00)
* **Zoom հղում:** [հեսա](https://us06web.zoom.us/j/85787312800?pwd=6oYCGi7pTXaA2CVJOHFPQRoXCMXljc.1)
#### ❓ Հարցեր
Եթե հարցեր են առաջանում՝ շատ լավ ա, գրեք [Telegram խմբի](https://t.me/metric_academy) **"Հարցեր"** բաժնում։
💡 **Խորհուրդ.** Արագ օգնություն ստանալու համար օգտվեք AI գործիքներից (բայց նպատակը սովորելն ա, ոչ թե պատրաստի պատասխան ստանալը):
* **ChatGPT:** Օգտագործեք "Study and Learn" ռեժիմը (սեղմեք + նշանին, հետո "More" ու ընտրեք "Study and Learn"):
* **Gemini և Claude:** էլի ընտիր մոդելներ են, բայց նաև GPT-ից անհամեմատ լավ են խոսում հայերեն, ԲԱՅՑ․
> **Հ.Գ.** Ամպի չափ շատ խնդրում եմ զուգահեռ **անգլերենի** վրա էլ աշխատել։ Հայերենով անգլերեն սովորելու [տեսադասեր](https://www.youtube.com/playlist?list=PLE3qFvqoQIMLX-CDguZF-dBilkvXDNzyr) (եթե ավելի լավ նյութ գիտեք՝ խնդրում եմ խաբար արեք, թարմացնեմ էս սեկցիան)
:::
::: {.callout-note}
**Նշում**։ Կայքը ու նյութը պատրաստման փուլում են, հնարավոր է որոշ տեղերում լինեն սխալներ կամ ժամանակավոր նշումներ։
:::
::: links
1. Վիդեոները՝ [Metric YouTube Channel](https://www.youtube.com/@MetricAcademy)
2. Դասընթացին միանալու տելեգրամը՝ [Հղում](https://t.me/metric_academy) (կարաք երբ ուզում եք, ինչքան ժամանակով ուզում եք միանալ, ու դե անվճար ա իհարկե)
3. Python Տնայինը՝ [Profound Academy Python Introduction](https://profound.academy/hy/python-introduction)
4. Python Լուծումները՝ [կոդ/նշումներ](https://metric-academy.notion.site/), [վիդեոներ](https://www.youtube.com/watch?v=I7DWIpcTUtc&list=PLfLD2TpGxVUxjP7WnHxAWfbd8LWSY-pix)
5. Python-ի խառը լրացուցիչ [նյութեր](https://hayktarkhanyan.notion.site/Python-resources-330beea6e8624afea06ee17485a58c40?pvs=74)
6. Ամեն տեսության վերջում դրած [հղումները](https://docs.google.com/spreadsheets/d/1kaA6NjaeiulfkFGeDLhR8ksPT94Rjb8BbrusTJdkUnI/edit?usp=sharing)
7. Տնայինի խնդիր առաջարկել որից կուզեք վիդեո սարքենք՝ [հղում](https://forms.gle/hm558vdjmZu7QSjTA)
8. Դասընթացի վերաբերյալ կարծիք ու առաջարկներ՝ [հղում](https://docs.google.com/forms/d/e/1FAIpQLSdNKMw-yUTJcFj2fPWuRyCbpO73hndI6aAhLxwFF1_58Nqe7w/viewform?usp=sharing&ouid=101440322298080198570)
9. [հղում](https://www.youtube.com/watch?v=OQlByoPdG6c)
:::
::: misc
- Website created with [Quarto](https://quarto.org) (fantastic tool)
- Website hosted on [GitHub Pages](https://pages.github.com/)
- [Source code of everything](https://github.com/hayktarkhanyan/python_math_ml_course)
- [URL 1](https://www.youtube.com/watch?v=6_2ZJ4QW_O4), [URL 2](https://www.youtube.com/watch?v=y4qtOVq_e0U)
```{=html}
<a href="https://s01.flagcounter.com/more/1oO/"><img src="https://s01.flagcounter.com/count2/1oO/bg_FFFFFF/txt_000000/border_CCCCCC/columns_2/maxflags_10/viewers_0/labels_0/pageviews_1/flags_0/percent_0/" alt="Flag Counter"></a>
```
:::
<!-- The full old home page (every lesson listed) is in git history, commit 5983327. Hidden drafts below. -->
<!-- ::: {.callout-note collapse="true"}
# Projects / Պրոեկտներ
**ԱԲ-ով ա գենեռացրած դեռ չեմ անցել վրայով**
Ահա դասընթացի ընթացքում իրականացված հիմնական պրոեկտների ցանկը՝ իրենց ֆայլերի հղումներով ու նկարագրություններով:
## 🐍 Python Բազային Պրոեկտներ
### 01. Կիսամյակային Գնահատականի Հաշվիչ
**Ֆայլ:** `python/01_Intro.ipynb` - Գործնական դասի մաս
**Նկարագիր:** Պարզ ծրագիր որը հաշվարկում է ուսանողի կիսամյակային գնահատականը տարբեր բաղադրիչների հիման վրա:
### 02. Քառակուսի Հավասարման Լուծիչ
**Ֆայլ:** `python/01_Intro.ipynb` - Գործնական դասի մաս
**Նկարագիր:** Քառակուսի հավասարման արմատների հաշվարկ՝ օգտագործելով հայտնի բանաձևը:
### 03. π-ի Մոտարկում (Monte Carlo Method)
**Ֆայլ:** [`python/mini_projects/approximate_pi/approximate_pi.ipynb`](python/mini_projects/approximate_pi/approximate_pi.ipynb)
**Վիդեո:** [📺 Տեսագրություն](https://youtu.be/fzujbMd4j30)
**Նկարագիր:** Monte Carlo մեթոդի օգտագործմամբ π թվի մոտարկում՝ պատահական կետեր գեներացնելով շրջանի ու քառակուսու մեջ:
### 04. Streamlit Հավելվածներ
**Ֆայլ:** `python/12_streamlit_recursion.ipynb`
**Նկարագիր:** Վեբ-հավելվածների ստեղծում Streamlit գրադարանի օգնությամբ:
## 🔧 Python Գրադարանների Պրոեկտներ
### 05. OpenAI API Timestamp Generator
**Ֆայլ:** [`python_libs/01_openai_api_timestamp_generator.ipynb`](python_libs/01_openai_api_timestamp_generator.ipynb)
**Վիդեո:** [📺 Տեսություն](https://youtu.be/ZOOWqchxETU)
**Նկարագիր:** YouTube վիդեոների transcript-ներից timestamp-եր գեներացնող ծրագիր OpenAI API-ի օգնությամբ: Ծրագիրը վերցնում է YouTube վիդեոի transcript-ը ու ավտոմատ ստեղծում timestamp-եր կարևոր թեմաների համար:
### 06. YouTube Transcript Translator
**Ֆայլ:** [`python/18_youtube_translator.ipynb`](python/18_youtube_translator.ipynb)
**Նկարագիր:** Ամբողջական պրոեկտ որը YouTube վիդեոներից metadata քաշում է, transcript ստանում ու թարգմանում: Օգտագործված են OOP-ի բոլոր 4 սյուները ու data classes:
### 07. Նշանավոր Մարդկանց Վերլուծություն
**Ֆայլ:** [`python_libs/05_noble_people_analysis.ipynb`](python_libs/05_noble_people_analysis.ipynb)
**Վիդեո:** [📺 Գործնական](https://youtu.be/3JJDA0xXvSE)
**Նկարագիր:** 1.2 միլիոն նշանավոր մարդու տվյալների վերլուծություն Pandas-ի օգնությամբ:
- Ըստ մասնագիտության ապրելու միջին տարիքի վերլուծություն
- Ինքնասպանության ցուցակիչների վերլուծություն ըստ երկրների
- Սեռային բաշխվածությունը ըստ մասնագիտության
- Հայ նշանավոր մարդկանց վերլուծություն
### 08. Կարգին Data Analysis Project
**Ֆայլ:** [`python_libs/07_kargin_project.ipynb`](python_libs/07_kargin_project.ipynb)
**Վիդեո:** [📺 Տեսագրություն](https://youtu.be/qaw4HsDa1pw)
**Ապլիկացիա:** [Կարգին Streamlit App](https://kargin.streamlit.app/)
**Բոտ:** [Կարգին Telegram բոտ](https://t.me/KarginSearchBot)
**Նկարագիր:** 600+ կարգինի տեքստերի վերլուծություն ու search գործիք: Ներառում է metadata-ի վերլուծություն (վայր, լուսավորություն, դերասաններ) ու fuzzy search ֆունկցիոնալություն:
### 09. Data Visualization Projects
**Ֆայլ:** [`python_libs/06_data_viz.ipynb`](python_libs/06_data_viz.ipynb)
**Վիդեո:** [📺 Տեսագրություն](https://youtu.be/r44t7RPPm7U)
**Նկարագիր:** Տվյալների վիզուալիզացիայի պրոեկտներ matplotlib ու plotly գրադարանների օգնությամբ:
- WordCloud սրաքում Թումանյանի պոեմներից ու Կոմիտասի նամակներից
- Ինտերակտիվ գրաֆիկներ plotly-ով
- Անիմացիաներ matplotlib-ով
### 10. YSU (Երևանի Պետական Համալսարան) Scraping
**Ֆայլ:** [`python_libs/11_ysu_scraping.ipynb`](python_libs/11_ysu_scraping.ipynb)
**Նկարագիր:** ԵՊՀ-ի կայքից տվյալների քաշման պրոեկտ՝ web scraping տեխնիկաների օգտագործմամբ:
### 11. SQL Database Projects
**Ֆայլ:** [`python_libs/12_sql.ipynb`](python_libs/12_sql.ipynb)
**Վիդեո:** [📺 Տեսագրություն](https://youtu.be/zMeKyFWTe10)
**Նկարագիր:** SQL-ի ու Python-ի համակցությամբ տվյալների բազաների հետ աշխատանքի պրոեկտներ:
## 🧪 Testing և Development Tools
### 12. PyTest Testing Framework
**Ֆայլ:** [`python_libs/09_testing__debugging.ipynb`](python_libs/09_testing__debugging.ipynb)
**Վիդեո:** [📺 Տեսագրություն](https://youtu.be/qcLhrouK7yE)
**Նկարագիր:** Unit testing-ի ու debugging-ի պրոեկտներ PyTest գրադարանով:
### 13. CLI Applications
**Ֆայլ:** [`python_libs/08_logging__clis.ipynb`](python_libs/08_logging__clis.ipynb)
**Վիդեո:** [📺 Տեսագրություն](https://youtu.be/2BtFmBMSnsA)
**Նկարագիր:** Command Line Interface ծրագրեր տարբեր գրադարանների օգնությամբ (argparse, fire, typer, click):
### 14. FastAPI Web Applications
**Ֆայլ:** [`python_libs/15_fast_api.ipynb`](python_libs/15_fast_api.ipynb)
**Նկարագիր:** FastAPI framework-ով RESTful API-ների ու web applications-ների ստեղծման պրոեկտներ:
## 📊 Machine Learning Projects
### 15. Regression Analysis
**Ֆայլեր:** `ml/Chapter 1 Regression Main Concepts/`
**Նկարագիր:** Linear regression ու related concepts-ի իմպլեմենտացիա:
### 16. Classification Projects
**Ֆայլեր:** `ml/Chapter 2 Classification/`
**Նկարագիր:** Classification algorithms-ի իմպլեմենտացիա ու evaluation:
### 17. Tree-based Models
**Ֆայլեր:** `ml/Chapter 3 Trees/`
**Նկարագիր:** Decision trees, random forests ու boosting algorithms:
### 18. Clustering Analysis
**Ֆայլեր:** `ml/Chapter 4 Clustering/`
**Նկարագիր:** Unsupervised learning methods՝ K-means, DBSCAN ու hierarchical clustering:
### 19. Neural Networks
**Ֆայլեր:** `ml/Chapter 5 Neural Networks/`
**Նկարագիր:** Neural networks-ի հիմունքներ ու deep learning concepts:
## 📐 Mathematics Projects
### 20. Linear Algebra Vectors
**Ֆայլ:** [`math/01_lin_alg_vectors.qmd`](math/01_lin_alg_vectors.qmd)
**Նկարագիր:** Վեկտորների ու linear algebra հիմունքների տեսական ու գործնական մաշակում:
## 🔜 Ապագա Պրոեկտներ (Planning/ToDo)
Ըստ [`projects.md`](projects.md) ֆայլի՝ նախատեսված են հետևյալ պրոեկտները:
### Ավարտված
- ✅ Wordcloud տարբեր հեղինակների համար
- ✅ π-ի մոտարկում
- ✅ Hangman խաղ
- ✅ OpenAI հիմքով պրոեկտ
- ✅ Wordcloud գեներատոր
### Նախատեսվող
- 📋 Zovq/Bookinist/Zangak scraper
- 📋 Tic Tac Toe խաղեր
- 📋 Telegram բոտ
- 📋 Bulls and Cows խաղ
- 📋 Ընտրական տվյալների վերլուծիչ
- 📋 Telegram analyzer
- 📋 Browser history analyzer
- 📋 Snake խաղ
- 📋 OpenCV հիմքով պրոեկտ
:::
## 🔗 Օգտակար Հղումներ
- 📺 [Metric YouTube Channel](https://www.youtube.com/@MetricAcademy) - Բոլոր տեսադասերը
- 💬 [Դասընթացի Telegram](https://t.me/metric_academy) - Հարցեր ու քննարկումներ
- 🏠 [Տնայինների հարթակ](https://profound.academy/hy/python-introduction) - Profound Academy
- 💻 [Source Code](https://github.com/hayktarkhanyan/python_math_ml_course) - GitHub Repository
- 📝 [Լուծումներ ու նշումներ](https://metric-academy.notion.site/)
:::
::: {.callout-note collapse="true"}
# Libraries / Գրադարաններ
**ԱԲ-ով ա գենեռացրած դեռ չեմ անցել վրայով**
| Library | File Reference | Video Reference | Built-in | Short Description |
|---------|---------------|-----------------|----------|-------------------|
| **OpenAI** | [`python_libs/01_openai_api_timestamp_generator.ipynb`](python_libs/01_openai_api_timestamp_generator.ipynb) | [📺](https://youtu.be/ZOOWqchxETU) | ❌ | AI API integration for text/image generation |
| **NumPy** | [`python_libs/02_numpy.ipynb`](python_libs/02_numpy.ipynb) | [📺](https://youtu.be/TIWU_bjFuUc) | ❌ | Numerical computing with arrays |
| **Pandas** | [`python_libs/03_pandas_1.ipynb`](python_libs/03_pandas_1.ipynb) | [📺](https://youtu.be/2YD9tbQg1Hk) | ❌ | Data manipulation and analysis |
| **Pandas 2** | [`python_libs/04_pandas_2.ipynb`](python_libs/04_pandas_2.ipynb) | [📺](https://youtu.be/wgw9eexila0) | ❌ | Advanced pandas operations |
| **Matplotlib/Plotly** | [`python_libs/06_data_viz.ipynb`](python_libs/06_data_viz.ipynb) | [📺](https://youtu.be/r44t7RPPm7U) | ❌ | Data visualization |
| **FuzzyWuzzy** | [`python_libs/07_kargin_project.ipynb`](python_libs/07_kargin_project.ipynb) | [📺](https://youtu.be/qaw4HsDa1pw) | ❌ | Fuzzy string matching |
| **Argparse** | [`python_libs/08_logging__clis.ipynb`](python_libs/08_logging__clis.ipynb) | [📺](https://youtu.be/2BtFmBMSnsA) | ✅ | Command line argument parsing |
| **Fire/Click/Typer** | [`python_libs/08_logging__clis.ipynb`](python_libs/08_logging__clis.ipynb) | [📺](https://youtu.be/2BtFmBMSnsA) | ❌ | Advanced CLI frameworks |
| **Logging** | [`python_libs/08_logging__clis.ipynb`](python_libs/08_logging__clis.ipynb) | [📺](https://youtu.be/2BtFmBMSnsA) | ✅ | Professional logging system |
| **PyTest** | [`python_libs/09_testing__debugging.ipynb`](python_libs/09_testing__debugging.ipynb) | [📺](https://youtu.be/qcLhrouK7yE) | ❌ | Unit testing framework |
| **Requests** | [`python_libs/10_scraping__parallelization.ipynb`](python_libs/10_scraping__parallelization.ipynb) | - | ❌ | HTTP requests for web scraping |
| **BeautifulSoup** | [`python_libs/10_scraping__parallelization.ipynb`](python_libs/10_scraping__parallelization.ipynb) | - | ❌ | HTML/XML parsing |
| **SQLite3** | [`python_libs/12_sql.ipynb`](python_libs/12_sql.ipynb) | [📺](https://youtu.be/zMeKyFWTe10) | ✅ | Database operations |
| **Pydantic** | [`python_libs/13_pydantic.ipynb`](python_libs/13_pydantic.ipynb) | - | ❌ | Data validation and settings |
| **FastAPI** | [`python_libs/15_fast_api.ipynb`](python_libs/15_fast_api.ipynb) | - | ❌ | Modern web API framework |
| **Pathlib** | [`python_libs/14_misc_libraries.ipynb`](python_libs/14_misc_libraries.ipynb) | - | ✅ | Object-oriented filesystem paths |
| **Collections** | [`python_libs/14_misc_libraries.ipynb`](python_libs/14_misc_libraries.ipynb) | - | ✅ | Specialized container datatypes |
| **Numba** | [`python_libs/14_misc_libraries.ipynb`](python_libs/14_misc_libraries.ipynb) | - | ❌ | JIT compilation for speed |
| **Icecream** | [`python_libs/14_misc_libraries.ipynb`](python_libs/14_misc_libraries.ipynb) | - | ❌ | Enhanced debugging print |
| **Streamlit** | [`python/12_streamlit_recursion.ipynb`](python/12_streamlit_recursion.ipynb) | - | ❌ | Web app creation |
| **PyTubeFix** | [`python/18_youtube_translator.ipynb`](python/18_youtube_translator.ipynb) | - | ❌ | YouTube video metadata extraction |
| **Random** | Multiple files | - | ✅ | Random number generation |
| **Math** | Multiple files | - | ✅ | Mathematical functions |
| **OS** | [`python/09_Files_Packages_Terminal.ipynb`](python/09_Files_Packages_Terminal.ipynb) | - | ✅ | Operating system interface |
| **Time** | [`python/09_Files_Packages_Terminal.ipynb`](python/09_Files_Packages_Terminal.ipynb) | - | ✅ | Time-related functions |
| **TQDM** | [`python/09_Files_Packages_Terminal.ipynb`](python/09_Files_Packages_Terminal.ipynb) | - | ❌ | Progress bars |
:::
<!-- closing libs section -->