<!DOCTYPE html><html lang="ru"><head><meta charSet="utf-8"/><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover"/><link rel="preload" as="image" href="https://mc.yandex.ru/watch/44973232"/><link rel="preload" as="image" href="https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv"/><link rel="preload" as="image" href="https://top-fwz1.mail.ru/counter?id=3316675;js=na"/><link rel="preload" as="image" href="/_next/static/images/img/logo2022_without_text-ad6a01e8608432b9967c441a0f4760b4.svg"/><link rel="preload" as="image" href="/_next/static/images/img/otus-certificate-832bf0e82aba1cde68e7417b12683728.png"/><link rel="preload" as="image" href="/_next/static/images/img/upk-diploma-d6bca6c33b9795bec7d04fb91a431230.png"/><link rel="preload" as="image" href="/_next/static/images/img/light-3dd56d782c43dc1e78b7e0da7bb3fb50.svg"/><link rel="stylesheet" href="/_next/static/css/8cc264f7ea39f5c5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/369ab862ca923128.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/1eb8edb263c0b31d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-84c612d5581a179f.js"/><script src="/_next/static/chunks/b6261da7-560230abf0251a57.js" async=""></script><script src="/_next/static/chunks/8868-e3f56a080a5e6bd6.js" async=""></script><script src="/_next/static/chunks/main-app-34258a01f8eeca2d.js" async=""></script><script src="/_next/static/chunks/b57a0ff0-f64b6c8491bc987c.js" async=""></script><script src="/_next/static/chunks/7761-f25228226f9fd7b1.js" async=""></script><script src="/_next/static/chunks/3260-e663d3aeeb454c53.js" async=""></script><script src="/_next/static/chunks/7844-5a1706e76e0167fe.js" async=""></script><script src="/_next/static/chunks/7985-5aa503ef1e488f37.js" async=""></script><script src="/_next/static/chunks/8012-ba13e2afafa1b32c.js" async=""></script><script src="/_next/static/chunks/4944-c0f1c1dc3dd5ddc8.js" async=""></script><script src="/_next/static/chunks/4888-09a084700e30f3b2.js" async=""></script><script src="/_next/static/chunks/2633-d7e691d1179a550f.js" async=""></script><script src="/_next/static/chunks/3242-4559e666a92af915.js" async=""></script><script src="/_next/static/chunks/8308-a718381dbc33cfb4.js" async=""></script><script src="/_next/static/chunks/app/layout-37aaf27e992c5aeb.js" async=""></script><script src="/_next/static/chunks/4419-cfc7a5f44d08cc1b.js" async=""></script><script src="/_next/static/chunks/5632-5ae1d5cde11086be.js" async=""></script><script src="/_next/static/chunks/3118-3c71903ee058260c.js" async=""></script><script src="/_next/static/chunks/7670-88498cb7f740ea45.js" async=""></script><script src="/_next/static/chunks/5873-a84150cef512c203.js" async=""></script><script src="/_next/static/chunks/8212-ad195a1ac639b812.js" async=""></script><script src="/_next/static/chunks/428-b85ac0b1d8ebbe87.js" async=""></script><script src="/_next/static/chunks/9374-dedf9cc8b15c395b.js" async=""></script><script src="/_next/static/chunks/4485-9ab23cf29f3d4493.js" async=""></script><script src="/_next/static/chunks/4089-38c618b1e8038db2.js" async=""></script><script src="/_next/static/chunks/1598-4e9e0a333affae09.js" async=""></script><script src="/_next/static/chunks/7234-0a01e49f09a75afe.js" async=""></script><script src="/_next/static/chunks/1701-caea77cd580b46da.js" async=""></script><script src="/_next/static/chunks/1589-5e9d65a97827bc49.js" async=""></script><script src="/_next/static/chunks/8817-f756b1c7094aa889.js" async=""></script><script src="/_next/static/chunks/3742-cf316c1014abe42c.js" async=""></script><script src="/_next/static/chunks/7624-a0236e3eec1f6b3c.js" async=""></script><script src="/_next/static/chunks/5588-acf8559ddd553204.js" async=""></script><script src="/_next/static/chunks/1613-56d7f10ce9045e21.js" async=""></script><script src="/_next/static/chunks/app/not-found-6846642e53dd56ba.js" async=""></script><script src="/_next/static/chunks/app/error-37bbf3f7388748a0.js" async=""></script><script src="/_next/static/chunks/5408-7304a011593a4e7b.js" async=""></script><script src="/_next/static/chunks/4514-28d343fc6e2d14e0.js" async=""></script><script src="/_next/static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js" async=""></script><link rel="preload" href="https://smartcaptcha.yandexcloud.net/captcha.js?render=onload&onload=onloadFunction" as="script"/><link rel="preload" href="https://store-b2b.ru/tag.js?id=wsse7xcbtr07r1&nomodule" as="script"/><title>Курс «C#-разработчик» с нуля: C Sharp для начинающих онлайн обучение - ОТУС</title><meta name="description" content="Базовый онлайн курс по основам C# и .NET с нуля для начинающих: научитесь синтаксису языка, ООП, работе с коллекциями, созданию консольных приложений. Курс подойдет тем, кто хочет стать разработчиком на C# с нуля. Записаться на курс «C# разработчик» с нуля на сайте ОТУС"/><link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials"/><meta name="is_app_seo_default" content="false"/><meta name="vk:image" content="/__new_static__/img/meta-image.png"/><meta name="fb:app_id" content="486413851704844"/><link rel="canonical" href="https://otus.ru/lessons/c-sharp-basic/"/><meta name="yandex-verification" content="3019a35aeda6b45d"/><meta property="og:title" content="Курс «C#-разработчик» с нуля: C Sharp для начинающих онлайн обучение - ОТУС"/><meta property="og:description" content="Базовый онлайн курс по основам C# и .NET с нуля для начинающих: научитесь синтаксису языка, ООП, работе с коллекциями, созданию консольных приложений. Курс подойдет тем, кто хочет стать разработчиком на C# с нуля. Записаться на курс «C# разработчик» с нуля на сайте ОТУС"/><meta property="og:url" content="https://otus.ru/lessons/c-sharp-basic/"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="Курс «C#-разработчик» с нуля: C Sharp для начинающих онлайн обучение - ОТУС"/><meta name="twitter:description" content="Базовый онлайн курс по основам C# и .NET с нуля для начинающих: научитесь синтаксису языка, ООП, работе с коллекциями, созданию консольных приложений. Курс подойдет тем, кто хочет стать разработчиком на C# с нуля. Записаться на курс «C# разработчик» с нуля на сайте ОТУС"/><link rel="image_src" href="/__new_static__/img/meta-image.png"/><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"/><link rel="preload" href="/_next/static/images/img/owl-flight-5d7d1106ce62f5dd4057eb334384e529.gif" as="image"/><link rel="icon" type="image/png" sizes="16x16" href="/_next/static/images/img/favicon-16x16-3dc5220f18624c2a6fd3aa3b081da00a.png"/><link rel="icon" type="image/png" sizes="32x32" href="/_next/static/images/img/favicon-32x32-dd124835ecce421e1bb2c8f849e49a3f.png"/><link rel="apple-touch-icon" href="/_next/static/images/img/apple-touch-icon-a4721dddcfb741a7e41d52e619f3820d.png"/><link rel="apple-touch-icon" sizes="57x57" href="/_next/static/images/img/apple-touch-icon-57x57-92769d5e197783e63f3bb3c8519c8912.png"/><link rel="apple-touch-icon" sizes="60x60" href="/_next/static/images/img/apple-touch-icon-60x60-dfaaf3934bc7ed111c8c306b967afeeb.png"/><link rel="apple-touch-icon" sizes="72x72" href="/_next/static/images/img/apple-touch-icon-72x72-693f0d64a225d5f0fe26ba5d088c8f14.png"/><link rel="apple-touch-icon" sizes="76x76" href="/_next/static/images/img/apple-touch-icon-76x76-f3487d673c3e7ae975cf190fb758ab10.png"/><link rel="apple-touch-icon" sizes="114x114" href="/_next/static/images/img/apple-touch-icon-114x114-98609536fdaa492edede039bdd03cff2.png"/><link rel="apple-touch-icon" sizes="120x120" href="/_next/static/images/img/apple-touch-icon-120x120-169d5a3cf2a78fa8e7dfa780f15abcb7.png"/><link rel="apple-touch-icon" sizes="144x144" href="/_next/static/images/img/apple-touch-icon-144x144-9b1aa25d8b37e9b97af4717495fd71bf.png"/><link rel="apple-touch-icon" sizes="152x152" href="/_next/static/images/img/apple-touch-icon-152x152-e04100124be68d4151efe4eb96227866.png"/><link rel="apple-touch-icon" sizes="180x180" href="/_next/static/images/img/apple-touch-icon-180x180-a4721dddcfb741a7e41d52e619f3820d.png"/><link rel="mask-icon" href="/_next/static/images/img/safari-pinned-tab-9b975a1bbe6e965061daed04a88d48e8.svg" color="#000000"/><meta name="msapplication-TileColor" content="#ffffff"/><meta name="msapplication-TileImage" content="/_next/static/images/img/mstile-144x144-c363ac4f42a2d7656bae44c971f5deab.png"/><script src="https://vk.com/js/api/openapi.js?162" type="text/javascript"></script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-styled="" data-styled-version="5.3.10">.bmVffP{height:24px;width:24px;position:relative;}/*!sc*/
.cvcsLz{height:28px;width:28px;position:relative;}/*!sc*/
.gsweRb{height:88px;width:88px;position:relative;}/*!sc*/
data-styled.g3[id="sc-i28ik1-0"]{content:"bmVffP,cvcsLz,gsweRb,"}/*!sc*/
.gNVXtU{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}/*!sc*/
.gNVXtU > svg{display:block;}/*!sc*/
data-styled.g4[id="sc-i28ik1-1"]{content:"gNVXtU,"}/*!sc*/
.ViUGY{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.ViUGY{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.ViUGY{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.ViUGY{font-weight:700;}}/*!sc*/
@media (max-width:751px){.ViUGY{font-weight:700;}}/*!sc*/
.eMZyoN{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.eMZyoN{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.eMZyoN{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.eMZyoN{font-weight:400;}}/*!sc*/
@media (max-width:751px){.eMZyoN{font-weight:400;}}/*!sc*/
.kswXpy{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:62px;line-height:68px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.kswXpy{font-size:56px;line-height:60px;}}/*!sc*/
@media (max-width:751px){.kswXpy{font-size:32px;line-height:36px;}}/*!sc*/
@media (max-width:1201px){.kswXpy{font-weight:700;}}/*!sc*/
@media (max-width:751px){.kswXpy{font-weight:700;}}/*!sc*/
.enpOeQ{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:20px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.enpOeQ{font-size:20px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.enpOeQ{font-size:16px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.enpOeQ{font-weight:700;}}/*!sc*/
@media (max-width:751px){.enpOeQ{font-weight:700;}}/*!sc*/
.doSDez{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.doSDez{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.doSDez{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.doSDez{font-weight:400;}}/*!sc*/
@media (max-width:751px){.doSDez{font-weight:400;}}/*!sc*/
.jmLQpp{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.jmLQpp{font-size:40px;line-height:48px;}}/*!sc*/
@media (max-width:751px){.jmLQpp{font-size:20px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.jmLQpp{font-weight:700;}}/*!sc*/
@media (max-width:751px){.jmLQpp{font-weight:700;}}/*!sc*/
.bTMeHF{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.bTMeHF{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.bTMeHF{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:1201px){.bTMeHF{font-weight:700;}}/*!sc*/
@media (max-width:751px){.bTMeHF{font-weight:700;}}/*!sc*/
.fPZiIk{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;font-weight:500;}/*!sc*/
@media (max-width:1201px){.fPZiIk{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:751px){.fPZiIk{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.fPZiIk{font-weight:500;}}/*!sc*/
@media (max-width:751px){.fPZiIk{font-weight:500;}}/*!sc*/
.hQBzUY{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.hQBzUY{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.hQBzUY{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.hQBzUY{font-weight:700;}}/*!sc*/
@media (max-width:751px){.hQBzUY{font-weight:700;}}/*!sc*/
.wJZyp{font-family:'Roboto',sans-serif;font-size:14px;line-height:20px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.wJZyp{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:751px){.wJZyp{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.wJZyp{font-weight:400;}}/*!sc*/
@media (max-width:751px){.wJZyp{font-weight:400;}}/*!sc*/
.gGtEnS{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.gGtEnS{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:751px){.gGtEnS{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.gGtEnS{font-weight:700;}}/*!sc*/
@media (max-width:751px){.gGtEnS{font-weight:700;}}/*!sc*/
.dvqddq{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.dvqddq{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.dvqddq{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.dvqddq{font-weight:700;}}/*!sc*/
@media (max-width:751px){.dvqddq{font-weight:700;}}/*!sc*/
.iFeEEh{font-family:'Roboto',sans-serif;font-size:14px;line-height:20px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.iFeEEh{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.iFeEEh{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.iFeEEh{font-weight:700;}}/*!sc*/
@media (max-width:751px){.iFeEEh{font-weight:700;}}/*!sc*/
.iwrrOS{font-family:'Roboto',sans-serif;font-size:14px;line-height:20px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.iwrrOS{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.iwrrOS{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.iwrrOS{font-weight:400;}}/*!sc*/
@media (max-width:751px){.iwrrOS{font-weight:400;}}/*!sc*/
.ioOegJ{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.ioOegJ{font-size:40px;line-height:48px;}}/*!sc*/
@media (max-width:751px){.ioOegJ{font-size:32px;line-height:36px;}}/*!sc*/
@media (max-width:1201px){.ioOegJ{font-weight:700;}}/*!sc*/
@media (max-width:751px){.ioOegJ{font-weight:700;}}/*!sc*/
.CWfAH{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.CWfAH{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.CWfAH{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.CWfAH{font-weight:400;}}/*!sc*/
@media (max-width:751px){.CWfAH{font-weight:400;}}/*!sc*/
.bDRAny{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.bDRAny{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.bDRAny{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.bDRAny{font-weight:700;}}/*!sc*/
@media (max-width:751px){.bDRAny{font-weight:700;}}/*!sc*/
data-styled.g14[id="sc-1x9oq14-0"]{content:"ViUGY,eMZyoN,kswXpy,enpOeQ,doSDez,jmLQpp,bTMeHF,fPZiIk,hQBzUY,wJZyp,gGtEnS,dvqddq,iFeEEh,iwrrOS,ioOegJ,CWfAH,bDRAny,"}/*!sc*/
.igoKuA{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out;will-change:background,border;overflow:hidden;width:100%;cursor:text;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border:1px solid #afafaf;background:#fff;color:#0f0f10;text-align:left;font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;height:56px;border-radius:12px;}/*!sc*/
@media (max-width:1201px){.igoKuA{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.igoKuA{font-size:16px;line-height:24px;}}/*!sc*/
data-styled.g16[id="sc-7tecya-1"]{content:"igoKuA,"}/*!sc*/
.dUXfnG{-webkit-transition:padding 0.2s ease-out,color 0.2s ease-out;transition:padding 0.2s ease-out,color 0.2s ease-out;will-change:padding,color;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;max-height:100%;padding:16px 24px;}/*!sc*/
data-styled.g17[id="sc-7tecya-2"]{content:"dUXfnG,"}/*!sc*/
.ewcVbw{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font 0.2s ease-out;transition:font 0.2s ease-out;will-change:font;color:#afafaf;}/*!sc*/
data-styled.g18[id="sc-7tecya-3"]{content:"ewcVbw,"}/*!sc*/
.bkPfUD{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;width:100%;background:transparent;overflow:hidden;text-overflow:ellipsis;margin-top:auto;opacity:0;}/*!sc*/
.bkPfUD::-webkit-input-placeholder{color:#afafaf;}/*!sc*/
.bkPfUD::-moz-placeholder{color:#afafaf;}/*!sc*/
.bkPfUD:-ms-input-placeholder{color:#afafaf;}/*!sc*/
.bkPfUD::placeholder{color:#afafaf;}/*!sc*/
.bkPfUD:disabled{background:transparent;}/*!sc*/
data-styled.g19[id="sc-7tecya-4"]{content:"bkPfUD,"}/*!sc*/
.hzdVAl{display:block;}/*!sc*/
data-styled.g23[id="sc-aobi4b-0"]{content:"hzdVAl,"}/*!sc*/
.eibrwt{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.eibrwt{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.eibrwt{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.eibrwt{font-weight:400;}}/*!sc*/
@media (max-width:751px){.eibrwt{font-weight:400;}}/*!sc*/
.fvUGfA{font-family:'Roboto',sans-serif;font-size:12px;line-height:16px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.fvUGfA{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:751px){.fvUGfA{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.fvUGfA{font-weight:400;}}/*!sc*/
@media (max-width:751px){.fvUGfA{font-weight:400;}}/*!sc*/
data-styled.g26[id="sc-1x9oq14-0-Component"]{content:"eibrwt,fvUGfA,"}/*!sc*/
.chwycb{padding-right:48px;}/*!sc*/
data-styled.g29[id="sc-1uo0fn1-0"]{content:"chwycb,"}/*!sc*/
.jZoKM{position:absolute;top:50%;right:14px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}/*!sc*/
data-styled.g30[id="sc-1uo0fn1-1"]{content:"jZoKM,"}/*!sc*/
.dzJeEt{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/
data-styled.g40[id="sc-1bqzqc9-0"]{content:"dzJeEt,"}/*!sc*/
.cInatB{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.cInatB .swiper{height:100%;}/*!sc*/
.cInatB .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
.cInatB .swiper-slide:nth-child(n + 5){opacity:0.3;}/*!sc*/
.haeyZv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.haeyZv .swiper{height:100%;}/*!sc*/
.haeyZv .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
.haeyZv .swiper-slide:nth-child(n + 3){opacity:0.3;}/*!sc*/
.giOpNO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.giOpNO .swiper{height:100%;}/*!sc*/
.giOpNO .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
data-styled.g41[id="sc-1bkbgbz-0"]{content:"cInatB,haeyZv,giOpNO,"}/*!sc*/
.cPJghB{min-width:100%;width:100%;min-height:100%;height:100%;display:block;margin:0 auto;}/*!sc*/
.jssxGI{min-width:100%;width:100%;min-height:100%;height:100%;display:block;margin:0 auto;margin-bottom:56px;}/*!sc*/
@media (min-width:1200px){.jssxGI{margin-bottom:72px;}}/*!sc*/
.ehnata{min-width:100%;width:100%;min-height:100%;height:100%;display:block;margin:0 auto;margin-bottom:68px;}/*!sc*/
data-styled.g42[id="sc-1bkbgbz-1"]{content:"cPJghB,jssxGI,ehnata,"}/*!sc*/
.dQlnjC{-webkit-transition:color 0.2s ease-out,opacity 0.2s ease-out;transition:color 0.2s ease-out,opacity 0.2s ease-out;will-change:color,opacity;width:auto;height:auto;padding:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:transparent;color:#fff;}/*!sc*/
@media (min-width:1200px){.dQlnjC:hover{color:#ffd709;}}/*!sc*/
.dQlnjC:disabled{opacity:0.4;pointer-events:none;cursor:default;}/*!sc*/
.gKNzJW{-webkit-transition:color 0.2s ease-out,opacity 0.2s ease-out;transition:color 0.2s ease-out,opacity 0.2s ease-out;will-change:color,opacity;width:auto;height:auto;padding:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:transparent;color:#FA6D41;}/*!sc*/
@media (min-width:1200px){.gKNzJW:hover{color:#FA6D41;}}/*!sc*/
.gKNzJW:disabled{opacity:0.4;pointer-events:none;cursor:default;}/*!sc*/
data-styled.g43[id="sc-1bkbgbz-2"]{content:"dQlnjC,gKNzJW,"}/*!sc*/
.iPzpLW{margin:-12px -12px -12px 24px;}/*!sc*/
data-styled.g44[id="sc-1bkbgbz-3"]{content:"iPzpLW,"}/*!sc*/
.biZjNh{margin:-12px 24px -12px -12px;}/*!sc*/
data-styled.g45[id="sc-1bkbgbz-4"]{content:"biZjNh,"}/*!sc*/
.hGKrlu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:400px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g46[id="sc-1bkbgbz-5"]{content:"hGKrlu,"}/*!sc*/
.hcbJSK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:-118px;right:0;}/*!sc*/
.hcbJSK .sc-1bkbgbz-5 > *{background-color:#fff !important;}/*!sc*/
.eGxJvf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);bottom:0;right:50%;}/*!sc*/
.eGxJvf .sc-1bkbgbz-5 > *{background-color:#FA6D41 !important;}/*!sc*/
data-styled.g47[id="sc-1bkbgbz-6"]{content:"hcbJSK,eGxJvf,"}/*!sc*/
.ldwIhb{color:#4749c0;position:relative;}/*!sc*/
.ldwIhb:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.ldwIhb:active{color:#585cff;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g49[id="sc-1vdp0yy-0"]{content:"ldwIhb,"}/*!sc*/
.eJDLVL{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:rotate( 0deg );-ms-transform:rotate( 0deg );transform:rotate( 0deg );}/*!sc*/
data-styled.g120[id="sc-8zcw6d-0"]{content:"eJDLVL,"}/*!sc*/
.dxxUfg{width:82px;height:auto;}/*!sc*/
data-styled.g179[id="sc-136rsxq-0"]{content:"dxxUfg,"}/*!sc*/
.hERPbJ{-webkit-animation:iJeNST 32s infinite linear;animation:iJeNST 32s infinite linear;-webkit-transform-box:fill-box;-ms-transform-box:fill-box;transform-box:fill-box;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;will-change:animation,transform;}/*!sc*/
data-styled.g180[id="sc-1gml7ra-0"]{content:"hERPbJ,"}/*!sc*/
.XomuX{overflow:visible;}/*!sc*/
data-styled.g183[id="sc-1gml7ra-3"]{content:"XomuX,"}/*!sc*/
.hOtCic{margin:0 auto;position:relative;}/*!sc*/
@media (min-width:1200px){.hOtCic{max-width:1120px;width:1120px;}}/*!sc*/
@media (max-width:1201px){.hOtCic{max-width:680px;width:680px;}}/*!sc*/
@media (max-width:751px){.hOtCic{max-width:352px;width:352px;}}/*!sc*/
data-styled.g184[id="sc-x072mc-0"]{content:"hOtCic,"}/*!sc*/
.dKnRmO{-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;position:relative;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:30;position:-webkit-sticky;position:sticky;top:-1px;height:80px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-shadow:0 4px 4px rgba(0,0,0,0.05);background:#fff;color:#232323;}/*!sc*/
@media (max-width:1201px){.dKnRmO{height:64px;}}/*!sc*/
@media (max-width:751px){.dKnRmO{height:60px;}}/*!sc*/
data-styled.g185[id="sc-r03h0s-0"]{content:"dKnRmO,"}/*!sc*/
.eFDQwF{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.eFDQwF{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.eFDQwF{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.eFDQwF{font-weight:400;}}/*!sc*/
@media (max-width:751px){.eFDQwF{font-weight:400;}}/*!sc*/
data-styled.g186[id="sc-1x9oq14-0-styled-div"]{content:"eFDQwF,"}/*!sc*/
.bMTmMH{position:unset;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g187[id="sc-r03h0s-1"]{content:"bMTmMH,"}/*!sc*/
.iLJJBX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 89px 0 0;}/*!sc*/
@media (max-width:1201px){.iLJJBX{margin:0 24px 0 0;}}/*!sc*/
data-styled.g188[id="sc-r03h0s-2"]{content:"iLJJBX,"}/*!sc*/
.kVvakX{-webkit-align-self:normal;-ms-flex-item-align:normal;align-self:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g189[id="sc-r03h0s-3"]{content:"kVvakX,"}/*!sc*/
.bYKNcH{z-index:0;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 40px 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}/*!sc*/
@media (max-width:1201px){.bYKNcH{margin:0 24px 0 0;}}/*!sc*/
.bYKNcH::after{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:transparent;}/*!sc*/
.bYKNcH:last-child{margin:0;}/*!sc*/
.cGgLky{z-index:0;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 40px 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}/*!sc*/
@media (max-width:1201px){.cGgLky{margin:0 24px 0 0;}}/*!sc*/
.cGgLky::after{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:transparent;}/*!sc*/
.cGgLky:hover::after{background:#4749c0;}/*!sc*/
.cGgLky:last-child{margin:0;}/*!sc*/
data-styled.g191[id="sc-r03h0s-5"]{content:"bYKNcH,cGgLky,"}/*!sc*/
.kpxsrg.kpxsrg{z-index:-1;position:absolute;width:615px;height:615px;}/*!sc*/
data-styled.g192[id="sc-r03h0s-6"]{content:"kpxsrg,"}/*!sc*/
.jHaHbB{margin:0 auto 0 0;color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jHaHbB:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jHaHbB:active{color:inherit;}/*!sc*/
@media (max-width:1201px){.jHaHbB{display:none;}}/*!sc*/
data-styled.g193[id="sc-r03h0s-7"]{content:"jHaHbB,"}/*!sc*/
.dZepSJ{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;cursor:pointer;padding:14px 16px;border-radius:20px;}/*!sc*/
@media (min-width:1200px){.dZepSJ:hover{background:#fff;}}/*!sc*/
@media (max-width:1201px){.dZepSJ{padding:10px 0;}}/*!sc*/
.gXNPrh{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;cursor:pointer;padding:14px 16px;border-radius:20px;font-weight:700;}/*!sc*/
@media (min-width:1200px){.gXNPrh:hover{background:#fff;}}/*!sc*/
@media (max-width:1201px){.gXNPrh{padding:10px 0;}}/*!sc*/
data-styled.g194[id="sc-4zz0i4-0"]{content:"dZepSJ,gXNPrh,"}/*!sc*/
.fXsjgC{margin:0 32px 0 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:24px;}/*!sc*/
.fXsjgC:last-child{margin:0;}/*!sc*/
@media (max-width:751px){.fXsjgC{margin:0 0 24px;}}/*!sc*/
data-styled.g195[id="sc-1kjc6dh-0"]{content:"fXsjgC,"}/*!sc*/
.bxwCjw{width:100%;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #ececec;color:#afafaf;}/*!sc*/
@media (max-width:1201px){.bxwCjw{margin:0 0 24px;padding:0;border-bottom:none;}}/*!sc*/
@media (max-width:751px){.bxwCjw{margin:0 0 8px;}}/*!sc*/
data-styled.g196[id="sc-1kjc6dh-1"]{content:"bxwCjw,"}/*!sc*/
.lhsLfs{display:grid;margin:0 -16px;grid-template-columns:repeat(2,288px);}/*!sc*/
@media (max-width:1201px){.lhsLfs{margin:0;}}/*!sc*/
@media (max-width:751px){.lhsLfs{gap:4px;}}/*!sc*/
.eANJVj{display:grid;margin:0 -16px;grid-template-columns:repeat(1,288px);}/*!sc*/
@media (max-width:1201px){.eANJVj{margin:0;}}/*!sc*/
@media (max-width:751px){.eANJVj{gap:4px;}}/*!sc*/
data-styled.g197[id="sc-1kjc6dh-2"]{content:"lhsLfs,eANJVj,"}/*!sc*/
.LDEpF{background-color:#ececec;border-radius:8px;position:relative;overflow:hidden;color:rgba(0,0,0,0);width:100%;height:100%;position:absolute;top:0;left:0;}/*!sc*/
.iXhGSD{background-color:#ececec;border-radius:8px;position:relative;overflow:hidden;color:rgba(0,0,0,0);}/*!sc*/
data-styled.g198[id="sc-1xopqwy-0"]{content:"LDEpF,iXhGSD,"}/*!sc*/
.jTtOKw{position:relative;display:block;}/*!sc*/
.ePGOOQ{position:static;display:block;}/*!sc*/
data-styled.g199[id="sc-hrqzy3-0"]{content:"jTtOKw,ePGOOQ,"}/*!sc*/
.faPWUN{min-width:100%;width:100%;min-height:100%;height:100%;position:relative;z-index:0;}/*!sc*/
.faPWUN *{opacity:0;pointer-events:none;}/*!sc*/
data-styled.g200[id="sc-hrqzy3-1"]{content:"faPWUN,"}/*!sc*/
.fEESDM{position:absolute;z-index:1;display:none;top:100%;left:0;width:100%;}/*!sc*/
data-styled.g236[id="sc-piuiz2-0"]{content:"fEESDM,"}/*!sc*/
.fDVGGf{z-index:0;-webkit-align-self:baseline;-ms-flex-item-align:baseline;align-self:baseline;overflow:hidden;position:relative;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:40px;background:#f8f8f8;box-shadow:0px 16px 16px rgba(0,0,0,0.25);border-radius:0px 0px 20px 20px;}/*!sc*/
@media (min-width:1200px){.fDVGGf{max-width:1200px;margin:0 auto;}}/*!sc*/
@media (max-width:1201px){.fDVGGf{padding:24px 36px;}}/*!sc*/
@media (max-width:751px){.fDVGGf{height:100%;padding:24px 0;border-radius:0;}}/*!sc*/
data-styled.g237[id="sc-piuiz2-1"]{content:"fDVGGf,"}/*!sc*/
.fhxPhf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g238[id="sc-piuiz2-2"]{content:"fhxPhf,"}/*!sc*/
.ggDqfB{right:-101px;top:-105px;bottom:-201px;}/*!sc*/
data-styled.g240[id="sc-1891c19-0"]{content:"ggDqfB,"}/*!sc*/
.dwrtLP{-webkit-transition:color 0.2s ease-out,-webkit-transform 0.2s ease-out;-webkit-transition:color 0.2s ease-out,transform 0.2s ease-out;transition:color 0.2s ease-out,transform 0.2s ease-out;will-change:color,transform;margin:0 0 0 4px;}/*!sc*/
@media (max-width:751px){.dwrtLP{display:none;}}/*!sc*/
data-styled.g241[id="sc-1youhxc-0"]{content:"dwrtLP,"}/*!sc*/
.cMNIlZ{-webkit-transition:font-weight 0.1s ease-out;transition:font-weight 0.1s ease-out;will-change:font-weight;}/*!sc*/
.cMNIlZ::before{content:attr(title);position:relative;display:block;font-weight:700;height:0;overflow:hidden;visibility:hidden;}/*!sc*/
data-styled.g242[id="sc-1youhxc-1"]{content:"cMNIlZ,"}/*!sc*/
@media (min-width:1200px){.gAMwby:hover .sc-1youhxc-0{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);}.gAMwby:hover .sc-1youhxc-0{color:#4749c0;}}/*!sc*/
.ewISlX:hover .sc-1youhxc-1{font-weight:700;}/*!sc*/
@media (min-width:1200px){.ewISlX:hover .sc-1youhxc-0{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);}.ewISlX:hover .sc-1youhxc-0{color:#4749c0;}}/*!sc*/
@media (max-width:1201px){.ewISlX{display:none;}}/*!sc*/
data-styled.g243[id="sc-1youhxc-2"]{content:"gAMwby,ewISlX,"}/*!sc*/
.cgYLnJ{grid-auto-flow:column;grid-template-rows:repeat(8,1fr);}/*!sc*/
@media (max-width:751px){.cgYLnJ{grid-auto-flow:row;grid-template-columns:1fr;grid-template-row:unset;}}/*!sc*/
data-styled.g244[id="sc-ig0m9y-0"]{content:"cgYLnJ,"}/*!sc*/
.czpnNJ{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;will-change:background,border,opacity,color;cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 26px;font-weight:700;line-height:24px;min-height:56px;border-radius:20px;font-size:18px;color:#0f0f10;background:#ffd709;width:100%;}/*!sc*/
.czpnNJ:active{color:#0f0f10;}/*!sc*/
.czpnNJ:not(:disabled):hover{background:#ffea7d;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.czpnNJ:disabled{cursor:default;color:#afafaf;background:#ececec;pointer-events:none;}/*!sc*/
.bYRRHi{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;will-change:background,border,opacity,color;cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 26px;font-weight:700;line-height:24px;min-height:56px;border-radius:20px;font-size:18px;color:#0f0f10;background:#ffd709;}/*!sc*/
.bYRRHi:active{color:#0f0f10;}/*!sc*/
.bYRRHi:not(:disabled):hover{background:#ffea7d;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.bYRRHi:disabled{cursor:default;color:#afafaf;background:#ececec;pointer-events:none;}/*!sc*/
.dRnzjZ{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;will-change:background,border,opacity,color;cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 26px;font-weight:700;line-height:24px;min-height:56px;border-radius:20px;font-size:18px;color:#fff;background:#232323;width:100%;}/*!sc*/
.dRnzjZ:active{color:#fff;}/*!sc*/
.dRnzjZ:not(:disabled):hover{color:#ffd709;background:#0f0f10;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.dRnzjZ:disabled{cursor:default;color:#afafaf;background:#ececec;pointer-events:none;}/*!sc*/
data-styled.g249[id="sc-1qig7zt-0"]{content:"czpnNJ,bYRRHi,dRnzjZ,"}/*!sc*/
.eDycrR{pointer-events:none;}/*!sc*/
data-styled.g257[id="sc-gqclrv-0"]{content:"eDycrR,"}/*!sc*/
@media (max-width:751px){.rcsBI{display:none;}}/*!sc*/
data-styled.g258[id="sc-gqclrv-1"]{content:"rcsBI,"}/*!sc*/
.cwTwwh{min-width:32px;width:32px;min-height:32px;height:32px;margin:0 8px 0 0;border-radius:50%;overflow:hidden;}/*!sc*/
@media (max-width:1201px){.cwTwwh{min-width:28px;width:28px;min-height:28px;height:28px;margin:0 4px 0 0;}}/*!sc*/
@media (max-width:751px){.cwTwwh{margin:0;}}/*!sc*/
data-styled.g259[id="sc-199a3eq-1-div"]{content:"cwTwwh,"}/*!sc*/
.deZXFK{-webkit-align-self:normal;-ms-flex-item-align:normal;align-self:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 0 auto;}/*!sc*/
data-styled.g302[id="sc-1pw2hu9-0"]{content:"deZXFK,"}/*!sc*/
.gnDzft{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;position:static;-webkit-tap-highlight-color:transparent;}/*!sc*/
data-styled.g303[id="sc-k2vhmo-0"]{content:"gnDzft,"}/*!sc*/
.cYMYSf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;color:#232323;}/*!sc*/
.cYMYSf:hover{color:#4749c0;}/*!sc*/
data-styled.g304[id="sc-k2vhmo-1"]{content:"cYMYSf,"}/*!sc*/
.etPPJE{-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out;will-change:color;}/*!sc*/
data-styled.g305[id="sc-k2vhmo-2"]{content:"etPPJE,"}/*!sc*/
.dMvvUT{position:relative;padding:13px 0 29px;margin-bottom:-16px;background:linear-gradient(90deg,#a34fc6 0%,#5354e4 100%);color:#fff;overflow:hidden;}/*!sc*/
@media (max-width:1201px){.dMvvUT{padding:12px 16px 28px;}}/*!sc*/
@media (max-width:751px){.dMvvUT{padding:9px 15px 25px;}}/*!sc*/
.dMvvUT .before-header-ui__ellipse1{position:absolute;left:-147px;top:-387px;width:854px;height:854px;opacity:0.2;-webkit-filter:blur(12px);filter:blur(12px);background:radial-gradient( 50% 50% at 50% 50%,#f6cae3 0%,rgba(246,202,227,0) 100% );}/*!sc*/
.dMvvUT .before-header-ui__ellipse2{position:absolute;left:-148px;top:-244px;width:568px;height:568px;opacity:0.3;-webkit-filter:blur(12px);filter:blur(12px);background:radial-gradient( 50% 50% at 50% 50%,#f6cae3 0%,rgba(246,202,227,0) 100% );}/*!sc*/
.dMvvUT .before-header-ui__container{font-family:'IBM Plex Sans','Roboto',sans-serif;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:24px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 auto;width:1120px;max-width:1120px;}/*!sc*/
@media (max-width:1201px){.dMvvUT .before-header-ui__container{width:100%;max-width:unset;}}/*!sc*/
.dMvvUT .before-header-ui__img{position:relative;}/*!sc*/
@media (max-width:1201px){.dMvvUT .before-header-ui__img{display:none;}}/*!sc*/
.dMvvUT .before-header-ui__img_sales{width:164px;}/*!sc*/
.dMvvUT .before-header-ui__img_sales::before{content:'';position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;height:190px;background:url(/_next/static/images/img/sales-647707e6e3bb6ad2deb188a1217a88ac.png) no-repeat;background-size:contain;}/*!sc*/
.dMvvUT .before-header-ui__content{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;}/*!sc*/
.dMvvUT .before-header-ui__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
.dMvvUT .before-header-ui__title{font-size:28px;line-height:32px;font-weight:700;}/*!sc*/
@media (max-width:751px){.dMvvUT .before-header-ui__title{font-size:20px;line-height:24px;font-weight:700;}}/*!sc*/
.dMvvUT .before-header-ui__text{font-size:14px;line-height:20px;font-weight:700;-webkit-letter-spacing:-0.01em;-moz-letter-spacing:-0.01em;-ms-letter-spacing:-0.01em;letter-spacing:-0.01em;}/*!sc*/
@media (max-width:751px){.dMvvUT .before-header-ui__text{font-size:12px;line-height:16px;font-weight:700;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;}}/*!sc*/
.dMvvUT .before-header-ui__button{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px;line-height:24px;font-weight:700;border-radius:12px;-webkit-text-decoration:none;text-decoration:none;background:#fff;padding:12px 24px;display:inline-block;outline:none;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;color:#232323;text-overflow:ellipsis;min-width:200px;}/*!sc*/
@media (max-width:751px){.dMvvUT .before-header-ui__button{font-size:16px;line-height:24px;font-weight:700;padding:8px 16px;min-width:auto;}}/*!sc*/
.dMvvUT .before-header-ui__button:hover,.dMvvUT .before-header-ui__button:active{background-color:#ececec;}/*!sc*/
.dMvvUT .before-header-ui__button_secondary{color:#fff;background:rgba(255,255,255,0.2);}/*!sc*/
.dMvvUT .before-header-ui__button_secondary:hover,.dMvvUT .before-header-ui__button_secondary:active{background:rgba(255,255,255,0.3);color:#fff;}/*!sc*/
@media (max-width:1201px){.dMvvUT .before-header-ui__button_secondary{display:none;}}/*!sc*/
data-styled.g339[id="sc-1pwtpfp-0"]{content:"dMvvUT,"}/*!sc*/
.klmZDZ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100%;}/*!sc*/
data-styled.g340[id="sc-1j17uuq-0"]{content:"klmZDZ,"}/*!sc*/
.dPcKhb{position:relative;z-index:2;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;background:inherit;overflow:hidden;}/*!sc*/
data-styled.g341[id="sc-1j17uuq-1"]{content:"dPcKhb,"}/*!sc*/
@media (max-width:1201px){.ui-chunk-container .hide-mobile{display:none;}}/*!sc*/
@media (max-width:751px){.ui-chunk-container .hide-phone{display:none;}}/*!sc*/
.ui-chunk-container .show-mobile{display:none;}/*!sc*/
@media (max-width:1201px){.ui-chunk-container .show-mobile{display:block;}}/*!sc*/
.ui-chunk-container .show-phone{display:none;}/*!sc*/
@media (max-width:751px){.ui-chunk-container .show-phone{display:block;}}/*!sc*/
data-styled.g343[id="sc-global-eCGhFA1"]{content:"sc-global-eCGhFA1,"}/*!sc*/
@-webkit-keyframes iJeNST{from{-webkit-transform:rotate(0deg) translateX(70px);-ms-transform:rotate(0deg) translateX(70px);transform:rotate(0deg) translateX(70px);}to{-webkit-transform:rotate(360deg) translateX(70px);-ms-transform:rotate(360deg) translateX(70px);transform:rotate(360deg) translateX(70px);}}/*!sc*/
@keyframes iJeNST{from{-webkit-transform:rotate(0deg) translateX(70px);-ms-transform:rotate(0deg) translateX(70px);transform:rotate(0deg) translateX(70px);}to{-webkit-transform:rotate(360deg) translateX(70px);-ms-transform:rotate(360deg) translateX(70px);transform:rotate(360deg) translateX(70px);}}/*!sc*/
data-styled.g344[id="sc-keyframes-iJeNST"]{content:"iJeNST,"}/*!sc*/
.kmquqg{object-fit:contain;}/*!sc*/
data-styled.g346[id="sc-ed2fvu-0"]{content:"kmquqg,"}/*!sc*/
.gIfsvL{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );-webkit-clip-path:polygon(0 0,100% 0px,100% calc(100% - 80px),0% 100%);clip-path:polygon(0 0,100% 0px,100% calc(100% - 80px),0% 100%);}/*!sc*/
@media (max-width:751px){.gIfsvL{-webkit-clip-path:polygon(0 0,100% 0px,100% calc(100% - 56px),0% 100%);clip-path:polygon(0 0,100% 0px,100% calc(100% - 56px),0% 100%);}}/*!sc*/
.dtlsZM{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );-webkit-clip-path:polygon(0 0,100% 80px,100% calc(100% - 80px),0% 100%);clip-path:polygon(0 0,100% 80px,100% calc(100% - 80px),0% 100%);}/*!sc*/
@media (max-width:751px){.dtlsZM{-webkit-clip-path:polygon(0 0,100% 56px,100% calc(100% - 56px),0% 100%);clip-path:polygon(0 0,100% 56px,100% calc(100% - 56px),0% 100%);}}/*!sc*/
.jfuJCc{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );-webkit-clip-path:polygon(0 80px,100% 0,100% 100%,0 calc(100% - 80px));clip-path:polygon(0 80px,100% 0,100% 100%,0 calc(100% - 80px));}/*!sc*/
@media (max-width:751px){.jfuJCc{-webkit-clip-path:polygon(0 56px,100% 0,100% 100%,0 calc(100% - 56px));clip-path:polygon(0 56px,100% 0,100% 100%,0 calc(100% - 56px));}}/*!sc*/
.evFWrv{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );-webkit-clip-path:polygon(0 0,100% 80px,100% calc(100% - 0px),0% 100%);clip-path:polygon(0 0,100% 80px,100% calc(100% - 0px),0% 100%);}/*!sc*/
@media (max-width:751px){.evFWrv{-webkit-clip-path:polygon(0 0,100% 56px,100% calc(100% - 0px),0% 100%);clip-path:polygon(0 0,100% 56px,100% calc(100% - 0px),0% 100%);}}/*!sc*/
data-styled.g425[id="sc-1ddwpfq-0"]{content:"gIfsvL,dtlsZM,jfuJCc,evFWrv,"}/*!sc*/
.hnlXxp{position:relative;width:100%;padding:80px 0;}/*!sc*/
@media (max-width:751px){.hnlXxp{padding:56px 0;}}/*!sc*/
data-styled.g426[id="sc-1ddwpfq-1"]{content:"hnlXxp,"}/*!sc*/
.jliiMx{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:0;padding:120px 0 0;background:inherit;overflow:hidden;}/*!sc*/
@media (max-width:1201px){.jliiMx{padding:160px 0 0;}}/*!sc*/
@media (max-width:751px){.jliiMx{padding:80px 0 0;}}/*!sc*/
data-styled.g427[id="sc-oy98rf-0"]{content:"jliiMx,"}/*!sc*/
.dtANiL{background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );}/*!sc*/
data-styled.g428[id="sc-oy98rf-1"]{content:"dtANiL,"}/*!sc*/
.bLWaqJ{padding:0;}/*!sc*/
data-styled.g429[id="sc-oy98rf-2"]{content:"bLWaqJ,"}/*!sc*/
.fMEenG{padding:120px 0 96px;}/*!sc*/
@media (max-width:1201px){.fMEenG{padding:123px 0 35px;}}/*!sc*/
data-styled.g430[id="sc-oy98rf-3"]{content:"fMEenG,"}/*!sc*/
.kXtOIJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:60px;padding:40px 0;position:relative;color:#fff;}/*!sc*/
.kXtOIJ:after{content:'';position:absolute;left:0;top:0;right:0;opacity:0.2;height:1px;background-color:#fff;}/*!sc*/
@media (max-width:1201px){.kXtOIJ{width:100%;margin-top:40px;}}/*!sc*/
@media (max-width:751px){.kXtOIJ{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;padding:24px 0;}}/*!sc*/
data-styled.g431[id="sc-19c5cbt-0"]{content:"kXtOIJ,"}/*!sc*/
.fvpIrL{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:751px){.fvpIrL{margin-bottom:24px;width:100%;}}/*!sc*/
data-styled.g432[id="sc-19c5cbt-1"]{content:"fvpIrL,"}/*!sc*/
.jbfvPl{color:#fff;margin-top:24px;}/*!sc*/
@media (max-width:1201px){.jbfvPl{margin-top:40px;}}/*!sc*/
data-styled.g433[id="sc-b223p8-0"]{content:"jbfvPl,"}/*!sc*/
.kexDMw{margin-bottom:16px;display:inline-block;}/*!sc*/
data-styled.g434[id="sc-b223p8-1"]{content:"kexDMw,"}/*!sc*/
@media (max-width:1201px){.cpJPIb{line-height:16px;}.cpJPIb:after{bottom:1px;}}/*!sc*/
@media (max-width:751px){.cpJPIb:after{bottom:3px;}}/*!sc*/
data-styled.g435[id="sc-b223p8-2"]{content:"cpJPIb,"}/*!sc*/
.kqoeNm{position:relative;display:inline-block;margin:0 0 16px;white-space:nowrap;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.kqoeNm:last-child{margin:0;}/*!sc*/
data-styled.g436[id="sc-b223p8-3"]{content:"kqoeNm,"}/*!sc*/
.dmOCHb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#fff;}/*!sc*/
@media (max-width:751px){.dmOCHb{margin-bottom:44px;}}/*!sc*/
data-styled.g437[id="sc-s8yol2-0"]{content:"dmOCHb,"}/*!sc*/
.fSkxQH{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g438[id="sc-s8yol2-1"]{content:"fSkxQH,"}/*!sc*/
@media (min-width:1200px){.jinSfn{max-width:160px;width:160px;margin-right:32px;}}/*!sc*/
@media (max-width:1201px){.jinSfn{max-width:104px;width:104px;margin-right:48px;}}/*!sc*/
data-styled.g439[id="sc-s8yol2-2"]{content:"jinSfn,"}/*!sc*/
@media (min-width:1200px){.nSSml{max-width:256px;width:256px;margin-right:32px;}}/*!sc*/
@media (max-width:1201px){.nSSml{max-width:176px;width:176px;margin-right:0;}}/*!sc*/
@media (max-width:751px){.nSSml{margin-right:0;}}/*!sc*/
data-styled.g440[id="sc-s8yol2-3"]{content:"nSSml,"}/*!sc*/
.dopIUT{position:relative;margin-bottom:16px;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.dopIUT:last-child{margin-bottom:0;}/*!sc*/
data-styled.g441[id="sc-s8yol2-4"]{content:"dopIUT,"}/*!sc*/
.MecOH{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:256px;margin-right:32px;color:#fff;}/*!sc*/
@media (max-width:1201px){.MecOH{width:240px;margin-right:0;margin-top:66px;}}/*!sc*/
@media (max-width:751px){.MecOH{width:352px;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin-top:40px;}}/*!sc*/
data-styled.g442[id="sc-15qczmr-0"]{content:"MecOH,"}/*!sc*/
.dpoRMu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:38px;}/*!sc*/
@media (max-width:1201px){.dpoRMu{margin-bottom:33px;}}/*!sc*/
@media (max-width:751px){.dpoRMu{margin-bottom:0;margin-top:24px;}}/*!sc*/
data-styled.g443[id="sc-15qczmr-1"]{content:"dpoRMu,"}/*!sc*/
.jKMwie{margin-right:12px;height:32px;width:32px;background-image:url(/_next/static/images/img/footerUivk-1a499178c819de0f4161a07172b27f6b.svg);background-position:center center;background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:1201px){.jKMwie{height:24px;width:24px;}}/*!sc*/
.eFVTJV{margin-right:12px;height:32px;width:32px;background-image:url(/_next/static/images/img/footerUiyt-84e5fa7c2e582191762486a7be2c2652.svg);background-position:center center;background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:1201px){.eFVTJV{height:24px;width:24px;}}/*!sc*/
.hUuIIY{margin-right:12px;height:32px;width:32px;background-image:url(/_next/static/images/img/footerUidzen-cfe01a671b9064c8e5d54b2ac5895a0c.png);background-position:center center;background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:1201px){.hUuIIY{height:24px;width:24px;}}/*!sc*/
data-styled.g444[id="sc-15qczmr-2"]{content:"jKMwie,eFVTJV,hUuIIY,"}/*!sc*/
.foluGF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
@media (max-width:751px){.foluGF{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}/*!sc*/
data-styled.g445[id="sc-15qczmr-3"]{content:"foluGF,"}/*!sc*/
.hMqYlN{margin-bottom:12px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
@media (max-width:1201px){.hMqYlN{margin-bottom:16px;}}/*!sc*/
@media (max-width:751px){.hMqYlN{margin-bottom:0;margin-right:32px;}.hMqYlN:last-child{margin-right:0;}}/*!sc*/
data-styled.g446[id="sc-15qczmr-4"]{content:"hMqYlN,"}/*!sc*/
.kmPvgJ{margin-right:32px;width:32px;height:32px;background-image:url(/_next/static/images/img/footerUitg-326baa373419d1a193621a597320c652.svg);background-position:center center;background-repeat:no-repeat;background-size:contain;}/*!sc*/
@media (max-width:1201px){.kmPvgJ{margin-right:8px;width:24px;height:24px;}}/*!sc*/
data-styled.g447[id="sc-15qczmr-5"]{content:"kmPvgJ,"}/*!sc*/
.driyCh{position:relative;white-space:nowrap;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
@media (max-width:1201px){.driyCh{line-height:16px;-webkit-text-decoration:none;text-decoration:none;}}/*!sc*/
data-styled.g448[id="sc-15qczmr-6"]{content:"driyCh,"}/*!sc*/
.ceClWZ{min-width:100%;width:100%;min-height:100%;height:100%;cursor:pointer;z-index:1;position:absolute;top:0;left:0;opacity:0;}/*!sc*/
data-styled.g450[id="sc-j40lj7-0"]{content:"ceClWZ,"}/*!sc*/
.dWxMps{min-width:24px;width:24px;min-height:24px;height:24px;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;will-change:auto;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}/*!sc*/
data-styled.g451[id="sc-hd7keq-0"]{content:"dWxMps,"}/*!sc*/
.eZuRED{-webkit-transition:border-color 0.2s ease-out;transition:border-color 0.2s ease-out;will-change:border-color;min-width:24px;width:24px;min-height:24px;height:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;position:relative;border:1px solid;border-radius:3.5px;color:#4749c0;background-color:#fff;border-color:#4749c0;}/*!sc*/
data-styled.g454[id="sc-12fwr4-0"]{content:"eZuRED,"}/*!sc*/
.exsZZC{position:absolute;top:-1px;left:-1px;}/*!sc*/
data-styled.g455[id="sc-12fwr4-1"]{content:"exsZZC,"}/*!sc*/
.eAOVcR{cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g456[id="sc-1fry39v-0"]{content:"eAOVcR,"}/*!sc*/
.kMJHVN{margin:0 0 0 16px;}/*!sc*/
data-styled.g457[id="sc-1fry39v-1"]{content:"kMJHVN,"}/*!sc*/
.fyzNNQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#0f0f10;}/*!sc*/
data-styled.g458[id="sc-dusc05-0"]{content:"fyzNNQ,"}/*!sc*/
.fgICvQ{color:inherit;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.fgICvQ:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g459[id="sc-dusc05-1"]{content:"fgICvQ,"}/*!sc*/
.fYuJAI{color:#fff;}/*!sc*/
data-styled.g461[id="sc-des2oc-0"]{content:"fYuJAI,"}/*!sc*/
.hbxrvB{margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.hbxrvB{margin-bottom:22px;}}/*!sc*/
@media (max-width:751px){.hbxrvB{margin-bottom:16px;}}/*!sc*/
data-styled.g462[id="sc-des2oc-1"]{content:"hbxrvB,"}/*!sc*/
.iHEhCu{display:grid;grid-template-areas:'a b' 'c c';grid-template-columns:240px 96px;gap:12px 16px;}/*!sc*/
@media (max-width:1201px){.iHEhCu{grid-template-columns:200px 96px;gap:8px 8px;}}/*!sc*/
@media (max-width:751px){.iHEhCu{grid-template-columns:244px 96px;gap:10px 12px;}}/*!sc*/
data-styled.g463[id="sc-des2oc-2"]{content:"iHEhCu,"}/*!sc*/
.heMBup{grid-area:a;}/*!sc*/
data-styled.g464[id="sc-des2oc-3"]{content:"heMBup,"}/*!sc*/
.dqoHct{grid-area:b;}/*!sc*/
data-styled.g465[id="sc-des2oc-4"]{content:"dqoHct,"}/*!sc*/
.kSlCOl{grid-area:c;color:inherit;}/*!sc*/
data-styled.g466[id="sc-des2oc-5"]{content:"kSlCOl,"}/*!sc*/
.kVOlcO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g467[id="sc-176eli6-0"]{content:"kVOlcO,"}/*!sc*/
.bIqTVy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g468[id="sc-176eli6-1"]{content:"bIqTVy,"}/*!sc*/
.hRGcmY{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g469[id="sc-176eli6-2"]{content:"hRGcmY,"}/*!sc*/
.fCchjz{width:100%;margin:auto;}/*!sc*/
data-styled.g470[id="sc-1urziip-0"]{content:"fCchjz,"}/*!sc*/
.cPEbNj{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:82px;height:40px;}/*!sc*/
@media (max-width:1201px){.cPEbNj{margin-right:12px;width:41px;height:24px;}}/*!sc*/
data-styled.g471[id="sc-1urziip-1"]{content:"cPEbNj,"}/*!sc*/
.fEJhZn{margin-right:40px;width:140px;height:40px;background-image:url(/_next/static/images/img/runet-9d9c302c854bd21ffd433cffadd5fc46.png);background-position:center center;background-repeat:no-repeat;background-size:contain;}/*!sc*/
@media (max-width:1201px){.fEJhZn{margin-right:12px;width:84px;height:24px;}}/*!sc*/
data-styled.g472[id="sc-1jb0vz0-0"]{content:"fEJhZn,"}/*!sc*/
.bQKtqJ{margin-right:40px;width:136px;height:40px;background-image:url(/_next/static/images/img/skolkovo-2f0a909e8e465c8d5951d639c67b62c9.svg);background-position:center center;background-repeat:no-repeat;background-size:contain;}/*!sc*/
@media (max-width:1201px){.bQKtqJ{margin-right:12px;width:82px;height:24px;}}/*!sc*/
data-styled.g473[id="sc-1jb0vz0-1"]{content:"bQKtqJ,"}/*!sc*/
.bzaXwp{background-color:#f8f8f8;}/*!sc*/
data-styled.g728[id="sc-1b3dhyb-0"]{content:"bzaXwp,"}/*!sc*/
.dvLdDh{overflow:hidden;z-index:0;}/*!sc*/
data-styled.g729[id="sc-1b3dhyb-1"]{content:"dvLdDh,"}/*!sc*/
.ftkQLi{width:100%;}/*!sc*/
data-styled.g730[id="sc-1lrh8w5-0"]{content:"ftkQLi,"}/*!sc*/
.JTsAm{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/
data-styled.g733[id="sc-1lrh8w5-3"]{content:"JTsAm,"}/*!sc*/
.jTrfLJ{margin:auto;padding:0 4px 0 0;}/*!sc*/
data-styled.g734[id="sc-1lrh8w5-4"]{content:"jTrfLJ,"}/*!sc*/
.eCsaUt{color:#130f26;}/*!sc*/
.kfzfcV{color:#130f26;}/*!sc*/
@media (max-width:751px){.kfzfcV{display:none;}}/*!sc*/
data-styled.g735[id="sc-1lrh8w5-5"]{content:"eCsaUt,kfzfcV,"}/*!sc*/
.kIhMyV{margin-top:16px;}/*!sc*/
data-styled.g736[id="sc-1lrh8w5-6"]{content:"kIhMyV,"}/*!sc*/
.ddfkAs{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:416px;margin:8px 96px 0 0;}/*!sc*/
@media (max-width:1201px){.ddfkAs{width:552px;margin:0 0 60px;}}/*!sc*/
@media (max-width:751px){.ddfkAs{width:344px;margin:0 0 40px;}}/*!sc*/
data-styled.g753[id="sc-1oz275d-0"]{content:"ddfkAs,"}/*!sc*/
.dCggDS{border:none;border-radius:16px;object-fit:contain;width:100%;}/*!sc*/
@media (max-width:1201px){.dCggDS{border-radius:26px;}}/*!sc*/
@media (max-width:751px){.dCggDS{border-radius:16px;}}/*!sc*/
data-styled.g754[id="sc-1oz275d-1"]{content:"dCggDS,"}/*!sc*/
.cmjKRy{margin-bottom:52px;}/*!sc*/
@media (max-width:1201px){.cmjKRy{margin-bottom:60px;}.cmjKRy .swiper{overflow:visible;}}/*!sc*/
@media (max-width:751px){.cmjKRy{margin-bottom:36px;}.cmjKRy .swiper{overflow:hidden;}}/*!sc*/
data-styled.g755[id="sc-1oz275d-2"]{content:"cmjKRy,"}/*!sc*/
.lliDuJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:992px;margin:0 auto 120px;padding:0 0 120px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;border-bottom:1px solid #afafaf;}/*!sc*/
@media (max-width:1201px){.lliDuJ{width:100%;padding:0 0 100px;}}/*!sc*/
@media (max-width:751px){.lliDuJ{margin:0 auto 80px;padding:0 0 40px;}}/*!sc*/
data-styled.g757[id="sc-1r62a6q-0"]{content:"lliDuJ,"}/*!sc*/
.llFwsA{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.llFwsA{margin-bottom:32px;}}/*!sc*/
@media (max-width:751px){.llFwsA{width:340px;}}/*!sc*/
data-styled.g758[id="sc-1r62a6q-1"]{content:"llFwsA,"}/*!sc*/
.dtnelf{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.dtnelf{margin-bottom:40px;}}/*!sc*/
data-styled.g759[id="sc-1r62a6q-2"]{content:"dtnelf,"}/*!sc*/
.eNyjzK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.eNyjzK{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g760[id="sc-1r62a6q-3"]{content:"eNyjzK,"}/*!sc*/
.fulWiX H1,.fulWiX H2,.fulWiX H3,.fulWiX H4,.fulWiX H5,.fulWiX H6{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;padding-bottom:40px;}/*!sc*/
@media (max-width:1201px){.fulWiX H1,.fulWiX H2,.fulWiX H3,.fulWiX H4,.fulWiX H5,.fulWiX H6{font-size:40px;line-height:48px;padding-bottom:32px;}}/*!sc*/
@media (max-width:751px){.fulWiX H1,.fulWiX H2,.fulWiX H3,.fulWiX H4,.fulWiX H5,.fulWiX H6{font-size:20px;line-height:24px;padding-bottom:40px;}}/*!sc*/
.fulWiX p{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;}/*!sc*/
@media (max-width:1201px){.fulWiX p{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.fulWiX p{font-size:16px;line-height:24px;}}/*!sc*/
.fulWiX ul,.fulWiX ol{margin:-24px 0 32px;padding:0;}/*!sc*/
.fulWiX li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;color:#000;}/*!sc*/
@media (max-width:1201px){.fulWiX li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.fulWiX li{font-size:16px;line-height:24px;}}/*!sc*/
.fulWiX li:last-child{margin-bottom:0;}/*!sc*/
.fulWiX li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.fulWiX li:before{color:#FA6D41;}/*!sc*/
.fulWiX > *:last-child{margin-bottom:0;}/*!sc*/
data-styled.g761[id="sc-1r62a6q-4"]{content:"fulWiX,"}/*!sc*/
.SAbyR{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g775[id="sc-1gixy6u-0"]{content:"SAbyR,"}/*!sc*/
.gfqBkq{color:#0f0f10;word-break:break-word;}/*!sc*/
.gfqBkq h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.gfqBkq h1{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.gfqBkq h1{font-size:24px;line-height:28px;margin-bottom:32px;}}/*!sc*/
.gfqBkq h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.gfqBkq h2{font-size:24px;line-height:28px;margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.gfqBkq h2{font-size:18px;line-height:24px;margin-bottom:16px;}}/*!sc*/
.gfqBkq p{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.gfqBkq p{margin-bottom:24px;}}/*!sc*/
.gfqBkq ul,.gfqBkq ol{margin:-24px 0 32px;padding:0;margin:0 0 32px;}/*!sc*/
.gfqBkq li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;}/*!sc*/
@media (max-width:1201px){.gfqBkq li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.gfqBkq li{font-size:16px;line-height:24px;}}/*!sc*/
.gfqBkq li:last-child{margin-bottom:0;}/*!sc*/
.gfqBkq li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.gfqBkq li::before{color:#FA6D41;}/*!sc*/
.gfqBkq *:last-child{margin-bottom:0;}/*!sc*/
.dJQBfL{color:#fff;word-break:break-word;}/*!sc*/
.dJQBfL h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.dJQBfL h1{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.dJQBfL h1{font-size:24px;line-height:28px;margin-bottom:32px;}}/*!sc*/
.dJQBfL h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.dJQBfL h2{font-size:24px;line-height:28px;margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.dJQBfL h2{font-size:18px;line-height:24px;margin-bottom:16px;}}/*!sc*/
.dJQBfL p{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.dJQBfL p{margin-bottom:24px;}}/*!sc*/
.dJQBfL ul,.dJQBfL ol{margin:-24px 0 32px;padding:0;margin:0 0 32px;}/*!sc*/
.dJQBfL li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;}/*!sc*/
@media (max-width:1201px){.dJQBfL li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.dJQBfL li{font-size:16px;line-height:24px;}}/*!sc*/
.dJQBfL li:last-child{margin-bottom:0;}/*!sc*/
.dJQBfL li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.dJQBfL li::before{color:#fff;}/*!sc*/
.dJQBfL *:last-child{margin-bottom:0;}/*!sc*/
data-styled.g796[id="sc-pyhrzd-0"]{content:"gfqBkq,dJQBfL,"}/*!sc*/
.gjfSTs{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:320px;margin:0 0 0 64px;}/*!sc*/
@media (max-width:1201px){.gjfSTs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin:60px 0 0;padding:20px;border-radius:20px;background:#fff;}}/*!sc*/
@media (max-width:751px){.gjfSTs{margin:40px 0 0;}}/*!sc*/
data-styled.g797[id="sc-1232l32-0"]{content:"gjfSTs,"}/*!sc*/
.gLmhvn{margin:0 0 28px;}/*!sc*/
@media (max-width:1201px){.gLmhvn{margin:0 24px 0 0;}}/*!sc*/
@media (max-width:751px){.gLmhvn{margin:0 16px 0 0;}}/*!sc*/
data-styled.g798[id="sc-1232l32-1"]{content:"gLmhvn,"}/*!sc*/
.cLdvvd{color:#afafaf;}/*!sc*/
.cLdvvd h1,.cLdvvd h2,.cLdvvd h3{color:#0f0f10;}/*!sc*/
data-styled.g799[id="sc-1232l32-2"]{content:"cLdvvd,"}/*!sc*/
.cjEHVO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto 80px;padding:0 64px 80px;border-bottom:1px solid #afafaf;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.cjEHVO{display:block;margin:0 auto 60px;padding:0 0 60px;}}/*!sc*/
@media (max-width:751px){.cjEHVO{display:block;margin:0 auto 40px;padding:0 0 80px;}}/*!sc*/
data-styled.g800[id="sc-lpm061-0"]{content:"cjEHVO,"}/*!sc*/
.iKbbnr{margin:0 0 24px;}/*!sc*/
@media (max-width:751px){.iKbbnr{margin:0 0 16px;}}/*!sc*/
data-styled.g801[id="sc-lpm061-1"]{content:"iKbbnr,"}/*!sc*/
.dGIdAz{position:relative;width:100%;margin:0 0 60px;padding-bottom:55.9%;}/*!sc*/
@media (max-width:1201px){.dGIdAz{margin:0 0 40px;}}/*!sc*/
@media (max-width:751px){.dGIdAz{grid-area:b;}}/*!sc*/
data-styled.g806[id="sc-126tghp-0"]{content:"dGIdAz,"}/*!sc*/
.daskap{-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;color:#fff;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}/*!sc*/
@media (max-width:751px){.daskap{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
data-styled.g807[id="sc-126tghp-1"]{content:"daskap,"}/*!sc*/
.djZVhn{min-width:100%;width:100%;min-height:100%;height:100%;cursor:pointer;position:absolute;padding:44px 37px;border-radius:20px;background:linear-gradient(0deg,rgba(0,0,0,0.55),rgba(0,0,0,0.55)), url(null);background-position:center;background-size:contain;background-repeat:no-repeat;}/*!sc*/
.djZVhn:hover .sc-126tghp-1{-webkit-transform:translate(-50%,-50%) scale(1.1);-ms-transform:translate(-50%,-50%) scale(1.1);transform:translate(-50%,-50%) scale(1.1);}/*!sc*/
@media (max-width:1201px){.djZVhn{padding:30px 25px;}}/*!sc*/
@media (max-width:751px){.djZVhn{padding:16px;}}/*!sc*/
data-styled.g808[id="sc-126tghp-2"]{content:"djZVhn,"}/*!sc*/
.cJroeV{color:#fff;}/*!sc*/
data-styled.g809[id="sc-126tghp-3"]{content:"cJroeV,"}/*!sc*/
.dYVcmu{margin:20px auto 80px;padding:0 0 80px;border-bottom:1px solid #afafaf;}/*!sc*/
@media (max-width:1201px){.dYVcmu{margin:0 auto 60px;padding:0 0 60px;}}/*!sc*/
@media (max-width:751px){.dYVcmu{margin:0 auto 80px;padding:0 0 64px;}}/*!sc*/
data-styled.g817[id="sc-1oat6ot-0"]{content:"dYVcmu,"}/*!sc*/
.cVgwEc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 64px 0;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.cVgwEc{padding:0;}}/*!sc*/
data-styled.g818[id="sc-1oat6ot-1"]{content:"cVgwEc,"}/*!sc*/
.hjZAnk{width:auto;min-width:320px;margin:24px 0 0;}/*!sc*/
@media (max-width:1201px){.hjZAnk{margin:48px 0 0;}}/*!sc*/
@media (max-width:751px){.hjZAnk{width:100%;margin:16px 0 0;}}/*!sc*/
data-styled.g820[id="sc-1oat6ot-3"]{content:"hjZAnk,"}/*!sc*/
.hdfpFD{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g821[id="sc-1oat6ot-4"]{content:"hdfpFD,"}/*!sc*/
.klGcVm{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:751px){.klGcVm{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g822[id="sc-1oat6ot-5"]{content:"klGcVm,"}/*!sc*/
.iHYLll{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;width:352px;margin-right:32px;}/*!sc*/
.iHYLll:last-child{margin-right:0;}/*!sc*/
@media (max-width:1201px){.iHYLll{width:100%;margin-right:0;margin-top:40px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;text-align:left;}.iHYLll:first-child{margin-top:0;}}/*!sc*/
@media (max-width:751px){.iHYLll{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;margin-top:32px;}}/*!sc*/
data-styled.g828[id="sc-16yt4q5-0"]{content:"iHYLll,"}/*!sc*/
.dGpeBr{overflow:hidden;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-bottom:24px;border-radius:50%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );}/*!sc*/
@media (max-width:1201px){.dGpeBr{margin-bottom:0;margin-right:24px;}}/*!sc*/
data-styled.g829[id="sc-16yt4q5-1"]{content:"dGpeBr,"}/*!sc*/
.bUbCKQ{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/oneImg-b1c92b38734a5b324f9b32a5a243bf06.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.bUbCKQ{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.dIESaV{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/twoImg-28bd45b9ade74f4471bf39916d76d47e.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.dIESaV{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.gbGscf{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/threeImg-7d8d62a36e7b66f9691d1d7d01b44fb9.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.gbGscf{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.yjETG{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/oneImg-d53504a93142009806d3cc77cd059dcb.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.yjETG{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.iGfrzu{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/twoImg-bf3134a7f0a1f9684257b13b37cd07b5.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.iGfrzu{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.eJXsCF{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/threeImg-a81ea3b3db08e9c236bce2eb8f407ab7.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.eJXsCF{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
data-styled.g830[id="sc-16yt4q5-2"]{content:"bUbCKQ,dIESaV,gbGscf,yjETG,iGfrzu,eJXsCF,"}/*!sc*/
.kgZxtV p{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;}/*!sc*/
@media (max-width:1201px){.kgZxtV p{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.kgZxtV p{font-size:16px;line-height:24px;}}/*!sc*/
.kgZxtV h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.kgZxtV h1{font-size:24px;line-height:28px;margin-bottom:8px;}}/*!sc*/
@media (max-width:751px){.kgZxtV h1{font-size:18px;line-height:24px;}}/*!sc*/
data-styled.g831[id="sc-16yt4q5-3"]{content:"kgZxtV,"}/*!sc*/
.eOXZIV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:20px;}/*!sc*/
data-styled.g832[id="sc-11l8wec-0"]{content:"eOXZIV,"}/*!sc*/
.jpiMVl{margin-bottom:120px;position:relative;}/*!sc*/
@media (max-width:1201px){.jpiMVl{margin-bottom:72px;}}/*!sc*/
data-styled.g833[id="sc-ze365z-0"]{content:"jpiMVl,"}/*!sc*/
.RPhWg{margin-bottom:40px;text-align:center;}/*!sc*/
data-styled.g834[id="sc-ze365z-1"]{content:"RPhWg,"}/*!sc*/
.bnqryM{width:416px;}/*!sc*/
@media (max-width:1201px){.bnqryM{width:100%;}}/*!sc*/
data-styled.g836[id="sc-32ejay-1"]{content:"bnqryM,"}/*!sc*/
.eNgslB{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.eNgslB{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.eNgslB{font-size:16px;line-height:24px;}}/*!sc*/
.eNgslB:last-child{margin-bottom:0;}/*!sc*/
.eNgslB::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
data-styled.g837[id="sc-1xm68ya-0"]{content:"eNgslB,"}/*!sc*/
.hqEzLD{width:928px;}/*!sc*/
@media (max-width:1201px){.hqEzLD{width:100%;}}/*!sc*/
@media (max-width:751px){.hqEzLD{max-width:344px;}}/*!sc*/
data-styled.g838[id="sc-1xm68ya-1"]{content:"hqEzLD,"}/*!sc*/
.isRQVJ{margin-bottom:80px;padding:160px 0;color:#fff;}/*!sc*/
.isRQVJ .sc-1xm68ya-0::before{color:#fff;}/*!sc*/
@media (max-width:1201px){.isRQVJ{margin-bottom:120px;}}/*!sc*/
@media (max-width:751px){.isRQVJ{margin-bottom:80px;padding:120px 0;}}/*!sc*/
data-styled.g839[id="sc-1xm68ya-2"]{content:"isRQVJ,"}/*!sc*/
.cXcqyt{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.cXcqyt{margin-bottom:52px;}}/*!sc*/
@media (max-width:751px){.cXcqyt{margin-bottom:32px;}}/*!sc*/
data-styled.g840[id="sc-1xm68ya-3"]{content:"cXcqyt,"}/*!sc*/
.kscGdX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:40px;margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.kscGdX{gap:60px;margin-bottom:52px;}}/*!sc*/
@media (max-width:751px){.kscGdX{gap:32px;margin-bottom:40px;}}/*!sc*/
data-styled.g841[id="sc-1xm68ya-4"]{content:"kscGdX,"}/*!sc*/
.jEIquP{padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}/*!sc*/
.jEIquP .sc-1xm68ya-0:after{background-color:#fff;}/*!sc*/
@media (max-width:1201px){.jEIquP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.jEIquP{gap:12px;}}/*!sc*/
data-styled.g843[id="sc-1xm68ya-6"]{content:"jEIquP,"}/*!sc*/
.eOihnY{font-size:18px;line-height:24px;font-weight:400;position:relative;cursor:pointer;}/*!sc*/
@media (max-width:751px){.eOihnY{font-size:16px;line-height:24px;font-weight:400;}}/*!sc*/
.eOihnY:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;border-bottom:1px solid #fff;}/*!sc*/
data-styled.g844[id="sc-1xm68ya-7"]{content:"eOihnY,"}/*!sc*/
.iiXtAN{background:#fff;border-radius:25px;padding:24px 40px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:148px !important;margin-right:0;}/*!sc*/
.iiXtAN.swiper-slide{width:224px;}/*!sc*/
@media (max-width:751px){.iiXtAN{padding:12px 16px;border-radius:16px;margin-right:0;}.iiXtAN.swiper-slide{width:120px;height:80px !important;}}/*!sc*/
data-styled.g845[id="sc-x5ajzb-0"]{content:"iiXtAN,"}/*!sc*/
.cCIEUB{background:url(https://cdn.otus.ru/media/public/fc/11/fc113557264c49d7bac5bdd51ca49652.JPG) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
data-styled.g846[id="sc-x5ajzb-1"]{content:"cCIEUB,"}/*!sc*/
.lphWaS{width:992px;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
@media (max-width:1201px){.lphWaS{width:100%;}}/*!sc*/
data-styled.g847[id="sc-2pu6he-0"]{content:"lphWaS,"}/*!sc*/
.czcvHP{margin-bottom:40px;white-space:normal;margin-right:32px;margin-bottom:0;white-space:break-spaces;text-align:right;}/*!sc*/
@media (max-width:751px){.czcvHP{margin-bottom:28px;}}/*!sc*/
data-styled.g848[id="sc-2pu6he-1"]{content:"czcvHP,"}/*!sc*/
.kgryUb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:24px;}/*!sc*/
data-styled.g849[id="sc-2pu6he-2"]{content:"kgryUb,"}/*!sc*/
.jzJAgH{height:auto;margin-bottom:120px;padding:160px 0 200px;color:#fff;}/*!sc*/
@media (max-width:1201px){.jzJAgH{margin-bottom:88px;}}/*!sc*/
@media (max-width:751px){.jzJAgH{margin-bottom:64px;padding:136px 0;}}/*!sc*/
data-styled.g864[id="sc-1kuct9n-0"]{content:"jzJAgH,"}/*!sc*/
.jqwyOS{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.jqwyOS{margin-bottom:44px;}}/*!sc*/
@media (max-width:751px){.jqwyOS{margin-bottom:24px;}}/*!sc*/
data-styled.g865[id="sc-1kuct9n-1"]{content:"jqwyOS,"}/*!sc*/
.cfBLof{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.cfBLof{width:100%;}}/*!sc*/
data-styled.g866[id="sc-1kuct9n-2"]{content:"cfBLof,"}/*!sc*/
.hXsBII{margin:0 0 100px;}/*!sc*/
@media (max-width:1201px){.hXsBII{margin:0 0 60xp;}}/*!sc*/
@media (max-width:751px){.hXsBII{margin:0 0 28px;}}/*!sc*/
.hXsBII ul{-webkit-column-count:2;column-count:2;-webkit-column-gap:96px;column-gap:96px;}/*!sc*/
@media (max-width:1201px){.hXsBII ul{-webkit-column-gap:20px;column-gap:20px;}}/*!sc*/
@media (max-width:751px){.hXsBII ul{-webkit-column-count:1;column-count:1;}}/*!sc*/
.hXsBII ul li{width:416px;}/*!sc*/
@media (max-width:1201px){.hXsBII ul li{width:332px;}}/*!sc*/
@media (max-width:751px){.hXsBII ul li{width:100%;}.hXsBII ul li b{font-weight:400;}}/*!sc*/
data-styled.g869[id="sc-1kuct9n-5"]{content:"hXsBII,"}/*!sc*/
.ciEuHS{color:#0f0f10;padding:32px 10px 10px;border-top:1px solid #ececec;}/*!sc*/
@media (max-width:751px){.ciEuHS{padding:12px 0 0;}}/*!sc*/
data-styled.g871[id="sc-ptxdl6-0"]{content:"ciEuHS,"}/*!sc*/
.kyVtIH{-webkit-transition:height 0.2s ease-out;transition:height 0.2s ease-out;will-change:height;overflow:hidden;}/*!sc*/
data-styled.g872[id="sc-ptxdl6-1"]{content:"kyVtIH,"}/*!sc*/
.kVdrfk{padding-top:20px;}/*!sc*/
@media (max-width:751px){.kVdrfk{padding-top:12px;}}/*!sc*/
data-styled.g873[id="sc-ptxdl6-2"]{content:"kVdrfk,"}/*!sc*/
.hdRZtB{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:24px;}/*!sc*/
data-styled.g874[id="sc-li015i-0"]{content:"hdRZtB,"}/*!sc*/
.bqYpKB{color:#0f0f10;padding:10px;}/*!sc*/
@media (max-width:751px){.bqYpKB{padding:0;}}/*!sc*/
data-styled.g875[id="sc-li015i-1"]{content:"bqYpKB,"}/*!sc*/
.cEtMkY{cursor:pointer;color:#FA6D41;background:#fff;border-radius:20px;padding:20px 36px 20px 20px;-webkit-tap-highlight-color:transparent;}/*!sc*/
@media (max-width:751px){.cEtMkY{padding:16px 28px 16px 16px;}}/*!sc*/
data-styled.g876[id="sc-li015i-2"]{content:"cEtMkY,"}/*!sc*/
.dbNuvG{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}/*!sc*/
data-styled.g877[id="sc-li015i-3"]{content:"dbNuvG,"}/*!sc*/
.htYSLI{margin-bottom:20px;}/*!sc*/
.htYSLI:last-child{margin-bottom:0;}/*!sc*/
@media (max-width:751px){.htYSLI{margin-bottom:12px;}}/*!sc*/
data-styled.g879[id="sc-tqrjzo-1"]{content:"htYSLI,"}/*!sc*/
.irTCnx{width:992px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.irTCnx{width:100%;}}/*!sc*/
@media (max-width:751px){.irTCnx{width:100%;margin-bottom:28px;}}/*!sc*/
data-styled.g880[id="sc-1mszhjn-0"]{content:"irTCnx,"}/*!sc*/
.kPNZqQ{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.kPNZqQ{margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.kPNZqQ{margin-bottom:20px;}}/*!sc*/
data-styled.g881[id="sc-1mszhjn-1"]{content:"kPNZqQ,"}/*!sc*/
.gwYuWO.gwYuWO{width:416px;}/*!sc*/
@media (max-width:751px){.gwYuWO.gwYuWO{width:100%;}}/*!sc*/
data-styled.g909[id="sc-kixk9v-0"]{content:"gwYuWO,"}/*!sc*/
.dgWykw{margin-left:8px;}/*!sc*/
data-styled.g910[id="sc-3cb1l3-0"]{content:"dgWykw,"}/*!sc*/
.galmep{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#fff;width:992px;height:64px;margin:40px auto 0;padding:16px 20px;border-radius:20px;}/*!sc*/
@media (max-width:1201px){.galmep{width:100%;height:auto;padding:16px 24px;}}/*!sc*/
@media (max-width:751px){.galmep{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:48px;padding:24px 12px;}}/*!sc*/
data-styled.g911[id="sc-3cb1l3-1"]{content:"galmep,"}/*!sc*/
.jeNzke{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex:1;-ms-flex:1;flex:1;margin:auto 0;}/*!sc*/
@media (max-width:1201px){.jeNzke{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/
@media (max-width:751px){.jeNzke{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g913[id="sc-3cb1l3-3"]{content:"jeNzke,"}/*!sc*/
.kGoYMV{color:#0f0f10;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0 20px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
.kGoYMV:after{content:'';background-color:#afafaf;height:24px;width:1px;position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}/*!sc*/
.kGoYMV:first-child:after{display:none;}/*!sc*/
@media (max-width:1201px){.kGoYMV{-webkit-flex:1 0 50%;-ms-flex:1 0 50%;flex:1 0 50%;max-width:50%;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin-top:32px;}.kGoYMV:after{display:none;}.kGoYMV:nth-child(-n + 2){margin-top:0;}}/*!sc*/
@media (max-width:751px){.kGoYMV{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;max-width:100%;margin-top:24px;}.kGoYMV:nth-child(-n + 2){margin-top:24px;}.kGoYMV:first-child{margin-top:0;}}/*!sc*/
data-styled.g914[id="sc-3cb1l3-4"]{content:"kGoYMV,"}/*!sc*/
.golIF{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:10px;}/*!sc*/
@media (max-width:751px){.golIF{display:none;}}/*!sc*/
data-styled.g917[id="sc-1vxm7ng-0"]{content:"golIF,"}/*!sc*/
.dbOiAN{margin:0 16px;}/*!sc*/
data-styled.g918[id="sc-1vxm7ng-1"]{content:"dbOiAN,"}/*!sc*/
.jxmQOK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:18px;}/*!sc*/
.jxmQOK a{position:relative;}/*!sc*/
.jxmQOK a:hover::after{background-color:transparent;}/*!sc*/
.jxmQOK a::after{-webkit-transition:background-color 0.2s ease-out;transition:background-color 0.2s ease-out;will-change:background-color;content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background-color:currentColor;}/*!sc*/
@media (max-width:1201px){.jxmQOK{font-size:16px;}}/*!sc*/
data-styled.g919[id="sc-1vxm7ng-2"]{content:"jxmQOK,"}/*!sc*/
.jDOZfu{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;min-width:100%;margin-top:24px;padding:0 41px;z-index:10;}/*!sc*/
@media (max-width:751px){.jDOZfu{padding:0 16.5px;}}/*!sc*/
data-styled.g928[id="sc-4o7hfp-0"]{content:"jDOZfu,"}/*!sc*/
.eBROUt{-webkit-flex:0;-ms-flex:0;flex:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;right:0;margin:0 0 0 auto;}/*!sc*/
@media (max-width:1201px){.eBROUt{-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
@media (max-width:751px){.eBROUt{width:100%;left:0;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
data-styled.g929[id="sc-4o7hfp-1"]{content:"eBROUt,"}/*!sc*/
.fHVRxg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 -12px;}/*!sc*/
@media (max-width:1201px){.fHVRxg{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
data-styled.g930[id="sc-4o7hfp-2"]{content:"fHVRxg,"}/*!sc*/
.eufkJz{position:relative;padding-bottom:60px;color:#fff;}/*!sc*/
@media (max-width:1201px){.eufkJz{padding-bottom:80px;}}/*!sc*/
@media (max-width:751px){.eufkJz{padding-bottom:40px;}}/*!sc*/
data-styled.g934[id="sc-s2pydo-0"]{content:"eufkJz,"}/*!sc*/
.diGrSa{width:654px;margin-bottom:24px;text-align:center;}/*!sc*/
@media (max-width:1201px){.diGrSa{width:468px;}}/*!sc*/
@media (max-width:751px){.diGrSa{width:100%;}}/*!sc*/
data-styled.g935[id="sc-s2pydo-1"]{content:"diGrSa,"}/*!sc*/
.hDkakx{margin-bottom:24px;height:80px;width:80px;background-image:url(https://cdn.otus.ru/media/public/a4/9d/a49da9b57d1c4c8db340cac3cd96eaaf.svg);background-repeat:no-repeat;background-size:100% 100%;}/*!sc*/
@media (max-width:1201px){.hDkakx{margin-bottom:40px;}}/*!sc*/
@media (max-width:751px){.hDkakx{margin-bottom:24px;}}/*!sc*/
data-styled.g936[id="sc-s2pydo-2"]{content:"hDkakx,"}/*!sc*/
.dZDxRw{width:640px;margin-bottom:40px;text-align:center;}/*!sc*/
@media (max-width:751px){.dZDxRw{margin-bottom:24px;width:100%;}}/*!sc*/
data-styled.g937[id="sc-s2pydo-3"]{content:"dZDxRw,"}/*!sc*/
.EOCgR{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g939[id="sc-s2pydo-6"]{content:"EOCgR,"}/*!sc*/
.iHjMxQ{padding:134px 0 200px;}/*!sc*/
@media (max-width:1201px){.iHjMxQ{padding-top:152px;}}/*!sc*/
@media (max-width:751px){.iHjMxQ{padding:128px 0 136px;}}/*!sc*/
data-styled.g940[id="sc-s2pydo-5"]{content:"iHjMxQ,"}/*!sc*/
.gAbnmq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#0f0f10;-webkit-flex:1 0 480px;-ms-flex:1 0 480px;flex:1 0 480px;margin-right:32px;margin-bottom:32px;}/*!sc*/
.gAbnmq:nth-child(2n){margin-right:0;}/*!sc*/
.gAbnmq:nth-last-child(-n + 2){margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.gAbnmq{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;margin-right:0;margin-bottom:24px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.gAbnmq:nth-last-child(-n + 2){margin-bottom:24px;}.gAbnmq:last-child{margin-bottom:0;}}/*!sc*/
@media (max-width:751px){.gAbnmq{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}.gAbnmq:nth-last-child(-n + 2){margin-bottom:40px;}}/*!sc*/
data-styled.g944[id="sc-1l3meww-0"]{content:"gAbnmq,"}/*!sc*/
.cfblzK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:256px;height:144px;border-radius:20px;margin-right:32px;background-image:url(https://img.youtube.com/vi/ztKzIWHEk3M/0.jpg);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;}/*!sc*/
@media (max-width:1201px){.cfblzK{margin-right:40px;}}/*!sc*/
@media (max-width:751px){.cfblzK{margin-right:0;margin-bottom:12px;width:320px;height:177px;}}/*!sc*/
.jghnXv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:256px;height:144px;border-radius:20px;margin-right:32px;background-image:url(https://img.youtube.com/vi/pjZZafWpyS8/0.jpg);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;}/*!sc*/
@media (max-width:1201px){.jghnXv{margin-right:40px;}}/*!sc*/
@media (max-width:751px){.jghnXv{margin-right:0;margin-bottom:12px;width:320px;height:177px;}}/*!sc*/
data-styled.g945[id="sc-1l3meww-1"]{content:"cfblzK,jghnXv,"}/*!sc*/
.cHxJxf{width:192px;}/*!sc*/
@media (max-width:1201px){.cHxJxf{width:320px;}}/*!sc*/
data-styled.g946[id="sc-1l3meww-2"]{content:"cHxJxf,"}/*!sc*/
.blhXzJ{white-space:nowrap;overflow:auto;text-overflow:ellipsis;margin-bottom:4px;}/*!sc*/
@media (max-width:1201px){.blhXzJ{margin-bottom:8px;}}/*!sc*/
data-styled.g947[id="sc-1l3meww-3"]{content:"blhXzJ,"}/*!sc*/
.dePnfm{margin-bottom:12px;}/*!sc*/
@media (max-width:1201px){.dePnfm{margin-bottom:8px;}}/*!sc*/
data-styled.g948[id="sc-1l3meww-4"]{content:"dePnfm,"}/*!sc*/
.gnNvLT{word-wrap:break-word;overflow:hidden;max-height:192px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}/*!sc*/
data-styled.g949[id="sc-1l3meww-5"]{content:"gnNvLT,"}/*!sc*/
.hkpcCk{color:#fff;}/*!sc*/
data-styled.g951[id="sc-1l3meww-7"]{content:"hkpcCk,"}/*!sc*/
.frFtzw{background:#fff;border-radius:20px;padding:64px;margin-bottom:120px;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.frFtzw{padding:40px 32px;margin-bottom:152px;}}/*!sc*/
@media (max-width:751px){.frFtzw{padding:20px 16px;margin-bottom:116px;}}/*!sc*/
data-styled.g952[id="sc-g9zqla-0"]{content:"frFtzw,"}/*!sc*/
.jqTCqB{margin-bottom:40px;}/*!sc*/
@media (max-width:751px){.jqTCqB{margin-bottom:24px;}}/*!sc*/
data-styled.g953[id="sc-g9zqla-1"]{content:"jqTCqB,"}/*!sc*/
.nExnN{display:none;}/*!sc*/
@media (max-width:1201px){.nExnN{display:block;}}/*!sc*/
@media (max-width:751px){.nExnN{display:none;}}/*!sc*/
data-styled.g954[id="sc-g9zqla-2"]{content:"nExnN,"}/*!sc*/
.cmzqGo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:32px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/
@media (max-width:1201px){.cmzqGo{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.cmzqGo{margin-bottom:0;}}/*!sc*/
data-styled.g955[id="sc-g9zqla-3"]{content:"cmzqGo,"}/*!sc*/
.yFPt{font-size:16px;line-height:24px;font-weight:700;padding:12px 32px;cursor:pointer;border-radius:100px;color:#000;background:transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;cursor:default;background:#ffd709;}/*!sc*/
@media (max-width:751px){.yFPt{font-size:14px;line-height:20px;font-weight:700;padding:12px 24px;}}/*!sc*/
.hubLMz{font-size:16px;line-height:24px;font-weight:700;padding:12px 32px;cursor:pointer;border-radius:100px;color:#000;background:transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;}/*!sc*/
@media (max-width:751px){.hubLMz{font-size:14px;line-height:20px;font-weight:700;padding:12px 24px;}}/*!sc*/
data-styled.g995[id="sc-zkx93-0"]{content:"yFPt,hubLMz,"}/*!sc*/
.gPfNRv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background:#fff;border-radius:100px;}/*!sc*/
data-styled.g996[id="sc-t8narm-0"]{content:"gPfNRv,"}/*!sc*/
.gosVbC{margin:0 0 35px;}/*!sc*/
@media (max-width:1201px){.gosVbC{margin:0 0 40px;}}/*!sc*/
@media (max-width:751px){.gosVbC{margin:0 0 24px;}}/*!sc*/
data-styled.g997[id="sc-1peufw-0"]{content:"gosVbC,"}/*!sc*/
.lYQex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:12px 0 30px;}/*!sc*/
@media (max-width:751px){.lYQex{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.lYQex{margin:10px 0 24px;}}/*!sc*/
data-styled.g998[id="sc-1peufw-1"]{content:"lYQex,"}/*!sc*/
.iKtgdB{font-family:'IBM Plex Sans','Roboto',sans-serif;height:48px;}/*!sc*/
@media (max-width:751px){.iKtgdB{height:36px;}}/*!sc*/
data-styled.g999[id="sc-1peufw-2"]{content:"iKtgdB,"}/*!sc*/
.iLnntQ{position:relative;bottom:-8px;font-size:25px;}/*!sc*/
@media (max-width:751px){.iLnntQ{bottom:-6px;font-size:19px;}}/*!sc*/
data-styled.g1001[id="sc-1peufw-4"]{content:"iLnntQ,"}/*!sc*/
.dAAQHW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:24px;}/*!sc*/
data-styled.g1002[id="sc-147fm2r-0"]{content:"dAAQHW,"}/*!sc*/
.cnspAU{margin-right:24px;}/*!sc*/
data-styled.g1003[id="sc-147fm2r-1"]{content:"cnspAU,"}/*!sc*/
.ewmmcs{border-top:1px solid #fff;margin-bottom:24px;width:288px;}/*!sc*/
@media (max-width:1201px){.ewmmcs{width:100%;}}/*!sc*/
data-styled.g1004[id="sc-1r0uxxj-0"]{content:"ewmmcs,"}/*!sc*/
.bPBPRV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#fff;}/*!sc*/
data-styled.g1005[id="sc-1r0uxxj-1"]{content:"bPBPRV,"}/*!sc*/
.eewVHU{display:none;}/*!sc*/
@media (max-width:751px){.eewVHU{display:block;}}/*!sc*/
data-styled.g1006[id="sc-1r0uxxj-2"]{content:"eewVHU,"}/*!sc*/
.kMVdSV{position:relative;cursor:pointer;}/*!sc*/
.kMVdSV:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;border-bottom:1px solid #fff;}/*!sc*/
data-styled.g1007[id="sc-1r0uxxj-3"]{content:"kMVdSV,"}/*!sc*/
.hgTHTJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g1008[id="sc-10kui61-0"]{content:"hgTHTJ,"}/*!sc*/
.gEGbfQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-bottom:60px;}/*!sc*/
@media (max-width:751px){.gEGbfQ{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;margin-bottom:52px;}}/*!sc*/
data-styled.g1009[id="sc-10kui61-1"]{content:"gEGbfQ,"}/*!sc*/
.bpPrAe{margin-bottom:36px;}/*!sc*/
@media (max-width:1201px){.bpPrAe{display:none;}}/*!sc*/
data-styled.g1010[id="sc-10kui61-2"]{content:"bpPrAe,"}/*!sc*/
.bTFiyu{-webkit-flex:1 0 416px;-ms-flex:1 0 416px;flex:1 0 416px;margin-left:96px;}/*!sc*/
@media (max-width:1201px){.bTFiyu{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;margin-left:0;}}/*!sc*/
data-styled.g1011[id="sc-7ugo7y-0"]{content:"bTFiyu,"}/*!sc*/
.iOYphy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:40px 32px;background:#fff;color:#0f0f10;border-radius:20px;}/*!sc*/
@media (max-width:751px){.iOYphy{padding:20px 16px;}}/*!sc*/
data-styled.g1012[id="sc-7ugo7y-1"]{content:"iOYphy,"}/*!sc*/
.jFFNWn{margin-top:20px;}/*!sc*/
data-styled.g1018[id="sc-ne2nun-0"]{content:"jFFNWn,"}/*!sc*/
.cWqojy{color:#4749c0;position:relative;background:none;padding:0;cursor:pointer;}/*!sc*/
.cWqojy:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.cWqojy:active{color:#585cff;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g1020[id="sc-ne2nun-2"]{content:"cWqojy,"}/*!sc*/
.kgGhBx{margin-bottom:12px;}/*!sc*/
data-styled.g1023[id="sc-1u84tez-2"]{content:"kgGhBx,"}/*!sc*/
.lcNwWc{margin-bottom:20px;}/*!sc*/
data-styled.g1024[id="sc-1u84tez-3"]{content:"lcNwWc,"}/*!sc*/
.VNvrk{width:992px;}/*!sc*/
@media (max-width:1201px){.VNvrk{width:100%;}}/*!sc*/
data-styled.g1026[id="sc-mgf5g0-0"]{content:"VNvrk,"}/*!sc*/
.cGuqjL{position:relative;height:auto;margin-bottom:120px;padding:160px 0 200px;color:#fff;}/*!sc*/
@media (max-width:751px){.cGuqjL{margin-bottom:92px;padding:136px 0;}}/*!sc*/
data-styled.g1027[id="sc-mgf5g0-1"]{content:"cGuqjL,"}/*!sc*/
.guDvEk{height:80px;width:80px;background-image:url(https://cdn.otus.ru/media/public/a4/9d/a49da9b57d1c4c8db340cac3cd96eaaf.svg);background-repeat:no-repeat;background-size:100% 100%;margin-right:24px;}/*!sc*/
@media (max-width:751px){.guDvEk{margin-right:0;margin-bottom:16px;}}/*!sc*/
data-styled.g1028[id="sc-mgf5g0-2"]{content:"guDvEk,"}/*!sc*/
.iMmpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.iMmpz{margin-bottom:80px;}}/*!sc*/
@media (max-width:751px){.iMmpz{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:40px;}}/*!sc*/
data-styled.g1029[id="sc-mgf5g0-3"]{content:"iMmpz,"}/*!sc*/
.cIkHKG{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.cIkHKG{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g1030[id="sc-mgf5g0-4"]{content:"cIkHKG,"}/*!sc*/
.cHLoOP{text-align:center;}/*!sc*/
data-styled.g1031[id="sc-mgf5g0-5"]{content:"cHLoOP,"}/*!sc*/
.kiGnqS{margin-top:40px;display:none;}/*!sc*/
@media (max-width:1201px){.kiGnqS{display:inherit;}}/*!sc*/
data-styled.g1032[id="sc-mgf5g0-6"]{content:"kiGnqS,"}/*!sc*/
.iRiNTt{background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin:120px 0 0;padding:54px 64px;border-radius:20px;box-shadow:0px 0px 49px rgba(0,0,0,0.05);}/*!sc*/
@media (max-width:1201px){.iRiNTt{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:normal;-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;padding:48px 64px;}}/*!sc*/
@media (max-width:1201px){.iRiNTt{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:40px 24px;}}/*!sc*/
data-styled.g1033[id="sc-hqry8z-0"]{content:"iRiNTt,"}/*!sc*/
.byqrft{-webkit-flex:1;-ms-flex:1;flex:1;color:#fff;white-space:pre-wrap;}/*!sc*/
@media (max-width:751px){.byqrft{white-space:normal;}}/*!sc*/
data-styled.g1034[id="sc-hqry8z-1"]{content:"byqrft,"}/*!sc*/
.ipIyzP{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:288px;margin:0 32px 0 0;}/*!sc*/
@media (max-width:1201px){.ipIyzP{width:100%;margin:32px 0 0;}}/*!sc*/
@media (max-width:1201px){.ipIyzP{margin:28px 0 0;}}/*!sc*/
data-styled.g1035[id="sc-hqry8z-2"]{content:"ipIyzP,"}/*!sc*/
.kGaApg:not(:last-child){margin-bottom:24px;}/*!sc*/
data-styled.g1036[id="sc-1dvzzbq-0"]{content:"kGaApg,"}/*!sc*/
.bTvRzO{margin-bottom:40px;}/*!sc*/
.bTvRzO:last-child{margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.bTvRzO{margin-bottom:32px;}}/*!sc*/
@media (max-width:751px){.bTvRzO{margin-bottom:24px;}}/*!sc*/
data-styled.g1038[id="sc-yxq6ju-1"]{content:"bTvRzO,"}/*!sc*/
.kOagS{padding-top:40px;}/*!sc*/
@media (max-width:1201px){.kOagS{padding-top:32px;}}/*!sc*/
@media (max-width:751px){.kOagS{padding-top:24px;}}/*!sc*/
data-styled.g1039[id="sc-12j3cf5-0"]{content:"kOagS,"}/*!sc*/
.jTjgBj{margin:0 0 24px;}/*!sc*/
@media (max-width:751px){.jTjgBj{margin:0 0 16px;}}/*!sc*/
data-styled.g1040[id="sc-12j3cf5-1"]{content:"jTjgBj,"}/*!sc*/
.cmpQoV{margin-bottom:120px;padding-top:80px;border-top:1px solid #afafaf;}/*!sc*/
@media (max-width:1201px){.cmpQoV{margin-bottom:58px;}}/*!sc*/
@media (max-width:751px){.cmpQoV{margin-bottom:64px;}}/*!sc*/
data-styled.g1047[id="sc-1am6qh7-0"]{content:"cmpQoV,"}/*!sc*/
.bmcDgO{width:992px;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.bmcDgO{width:100%;}}/*!sc*/
@media (max-width:751px){.bmcDgO{width:100%;}}/*!sc*/
data-styled.g1048[id="sc-1am6qh7-1"]{content:"bmcDgO,"}/*!sc*/
.jZdzTX{margin-bottom:76px;}/*!sc*/
@media (max-width:1201px){.jZdzTX{margin-bottom:84px;}}/*!sc*/
@media (max-width:751px){.jZdzTX{margin-bottom:32px;}}/*!sc*/
data-styled.g1049[id="sc-1am6qh7-2"]{content:"jZdzTX,"}/*!sc*/
.coDgWq{width:512px;}/*!sc*/
@media (max-width:1201px){.coDgWq{width:500px;}}/*!sc*/
@media (max-width:751px){.coDgWq{width:352px;}}/*!sc*/
data-styled.g1050[id="sc-wqbts8-0"]{content:"coDgWq,"}/*!sc*/
.jjMVIs{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:992px;margin:0 auto 212px;}/*!sc*/
@media (max-width:1201px){.jjMVIs{margin-bottom:198px;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;}}/*!sc*/
@media (max-width:751px){.jjMVIs{margin-bottom:136px;}}/*!sc*/
data-styled.g1051[id="sc-130tum6-0"]{content:"jjMVIs,"}/*!sc*/
.leLsGR{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-width:480px;}/*!sc*/
.leLsGR h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;}/*!sc*/
@media (max-width:1201px){.leLsGR h2{font-size:52px;line-height:64px;max-width:100%;margin-top:66px;}}/*!sc*/
@media (max-width:751px){.leLsGR h2{font-size:24px;line-height:28px;margin-top:28px;}}/*!sc*/
@media (max-width:1201px){.leLsGR{max-width:100%;margin-top:66px;}}/*!sc*/
@media (max-width:751px){.leLsGR{margin-top:28px;}}/*!sc*/
data-styled.g1052[id="sc-130tum6-1"]{content:"leLsGR,"}/*!sc*/
.ervbDS{margin:0 12px 0 0;}/*!sc*/
.ervbDS:last-child{margin:0;}/*!sc*/
data-styled.g1073[id="sc-e8trbg-0"]{content:"ervbDS,"}/*!sc*/
.hejpaX{color:#afafaf;}/*!sc*/
data-styled.g1074[id="sc-uyf7sm-0"]{content:"hejpaX,"}/*!sc*/
.gQNEkq{padding:40px 64px;background:#fff;border-radius:20px;height:100%;}/*!sc*/
@media (max-width:1201px){.gQNEkq.swiper-slide{width:544px;padding:40px;}}/*!sc*/
@media (max-width:751px){.gQNEkq.swiper-slide{width:100%;margin:0;padding:24px 16px;}}/*!sc*/
data-styled.g1075[id="sc-h3yero-0"]{content:"gQNEkq,"}/*!sc*/
.kaQYTv{color:#0f0f10;margin-bottom:16px;}/*!sc*/
@media (max-width:751px){.kaQYTv{margin-bottom:4px;}}/*!sc*/
data-styled.g1076[id="sc-h3yero-1"]{content:"kaQYTv,"}/*!sc*/
.dOvyBf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:20px;}/*!sc*/
data-styled.g1077[id="sc-h3yero-2"]{content:"dOvyBf,"}/*!sc*/
.keJcdl{margin-right:24px;}/*!sc*/
data-styled.g1078[id="sc-h3yero-3"]{content:"keJcdl,"}/*!sc*/
.dYfXnT{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-width:30%;}/*!sc*/
@media (max-width:1201px){.dYfXnT{max-width:208px;}}/*!sc*/
@media (max-width:751px){.dYfXnT{max-width:92px;}}/*!sc*/
data-styled.g1080[id="sc-h3yero-5"]{content:"dYfXnT,"}/*!sc*/
.bXBhOa{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-self:flex-start;margin-left:auto;}/*!sc*/
data-styled.g1081[id="sc-h3yero-6"]{content:"bXBhOa,"}/*!sc*/
.fwXQYP{color:#0f0f10;margin-bottom:16px;word-wrap:break-word;overflow:hidden;max-height:168px;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;}/*!sc*/
@media (max-width:1201px){.fwXQYP{word-wrap:break-word;overflow:hidden;max-height:144px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;}}/*!sc*/
@media (max-width:751px){.fwXQYP{word-wrap:break-word;overflow:hidden;max-height:216px;display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;}}/*!sc*/
data-styled.g1083[id="sc-h3yero-8"]{content:"fwXQYP,"}/*!sc*/
.dXezGA{margin-bottom:120px;position:relative;}/*!sc*/
@media (max-width:751px){.dXezGA{margin-bottom:80px;}}/*!sc*/
data-styled.g1085[id="sc-h0c1ca-0"]{content:"dXezGA,"}/*!sc*/
@media (min-width:1200px){.gaiDWC{margin:-16px -16px 0;}}/*!sc*/
data-styled.g1086[id="sc-h0c1ca-1"]{content:"gaiDWC,"}/*!sc*/
.dygiGU{margin-left:64px;margin-bottom:60px;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.dygiGU{margin-left:0;margin-bottom:44px;}}/*!sc*/
@media (max-width:751px){.dygiGU{margin-bottom:24px;}}/*!sc*/
data-styled.g1089[id="sc-h0c1ca-4"]{content:"dygiGU,"}/*!sc*/
@media (max-width:1201px){.vuxta .swiper{margin-right:-36px;}}/*!sc*/
@media (max-width:751px){.vuxta .swiper{margin-right:0;}}/*!sc*/
data-styled.g1090[id="sc-h0c1ca-5"]{content:"vuxta,"}/*!sc*/
.ildkjA{background-image:url(https://cdn.otus.ru/media/public/cf/53/cf53417e8938414790ba770641062316.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.ildkjA:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.eWjfbj{background-image:url(https://cdn.otus.ru/media/public/c9/ce/c9ce95ec53414e938dbf96983cb0472f.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.eWjfbj:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.igTkz{background-image:url(https://cdn.otus.ru/media/public/ec/11/ec118f6f41ab46cebc015c6a34cca66f.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.igTkz:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.iCZAU{background-image:url(https://cdn.otus.ru/media/public/db/ac/dbac30f367ab438b9ebb3d4cf7a56c9b.png);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.iCZAU:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.epJsoR{background-image:url(https://cdn.otus.ru/media/public/b4/c8/b4c8f844565b4be0b9fa0de33ed9b20c.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.epJsoR:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.BpJs{background-image:url(https://cdn.otus.ru/media/public/f3/be/f3be62163aa746b9963bd49ba7971b53.png);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.BpJs:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.dgxDJn{background-image:url(https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.dgxDJn:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.izRHOr{background-image:url(https://cdn.otus.ru/media/public/15/47/15478133bb014fb0a4aeb2687c6c9c76.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.izRHOr:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.lkcwQG{background-image:url(https://cdn.otus.ru/media/public/9a/93/9a93e389c2f14d63ae66f99d01076b37.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.lkcwQG:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
data-styled.g1091[id="sc-jotj87-0"]{content:"ildkjA,eWjfbj,igTkz,iCZAU,epJsoR,BpJs,dgxDJn,izRHOr,lkcwQG,"}/*!sc*/
.fjUCpx{cursor:pointer;position:relative;width:256px;height:380px;}/*!sc*/
@media (min-width:1200px){.fjUCpx{-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;}.fjUCpx:hover{-webkit-transform:scale(1.078);-ms-transform:scale(1.078);transform:scale(1.078);}.fjUCpx:hover > .sc-jotj87-0::before{opacity:0;}}/*!sc*/
@media (max-width:751px){.fjUCpx{width:172px;height:255px;}}/*!sc*/
data-styled.g1092[id="sc-jotj87-1"]{content:"fjUCpx,"}/*!sc*/
.hhSKfU{color:#fff;position:absolute;top:16px;left:16px;z-index:1;will-change:background-color,padding,border-radius,transform;border-radius:20px;background-color:#25b969;padding:4px 8px;}/*!sc*/
data-styled.g1096[id="sc-jotj87-5"]{content:"hhSKfU,"}/*!sc*/
.fxMjmR{color:#fff;}/*!sc*/
.fxMjmR.swiper-slide{width:256px;}/*!sc*/
@media (max-width:1201px){.fxMjmR.swiper-slide{width:256px;}}/*!sc*/
@media (max-width:751px){.fxMjmR.swiper-slide{width:172px;}}/*!sc*/
@media (max-width:1201px){.fxMjmR.swiper-slide{margin:0;}}/*!sc*/
data-styled.g1097[id="sc-1s527z5-0"]{content:"fxMjmR,"}/*!sc*/
.iiYkXk{margin-top:20px;}/*!sc*/
data-styled.g1098[id="sc-1s527z5-1"]{content:"iiYkXk,"}/*!sc*/
.jSHKpX{margin-top:8px;}/*!sc*/
@media (max-width:751px){.jSHKpX{margin-top:4px;}}/*!sc*/
data-styled.g1099[id="sc-1s527z5-2"]{content:"jSHKpX,"}/*!sc*/
.kLSaHO{margin-top:8px;font-style:italic;}/*!sc*/
@media (max-width:751px){.kLSaHO{margin-top:4px;}}/*!sc*/
data-styled.g1100[id="sc-1s527z5-3"]{content:"kLSaHO,"}/*!sc*/
.iJNhSn{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.iJNhSn{width:100%;}}/*!sc*/
data-styled.g1115[id="sc-7bqyxh-0"]{content:"iJNhSn,"}/*!sc*/
.eTWzoY{position:relative;height:auto;margin-bottom:120px;padding:160px 0 200px;color:#fff;}/*!sc*/
@media (max-width:751px){.eTWzoY{margin-bottom:92px;padding:136px 0;}}/*!sc*/
data-styled.g1116[id="sc-7bqyxh-1"]{content:"eTWzoY,"}/*!sc*/
.imGcoX{overflow:hidden;padding:0 105px;margin:0 -105px;}/*!sc*/
@media (max-width:1201px){.imGcoX{padding:0 36px;margin:0 -36px;}}/*!sc*/
@media (max-width:751px){.imGcoX{padding:0 16px;margin:0 -16px;}}/*!sc*/
data-styled.g1117[id="sc-7bqyxh-2"]{content:"imGcoX,"}/*!sc*/
.gvtgmJ{margin-bottom:80px;}/*!sc*/
@media (max-width:1201px){.gvtgmJ{margin-bottom:48px;}}/*!sc*/
@media (max-width:751px){.gvtgmJ{margin-bottom:40px;}}/*!sc*/
data-styled.g1118[id="sc-7bqyxh-3"]{content:"gvtgmJ,"}/*!sc*/
.hgzLIf{position:relative;width:672px;margin:56px 0 0;}/*!sc*/
@media (max-width:1201px){.hgzLIf{margin:112px 0 0;}}/*!sc*/
@media (max-width:751px){.hgzLIf{margin:48px 0 0;}}/*!sc*/
@media (max-width:751px){.hgzLIf{width:100%;}}/*!sc*/
data-styled.g1119[id="sc-7bqyxh-4"]{content:"hgzLIf,"}/*!sc*/
.gCZLLN .swiper{overflow:visible;}/*!sc*/
data-styled.g1120[id="sc-7bqyxh-5"]{content:"gCZLLN,"}/*!sc*/
.cjUVzd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto 67px;padding:0 64px 0;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.cjUVzd{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 auto 110px;padding:0;}}/*!sc*/
@media (max-width:751px){.cjUVzd{margin:0 auto 50px;}}/*!sc*/
data-styled.g1122[id="sc-rvdro8-0"]{content:"cjUVzd,"}/*!sc*/
.hIDsVz{margin:0 0 40px;}/*!sc*/
@media (max-width:751px){.hIDsVz{margin:0 0 24px;}}/*!sc*/
data-styled.g1124[id="sc-rvdro8-2"]{content:"hIDsVz,"}/*!sc*/
.fAoRTp{min-width:448px;width:448px;min-height:448px;height:448px;margin:0 32px 0 0;object-fit:contain;}/*!sc*/
@media (max-width:1201px){.fAoRTp{min-width:547px;width:547px;min-height:547px;height:547px;margin:0 auto 24px;}}/*!sc*/
@media (max-width:751px){.fAoRTp{min-width:352px;width:352px;min-height:352px;height:352px;margin:0 auto 40px;}}/*!sc*/
data-styled.g1125[id="sc-rvdro8-1-Component"]{content:"fAoRTp,"}/*!sc*/
.bbEYfR{margin-bottom:120px;}/*!sc*/
@media (max-width:1201px){.bbEYfR{margin-bottom:80px;}}/*!sc*/
@media (max-width:751px){.bbEYfR{margin-bottom:40px;}}/*!sc*/
data-styled.g1126[id="sc-nqd633-0"]{content:"bbEYfR,"}/*!sc*/
</style></head><body><div id="__next"><script type="application/ld+json">{
"@context": "http://schema.org",
"@type": "Course",
"name": "C#-разработчик. Базовый уровень",
"url": "https://otus.ru",
"logo": "https://otus.ru/__new_static__/img/meta-image.png",
"sameAs": [
"https://vk.com/otusru",
"https://t.me/Otusjava"
],
"description": "Курс рассчитан на людей без опыта в IT, которые хотят освоить программирование на одном из самых популярных языков С#. Вы пройдете путь от изучения синтаксиса C# до разработки своего первого десктопного приложения.\nНа курсе вы:- научитесь …",
"provider": {
"@type": "Organization",
"name": "OTUS",
"sameAs": "https://otus.ru"
},
"image": "https://otus.ru/__new_static__/img/meta-image.png",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"ratingCount": "150"
},
"offers": {
"@type": "Offer",
"priceCurrency": "RUB",
"price": 80000,
"availability": "https://schema.org/InStock",
"url": "https://otus.ru/lessons/c-sharp-basic"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"name": "C#-разработчик. Базовый уровень (Онлайн)",
"courseMode": "Online",
"startDate": "2026-04-29",
"endDate": "2026-12-10",
"duration": "P6M"
}
}</script><div class="sc-1j17uuq-0 klmZDZ sc-1b3dhyb-0 bzaXwp"><div class="ui-chunk-container sc-1pwtpfp-0 dMvvUT sc-1pwtpfp-0 dMvvUT"><div class="before-header-ui">
<div class="before-header-ui__ellipse1"></div>
<div class="before-header-ui__ellipse2"></div>
<div class="before-header-ui__container">
<div class="before-header-ui__img before-header-ui__img_sales"></div>
<div class="before-header-ui__content">
<div class="before-header-ui__title hide-phone">Курсы по нейросетям со скидкой до 30%</div>
<div class="before-header-ui__title show-phone">Курсы по нейросетям со скидкой до 30%</div>
</div>
<a class="before-header-ui__button" rel="noopener" href="https://otus.ru/catalog/courses?categories=neural_networks&utm_source=internal&utm_medium=free&utm_campaign=otus&utm_term=chank&utm_content=sla_sale_20-02-2026-10-04-2026" target="_blank">Выбрать курс</a>
</div>
</div></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div id="main-menu" class="sc-r03h0s-0 dKnRmO"><div class="sc-x072mc-0 sc-1x9oq14-0-styled-div sc-r03h0s-1 hOtCic eFDQwF bMTmMH"><a class="sc-r03h0s-2 iLJJBX" href="/"><img src="/_next/static/images/img/logo2022_without_text-ad6a01e8608432b9967c441a0f4760b4.svg" alt="OTUS Logo" width="82" height="42" class="sc-136rsxq-0 dxxUfg"/></a><nav class="sc-r03h0s-3 kVvakX"><div class="sc-r03h0s-5 sc-1youhxc-2 sc-k2vhmo-0 bYKNcH gAMwby gnDzft"><div class="sc-k2vhmo-1 cYMYSf"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-k2vhmo-2 etPPJE"><circle cx="11.7666" cy="11.7666" r="8.98856" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></circle><path d="M18.0183 18.4852L21.5423 22.0001" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><div class="sc-r03h0s-5 sc-1youhxc-2 cGgLky ewISlX"><span title="Обучение" class="sc-1youhxc-1 cMNIlZ">Обучение</span> <div size="24" class="sc-i28ik1-0 bmVffP sc-1youhxc-0 dwrtLP"><div class="sc-i28ik1-1 gNVXtU"><svg width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-8zcw6d-0 eJDLVL"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.10067 0.378818C1.29593 0.183556 1.61251 0.183555 1.80778 0.378818L5.00023 3.57127L8.19272 0.378777C8.38798 0.183515 8.70457 0.183515 8.89983 0.378777C9.09509 0.574039 9.09509 0.890622 8.89983 1.08588L5.3643 4.62142C5.26426 4.72146 5.13237 4.77024 5.00127 4.76777C4.8695 4.77079 4.73676 4.72202 4.6362 4.62146L1.10067 1.08592C0.905408 0.890663 0.905408 0.57408 1.10067 0.378818Z" fill="currentColor"></path></svg></div></div></div><div class="sc-piuiz2-0 fEESDM"><div class="sc-piuiz2-1 fDVGGf"><svg class="sc-1gml7ra-3 XomuX sc-r03h0s-6 sc-1891c19-0 kpxsrg ggDqfB" viewBox="0 0 600 600" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M125.573 140.619C131.659 71.6017 210.245 34.9562 267.027 74.6573L553.942 275.262C610.723 314.962 603.117 401.233 540.247 430.55L222.58 578.681C159.71 607.997 88.7344 558.37 94.8204 489.355L125.573 140.619Z" stroke="#eaeaea" class="sc-1gml7ra-0 hERPbJ"></path><path d="M148.472 246.647C133.624 191.005 184.615 140.013 240.257 154.862L519.856 229.476C575.498 244.325 594.059 313.877 553.266 354.67L348.281 559.656C307.488 600.449 237.935 581.888 223.087 526.246L148.472 246.647Z" fill="url(#07e8a6af93e88e10bb65340a)"></path><defs><linearGradient id="07e8a6af93e88e10bb65340a" x1="128.696" y1="395.739" x2="443.538" y2="180.173" gradientUnits="userSpaceOnUse"><stop stop-color="rgba(249, 249, 249, 1)"></stop><stop offset="1" stop-color="rgba(235, 235, 235, 1)"></stop></linearGradient></defs></svg><div class="sc-piuiz2-2 fhxPhf"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Направления</p><div class="sc-1kjc6dh-2 sc-ig0m9y-0 lhsLfs cgYLnJ"><a class="sc-4zz0i4-0 dZepSJ" href="/categories/programming">Программирование<!-- --> (<!-- -->117<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/architecture">Архитектура<!-- --> (<!-- -->17<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/data-science">Data Science<!-- --> (<!-- -->27<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/operations">Инфраструктура<!-- --> (<!-- -->58<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/gamedev">GameDev<!-- --> (<!-- -->10<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/information-security-courses">Безопасность<!-- --> (<!-- -->15<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/marketing-business">Управление<!-- --> (<!-- -->46<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/analytics">Аналитика и анализ<!-- --> (<!-- -->25<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/business-product">Бизнес и продукт в IT<!-- --> (<!-- -->26<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/import-substitution">Импортозамещение<!-- --> (<!-- -->15<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/testing">Тестирование<!-- --> (<!-- -->12<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/neural_networks">Нейросети<!-- --> (<!-- -->9<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/it-bez-programmirovanija">IT без программирования<!-- --> (<!-- -->19<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/corporate">Корпоративные курсы<!-- --> (<!-- -->27<!-- -->)</a></div></div></div><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">События</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/lessons/calendar/2026">Календарь запуска курсов</a><a class="sc-4zz0i4-0 dZepSJ" href="/events/near">Календарь мероприятий</a></div></div><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Другое</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/categories/spec">Специализации<!-- --> (<!-- -->13<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/online">Подготовительные курсы<!-- --> (<!-- -->14<!-- -->)</a><a class="sc-4zz0i4-0 gXNPrh" href="/subscription">Подписка на курсы</a><a class="sc-4zz0i4-0 dZepSJ" href="/tests">Проверьте свои знания</a></div></div></div></div></div></div><div class="sc-r03h0s-5 sc-1youhxc-2 cGgLky ewISlX"><span title="Информация" class="sc-1youhxc-1 cMNIlZ">Информация</span> <div size="24" class="sc-i28ik1-0 bmVffP sc-1youhxc-0 dwrtLP"><div class="sc-i28ik1-1 gNVXtU"><svg width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-8zcw6d-0 eJDLVL"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.10067 0.378818C1.29593 0.183556 1.61251 0.183555 1.80778 0.378818L5.00023 3.57127L8.19272 0.378777C8.38798 0.183515 8.70457 0.183515 8.89983 0.378777C9.09509 0.574039 9.09509 0.890622 8.89983 1.08588L5.3643 4.62142C5.26426 4.72146 5.13237 4.77024 5.00127 4.76777C4.8695 4.77079 4.73676 4.72202 4.6362 4.62146L1.10067 1.08592C0.905408 0.890663 0.905408 0.57408 1.10067 0.378818Z" fill="currentColor"></path></svg></div></div></div><div class="sc-piuiz2-0 fEESDM"><div class="sc-piuiz2-1 fDVGGf"><svg class="sc-1gml7ra-3 XomuX sc-r03h0s-6 sc-1891c19-0 kpxsrg ggDqfB" viewBox="0 0 600 600" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M125.573 140.619C131.659 71.6017 210.245 34.9562 267.027 74.6573L553.942 275.262C610.723 314.962 603.117 401.233 540.247 430.55L222.58 578.681C159.71 607.997 88.7344 558.37 94.8204 489.355L125.573 140.619Z" stroke="#eaeaea" class="sc-1gml7ra-0 hERPbJ"></path><path d="M148.472 246.647C133.624 191.005 184.615 140.013 240.257 154.862L519.856 229.476C575.498 244.325 594.059 313.877 553.266 354.67L348.281 559.656C307.488 600.449 237.935 581.888 223.087 526.246L148.472 246.647Z" fill="url(#ef922b323c000ed4fe740aed)"></path><defs><linearGradient id="ef922b323c000ed4fe740aed" x1="128.696" y1="395.739" x2="443.538" y2="180.173" gradientUnits="userSpaceOnUse"><stop stop-color="rgba(249, 249, 249, 1)"></stop><stop offset="1" stop-color="rgba(235, 235, 235, 1)"></stop></linearGradient></defs></svg><div class="sc-piuiz2-2 fhxPhf"><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">OTUS</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/about">О компании</a><a class="sc-4zz0i4-0 dZepSJ" href="/smi">СМИ о нас</a><a class="sc-4zz0i4-0 dZepSJ" href="/journal">OTUS Журнал</a><a class="sc-4zz0i4-0 dZepSJ" href="https://direct.otus.ru" target="_blank" rel="noopener noreferrer">OTUS Директ</a><a class="sc-4zz0i4-0 dZepSJ" href="/legal/common">Сведения об образовательной организации</a><a class="sc-4zz0i4-0 dZepSJ" rel="noopener noreferrer" href="/contacts">Контактная информация</a></div></div></div><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Студентам</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/reviews">Отзывы</a><a class="sc-4zz0i4-0 dZepSJ" href="https://landing.otus.ru/about-otus ">Как выбрать курс</a><a class="sc-4zz0i4-0 dZepSJ" href="https://landing.otus.ru/gallery">Истории выпускников</a><a class="sc-4zz0i4-0 dZepSJ" href="/instructors">Наши преподаватели</a><a class="sc-4zz0i4-0 dZepSJ" href="/employers/all">Наши партнеры</a><a class="sc-4zz0i4-0 dZepSJ" href="/about/loyalty">Программа лояльности</a><a class="sc-4zz0i4-0 dZepSJ" href="/faq">Вопросы и ответы</a></div></div></div><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Преподавателям</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/teach">Стать преподавателем</a><a class="sc-4zz0i4-0 dZepSJ" href="/instructors">Наши преподаватели</a><a class="sc-4zz0i4-0 dZepSJ" href="/nest/dlja-prepodavatelej">База знаний</a></div></div></div></div></div></div><a class="sc-1vdp0yy-0 ldwIhb sc-r03h0s-5 sc-r03h0s-7 cGgLky jHaHbB" href="/b2b">Компаниям</a></nav><section class="sc-1pw2hu9-0 deZXFK"><div class="sc-r03h0s-5 sc-gqclrv-0 cGgLky eDycrR"><div class="sc-199a3eq-1-div cwTwwh sc-hrqzy3-0 jTtOKw"><div class="sc-hrqzy3-1 faPWUN"></div><div class="sc-1xopqwy-0 LDEpF"></div></div><p class="sc-1x9oq14-0 sc-gqclrv-1 eMZyoN rcsBI sc-hrqzy3-0 ePGOOQ"><div class="sc-1xopqwy-0 iXhGSD">UserPartName</div></p></div></section></div></div><main class="sc-1j17uuq-1 dPcKhb"><div class="sc-1b3dhyb-1 dvLdDh"><section class="sc-s2pydo-0 eufkJz"><div class="sc-4o7hfp-0 jDOZfu"><div class="sc-1vxm7ng-0 golIF"><div class="sc-1vxm7ng-2 jxmQOK"><a href="/categories/programming">Программирование</a><svg class="sc-1vxm7ng-1 dbOiAN" width="7" height="10" viewBox="0 0 7 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L5 5L1 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div><div class="sc-1vxm7ng-2 jxmQOK"><span>C# Developer. Basic</span></div></div><div class="sc-4o7hfp-1 eBROUt"><div class="sc-4o7hfp-2 fHVRxg"></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-s2pydo-5 iHjMxQ"><i class="sc-1ddwpfq-0 gIfsvL"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-s2pydo-6 EOCgR sc-x072mc-0 hOtCic"><div class="sc-s2pydo-2 hDkakx"></div><h1 class="sc-1x9oq14-0 sc-s2pydo-1 kswXpy diGrSa">C# Developer. Basic</h1><div class="sc-1x9oq14-0 sc-s2pydo-3 enpOeQ dZDxRw"><p>Научитесь разработке на C# с нуля</p>
<div> </div></div><div class="sc-1lrh8w5-0 ftkQLi sc-kixk9v-0 gwYuWO"><button class="sc-1qig7zt-0 czpnNJ sc-1lrh8w5-3 JTsAm"><span class="sc-1lrh8w5-4 jTrfLJ">Оставить заявку</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1lrh8w5-5 eCsaUt"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.5 12.5537C12.2546 12.5537 14.4626 10.3171 14.4626 7.52684C14.4626 4.73663 12.2546 2.5 9.5 2.5C6.74543 2.5 4.53737 4.73663 4.53737 7.52684C4.53737 10.3171 6.74543 12.5537 9.5 12.5537ZM9.5 15.0152C5.45422 15.0152 2 15.6621 2 18.2464C2 20.8298 5.4332 21.5 9.5 21.5C13.5448 21.5 17 20.8531 17 18.2687C17 15.6844 13.5668 15.0152 9.5 15.0152ZM19.8979 9.58786H21.101C21.5962 9.58786 22 9.99731 22 10.4995C22 11.0016 21.5962 11.4111 21.101 11.4111H19.8979V12.5884C19.8979 13.0906 19.4952 13.5 18.999 13.5C18.5038 13.5 18.1 13.0906 18.1 12.5884V11.4111H16.899C16.4027 11.4111 16 11.0016 16 10.4995C16 9.99731 16.4027 9.58786 16.899 9.58786H18.1V8.41162C18.1 7.90945 18.5038 7.5 18.999 7.5C19.4952 7.5 19.8979 7.90945 19.8979 8.41162V9.58786Z" fill="currentColor"></path></svg></button></div></div></div><div class="sc-x072mc-0 sc-3cb1l3-1 hOtCic galmep"><div class="sc-3cb1l3-3 jeNzke"><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.7071 8.79633C18.7071 10.0523 19.039 10.7925 19.7695 11.6456C20.3231 12.2741 20.5 13.0808 20.5 13.956C20.5 14.8302 20.2128 15.6601 19.6373 16.3339C18.884 17.1417 17.8215 17.6573 16.7372 17.747C15.1659 17.8809 13.5937 17.9937 12.0005 17.9937C10.4063 17.9937 8.83505 17.9263 7.26375 17.747C6.17846 17.6573 5.11602 17.1417 4.36367 16.3339C3.78822 15.6601 3.5 14.8302 3.5 13.956C3.5 13.0808 3.6779 12.2741 4.23049 11.6456C4.98384 10.7925 5.29392 10.0523 5.29392 8.79633V8.3703C5.29392 6.68834 5.71333 5.58852 6.577 4.51186C7.86106 2.9417 9.91935 2 11.9558 2H12.0452C14.1254 2 16.2502 2.98702 17.5125 4.62466C18.3314 5.67916 18.7071 6.73265 18.7071 8.3703V8.79633ZM9.07367 20.0608C9.07367 19.5573 9.53582 19.3266 9.96318 19.2279C10.4631 19.1222 13.5093 19.1222 14.0092 19.2279C14.4366 19.3266 14.8987 19.5573 14.8987 20.0608C14.8738 20.5402 14.5926 20.9653 14.204 21.2352C13.7001 21.628 13.1088 21.8767 12.4906 21.9664C12.1487 22.0107 11.8128 22.0117 11.4828 21.9664C10.8636 21.8767 10.2723 21.628 9.76938 21.2342C9.37978 20.9653 9.09852 20.5402 9.07367 20.0608Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">29 апреля</p></div><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.33037 2.00049H16.6694C20.0704 2.00049 21.9904 3.92949 22.0004 7.33049V16.6705C22.0004 20.0705 20.0704 22.0005 16.6694 22.0005H7.33037C3.92937 22.0005 2.00037 20.0705 2.00037 16.6705V7.33049C2.00037 3.92949 3.92937 2.00049 7.33037 2.00049ZM12.0494 17.8605C12.4804 17.8605 12.8394 17.5405 12.8794 17.1105V6.92049C12.9194 6.61049 12.7704 6.29949 12.5004 6.13049C12.2194 5.96049 11.8794 5.96049 11.6104 6.13049C11.3394 6.29949 11.1904 6.61049 11.2194 6.92049V17.1105C11.2704 17.5405 11.6294 17.8605 12.0494 17.8605ZM16.6504 17.8605C17.0704 17.8605 17.4294 17.5405 17.4804 17.1105V13.8305C17.5094 13.5095 17.3604 13.2105 17.0894 13.0405C16.8204 12.8705 16.4804 12.8705 16.2004 13.0405C15.9294 13.2105 15.7804 13.5095 15.8204 13.8305V17.1105C15.8604 17.5405 16.2194 17.8605 16.6504 17.8605ZM8.21937 17.1105C8.17937 17.5405 7.82037 17.8605 7.38937 17.8605C6.95937 17.8605 6.59937 17.5405 6.56037 17.1105V10.2005C6.53037 9.88949 6.67937 9.58049 6.95037 9.41049C7.21937 9.24049 7.56037 9.24049 7.83037 9.41049C8.09937 9.58049 8.25037 9.88949 8.21937 10.2005V17.1105Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">Basic</p></div><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.4109 2.76862L16.4119 3.51824C19.1665 3.73414 20.9862 5.6112 20.9891 8.48975L21 16.9155C21.0039 20.054 19.0322 21.985 15.8718 21.99L8.15189 22C5.0112 22.004 3.01482 20.027 3.01087 16.8796L3.00001 8.55272C2.99606 5.65517 4.75153 3.78311 7.50618 3.53024L7.50519 2.78061C7.5042 2.34083 7.83002 2.01 8.26445 2.01C8.69887 2.009 9.02469 2.33883 9.02568 2.77861L9.02666 3.47826L14.8914 3.47027L14.8904 2.77062C14.8894 2.33084 15.2152 2.001 15.6497 2C16.0742 1.99901 16.4099 2.32884 16.4109 2.76862ZM4.52149 8.86157L19.4696 8.84158V8.49175C19.4272 6.34283 18.349 5.21539 16.4139 5.04748L16.4148 5.81709C16.4148 6.24688 16.0801 6.58771 15.6556 6.58771C15.2212 6.58871 14.8944 6.24888 14.8944 5.81909L14.8934 5.0095L9.02864 5.01749L9.02962 5.82609C9.02962 6.25687 8.70479 6.5967 8.27037 6.5967C7.83595 6.5977 7.50914 6.25887 7.50914 5.82809L7.50815 5.05847C5.58286 5.25138 4.51754 6.38281 4.5205 8.55072L4.52149 8.86157ZM15.2399 13.4043V13.4153C15.2498 13.8751 15.625 14.2239 16.0801 14.2139C16.5244 14.2029 16.8789 13.8221 16.869 13.3623C16.8483 12.9225 16.4918 12.5637 16.0485 12.5647C15.5944 12.5747 15.2389 12.9445 15.2399 13.4043ZM16.0554 17.892C15.6013 17.882 15.235 17.5032 15.234 17.0435C15.2241 16.5837 15.5884 16.2029 16.0426 16.1919H16.0525C16.5165 16.1919 16.8927 16.5707 16.8927 17.0405C16.8937 17.5102 16.5185 17.891 16.0554 17.892ZM11.1721 13.4203C11.1919 13.8801 11.568 14.2389 12.0222 14.2189C12.4665 14.1979 12.821 13.8181 12.8012 13.3583C12.7904 12.9085 12.425 12.5587 11.9807 12.5597C11.5266 12.5797 11.1711 12.9605 11.1721 13.4203ZM12.0262 17.8471C11.572 17.8671 11.1968 17.5082 11.1761 17.0485C11.1761 16.5887 11.5305 16.2089 11.9847 16.1879C12.429 16.1869 12.7953 16.5367 12.8052 16.9855C12.8259 17.4463 12.4705 17.8261 12.0262 17.8471ZM7.10434 13.4553C7.12408 13.915 7.50025 14.2749 7.95442 14.2539C8.39872 14.2339 8.75317 13.8531 8.73244 13.3933C8.72257 12.9435 8.35725 12.5937 7.91197 12.5947C7.4578 12.6147 7.10335 12.9955 7.10434 13.4553ZM7.95837 17.8521C7.5042 17.8731 7.12902 17.5132 7.10828 17.0535C7.1073 16.5937 7.46274 16.2129 7.91691 16.1929C8.3612 16.1919 8.7275 16.5417 8.73738 16.9915C8.75811 17.4513 8.40366 17.8321 7.95837 17.8521Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">6 месяцев</p></div><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 10.3178C3.5 5.71789 7.34388 2 11.9934 2C16.6561 2 20.5 5.71789 20.5 10.3178C20.5 12.6357 19.657 14.7876 18.2695 16.6116C16.7388 18.6235 14.8522 20.3765 12.7285 21.7524C12.2425 22.0704 11.8039 22.0944 11.2704 21.7524C9.13474 20.3765 7.24809 18.6235 5.7305 16.6116C4.34198 14.7876 3.5 12.6357 3.5 10.3178ZM9.19423 10.5768C9.19423 12.1177 10.4517 13.3297 11.9934 13.3297C13.5362 13.3297 14.8058 12.1177 14.8058 10.5768C14.8058 9.0478 13.5362 7.77683 11.9934 7.77683C10.4517 7.77683 9.19423 9.0478 9.19423 10.5768Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">Онлайн</p></div><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66988 2H16.3399C19.7299 2 21.9999 4.379 21.9999 7.919V16.089C21.9999 19.62 19.7299 22 16.3399 22H7.66988C4.27988 22 1.99988 19.62 1.99988 16.089V7.919C1.99988 4.379 4.27988 2 7.66988 2ZM15.5799 15.81C15.8299 15.81 16.0799 15.68 16.2199 15.44C16.4399 15.089 16.3199 14.629 15.9599 14.41L12.3999 12.29V7.669C12.3999 7.26 12.0699 6.919 11.6499 6.919C11.2399 6.919 10.8999 7.26 10.8999 7.669V12.72C10.8999 12.98 11.0399 13.23 11.2699 13.36L15.1899 15.7C15.3099 15.78 15.4499 15.81 15.5799 15.81Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">Пн/Ср 20:00 Мск</p></div></div></div></section><div id="vdescription" class="sc-x072mc-0 sc-1oat6ot-0 hOtCic dYVcmu"><div class="sc-1oat6ot-1 cVgwEc"><div class="sc-126tghp-0 dGIdAz"><div class="sc-126tghp-2 djZVhn"><h3 class="sc-1x9oq14-0 sc-126tghp-3 jmLQpp cJroeV">Видео-презентация курса <br/>C# Developer. Basic</h3><svg width="64" height="64" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-126tghp-1 daskap"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12.0058C2 6.48625 6.48842 2 12 2C17.5116 2 22 6.48625 22 12.0058C22 17.5137 17.5116 22 12 22C6.48842 22 2 17.5137 2 12.0058ZM15.668 13.0178C15.7741 12.9117 15.9093 12.7477 15.9382 12.7091C16.0927 12.5065 16.1699 12.2557 16.1699 12.0058C16.1699 11.725 16.083 11.4645 15.9189 11.2523C15.9055 11.2388 15.8791 11.2102 15.8448 11.1728C15.7806 11.103 15.6885 11.0026 15.6004 10.9146C14.8089 10.0656 12.7432 8.67631 11.6622 8.25181C11.4981 8.18524 11.083 8.03956 10.861 8.02991C10.6486 8.02991 10.4459 8.07815 10.2529 8.17463C10.0116 8.3097 9.81853 8.52195 9.71236 8.77279C9.64479 8.94645 9.53861 9.46744 9.53861 9.47709C9.43243 10.0463 9.37452 10.9725 9.37452 11.9952C9.37452 12.9706 9.43243 13.8572 9.51931 14.4361C9.52169 14.4385 9.53 14.4799 9.5429 14.5442C9.58211 14.7397 9.6638 15.1471 9.75097 15.314C9.96332 15.7192 10.3784 15.9701 10.8224 15.9701H10.861C11.1506 15.9604 11.7587 15.7096 11.7587 15.7C12.7819 15.2754 14.7992 13.9537 15.61 13.0757L15.668 13.0178Z" fill="currentColor"></path></svg></div></div><div class="sc-1oat6ot-5 klGcVm"><div class="sc-1oat6ot-4 hdfpFD"><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq"> <h2>Для кого этот курс?</h2>
<ul>
<li><span>Курс рассчитан на людей без опыта в IT, которые хотят освоить программирование на одном из самых популярных языков С#. </span></li>
<li><span>Вы пройдете путь от основ программирования на языке C# до создания полноценного бота для Telegram. </span></li>
<li><span>Вас ждёт изучение эффективных алгоритмов и структур данных, глубокое погружение в коллекции, а также знакомство с практиками написания чистого и качественного кода. </span></li>
</ul>
<h2>Необходимые знания</h2>
<p>Не обязательно иметь профильные знания. Достаточно быть уверенным ПК пользователем. Программа подходит для новичков.</p></div><div class="sc-1lrh8w5-0 ftkQLi sc-1oat6ot-3 hjZAnk"><button class="sc-1qig7zt-0 czpnNJ sc-1lrh8w5-3 JTsAm"><span class="sc-1lrh8w5-4 jTrfLJ">Оставить заявку</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1lrh8w5-5 eCsaUt"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.5 12.5537C12.2546 12.5537 14.4626 10.3171 14.4626 7.52684C14.4626 4.73663 12.2546 2.5 9.5 2.5C6.74543 2.5 4.53737 4.73663 4.53737 7.52684C4.53737 10.3171 6.74543 12.5537 9.5 12.5537ZM9.5 15.0152C5.45422 15.0152 2 15.6621 2 18.2464C2 20.8298 5.4332 21.5 9.5 21.5C13.5448 21.5 17 20.8531 17 18.2687C17 15.6844 13.5668 15.0152 9.5 15.0152ZM19.8979 9.58786H21.101C21.5962 9.58786 22 9.99731 22 10.4995C22 11.0016 21.5962 11.4111 21.101 11.4111H19.8979V12.5884C19.8979 13.0906 19.4952 13.5 18.999 13.5C18.5038 13.5 18.1 13.0906 18.1 12.5884V11.4111H16.899C16.4027 11.4111 16 11.0016 16 10.4995C16 9.99731 16.4027 9.58786 16.899 9.58786H18.1V8.41162C18.1 7.90945 18.5038 7.5 18.999 7.5C19.4952 7.5 19.8979 7.90945 19.8979 8.41162V9.58786Z" fill="currentColor"></path></svg></button></div></div></div></div></div><div class="sc-x072mc-0 sc-lpm061-0 hOtCic cjEHVO"><div><h2 class="sc-1x9oq14-0 sc-lpm061-1 jmLQpp iKbbnr">Что даст вам этот курс?</h2><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq"><ul>
<li>Изучите базовые концепции и будете последовательно двигаться к более сложным аспектам разработки, таким как взаимодействие с Telegram API, тонкости работы с коллекциями и базы данных. Особое внимание уделяется практическим навыкам: часть занятий содержит практические элементы, где вы совместно с другими студентами будете писать код, у вас будут домашние задания для закрепления изученного на занятиях материала. В результате вы приобретете комплексные навыки разработки, которые сделают вас готовым к реальным рабочим задачам.</li>
</ul>
<h2>Инструменты, которые освоите на курсе</h2>
<p>VisualStudio, Git, Telegram API, LINQ, PostgreSQL, Dapper, Linq2DB</p>
<h2>После обучения вы:</h2>
<ul>
<li>Научитесь работать с платформой .NET и средой разработки Visual Studio</li>
<li>Научитесь управлять версиями кода с помощью системы контроля версий Git</li>
<li>Освоите базовые принципы ООП</li>
<li>Получите основы работы со SQL базами данных (на примере PostgreSQL)</li>
<li>Научитесь использовать язык запросов LINQ</li>
</ul></div></div><div class="sc-1232l32-0 gjfSTs"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1232l32-1 gLmhvn"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66988 1.99927H16.3399C19.7299 1.99927 21.9999 4.37927 21.9999 7.91927V16.0903C21.9999 19.6203 19.7299 21.9993 16.3399 21.9993H7.66988C4.27988 21.9993 1.99988 19.6203 1.99988 16.0903V7.91927C1.99988 4.37927 4.27988 1.99927 7.66988 1.99927ZM11.9899 9.06027C11.5199 9.06027 11.1299 8.66927 11.1299 8.19027C11.1299 7.70027 11.5199 7.31027 12.0099 7.31027C12.4899 7.31027 12.8799 7.70027 12.8799 8.19027C12.8799 8.66927 12.4899 9.06027 11.9899 9.06027ZM12.8699 15.7803C12.8699 16.2603 12.4799 16.6503 11.9899 16.6503C11.5099 16.6503 11.1199 16.2603 11.1199 15.7803V11.3603C11.1199 10.8793 11.5099 10.4803 11.9899 10.4803C12.4799 10.4803 12.8699 10.8793 12.8699 11.3603V15.7803Z" fill="url(#788a0cf6cd0d02383a01afc7)"></path><defs><linearGradient id="788a0cf6cd0d02383a01afc7" x1="7.24435" y1="16.8809" x2="41.5417" y2="22.7167" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq sc-1232l32-2 cLdvvd"><p><strong>Почему стоит освоить?</strong></p>
<p><span>Язык программирования C# является мощным, универсальным и широко применяемым инструментом в мире разработки с богатой библиотекой для разработчиков. Только в официальном менеджере пакетов их более 360 000. C# поддерживает создание разнообразных приложений, включая веб, настольные, мобильные приложения и игры.</span></p></div></div></div><div class="sc-x072mc-0 sc-rvdro8-0 hOtCic cjUVzd"><svg class="sc-rvdro8-1-Component fAoRTp" width="448" height="448" viewBox="0 0 448 448" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M73.973 262.521c-25.943-9.97-31.12-43.662-9.318-60.646L292.018 24.752c21.802-16.984 54.23-4.521 58.372 22.432l43.19 281.097c4.142 26.954-23.11 48.184-49.053 38.214L73.973 262.521Z" fill="url(#processDefaultImageIconA)"></path><path d="M119.392 368.19c-23.13 10.287-48.177-8.104-45.084-33.104l32.265-260.72c3.094-25 32.008-37.859 52.045-23.146l208.965 153.435c20.037 14.712 16.17 45.962-6.961 56.25L119.392 368.19Z" fill="url(#processDefaultImageIconB)"></path><path d="M204.971 119.576c-8.276-10.24-2.416-25.302 10.548-27.111l135.199-18.87c12.964-1.81 23.309 10.99 18.621 23.039l-48.89 125.659c-4.688 12.049-20.893 14.311-29.169 4.071l-86.309-106.788Z" fill="url(#processDefaultImageIconC)"></path><path d="M90.942 108.696c-3.277 0-6.145-2.456-6.145-5.732a3.67 3.67 0 0 0-3.687-3.684 3.67 3.67 0 0 0-3.687 3.684c0 3.276-2.459 5.732-5.736 5.732A3.67 3.67 0 0 0 68 112.381a3.67 3.67 0 0 0 3.687 3.685c3.278 0 5.736 2.456 5.736 5.731a3.67 3.67 0 0 0 3.687 3.685 3.67 3.67 0 0 0 3.687-3.685c0-3.275 2.458-5.731 5.735-5.731a3.67 3.67 0 0 0 3.687-3.685c.41-2.047-1.229-3.685-3.277-3.685Z" fill="url(#processDefaultImageIconD)"></path><path d="M235.737 385.911c-3.277 0-6.145-2.457-6.145-5.732a3.671 3.671 0 0 0-3.687-3.685 3.67 3.67 0 0 0-3.687 3.685c0 3.275-2.458 5.732-5.736 5.732a3.67 3.67 0 0 0-3.687 3.684 3.671 3.671 0 0 0 3.687 3.685c3.278 0 5.736 2.456 5.736 5.732a3.67 3.67 0 0 0 3.687 3.684 3.67 3.67 0 0 0 3.687-3.684c0-3.276 2.458-5.732 5.735-5.732a3.67 3.67 0 0 0 3.687-3.685c0-2.047-1.638-3.684-3.277-3.684Z" fill="url(#processDefaultImageIconE)"></path><path d="M227.072 79.54a6.553 6.553 0 0 0 6.555-6.55 6.553 6.553 0 0 0-6.555-6.55 6.553 6.553 0 0 0-6.555 6.55 6.553 6.553 0 0 0 6.555 6.55Z" fill="url(#processDefaultImageIconF)"></path><path d="M78.242 66.626C72.506 66.626 68 62.122 68 56.39c0-5.731 4.506-10.235 10.242-10.235 5.735 0 10.242 4.504 10.242 10.236 0 5.731-4.507 10.235-10.242 10.235Zm0-13.92c-2.049 0-4.097 1.637-4.097 4.094 0 2.456 1.639 4.094 4.097 4.094 2.048 0 4.097-1.638 4.097-4.094 0-2.456-2.049-4.094-4.097-4.094Z" fill="url(#processDefaultImageIconG)"></path><path d="M307.192 382.834a6.553 6.553 0 0 0 6.555-6.55 6.553 6.553 0 0 0-6.555-6.551 6.553 6.553 0 0 0-6.555 6.551 6.553 6.553 0 0 0 6.555 6.55Z" fill="url(#processDefaultImageIconH)"></path><path d="M324.394 308.101c-5.736 0-10.242-4.503-10.242-10.235 0-5.732 4.506-10.235 10.242-10.235 5.735 0 10.241 4.503 10.241 10.235 0 5.732-4.506 10.235-10.241 10.235Zm0-13.92c-2.049 0-4.097 1.638-4.097 4.095 0 2.456 1.638 4.094 4.097 4.094 2.048 0 4.096-1.638 4.096-4.094 0-2.457-1.638-4.095-4.096-4.095Z" fill="url(#processDefaultImageIconI)"></path><path d="m310.288 164.276-43.879-42.909a13.329 13.329 0 0 0-9.355-3.82c-3.52 0-6.847 1.368-9.354 3.82L109.552 256.414c-2.507 2.452-3.905 5.705-3.905 9.147s1.398 6.696 3.905 9.148l43.88 42.909a13.324 13.324 0 0 0 9.354 3.82c3.52 0 6.847-1.368 9.355-3.82L310.24 182.572c5.207-4.999 5.207-13.25.048-18.296Zm-3.183 15.231L169.006 314.554c-1.639 1.603-3.857 2.499-6.22 2.499-2.363 0-4.532-.896-6.22-2.499l-43.879-42.91a8.432 8.432 0 0 1-2.556-6.036c0-2.31.916-4.432 2.556-6.082l138.099-135.047c1.639-1.603 3.857-2.499 6.22-2.499 2.363 0 4.533.896 6.22 2.499l43.879 42.909a8.433 8.433 0 0 1 0 12.119Z" fill="#fff"></path><path d="m135.88 267.494 5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.916.849 2.363.849 3.231 0ZM143.451 256.979c.867.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706ZM154.155 246.464c.868.849 2.314.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706c-.868-.848-2.314-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705ZM164.908 235.996c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706ZM175.661 225.481c.868.848 2.314.848 3.23 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.834-5.706c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706ZM186.413 214.965c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.883-5.658c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.882 5.658ZM197.118 204.45c.868.849 2.314.849 3.23 0l5.305-5.186c.867-.849.867-2.264 0-3.16l-5.835-5.705c-.868-.849-2.314-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705ZM207.871 193.982c.868.848 2.314.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.305 5.187c-.867.849-.867 2.263 0 3.159l5.835 5.706ZM218.624 183.468c.868.848 2.314.848 3.23 0l5.304-5.187c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.706ZM229.376 172.952c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.883-5.658c-.868-.849-2.314-.849-3.23 0l-5.305 5.186c-.867.849-.867 2.264 0 3.16l5.883 5.658ZM240.081 162.437c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706ZM250.834 151.922c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0L245 143.057c-.868.849-.868 2.264 0 3.16l5.834 5.705ZM147.259 275.982l-5.834-5.706c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706c.868.849 2.314.849 3.23 0l5.304-5.187c.917-.849.917-2.263 0-3.159ZM148.995 259.809l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.658c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.916-.849-2.363-.849-3.231.047ZM163.461 263.297l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705c.916.849 2.362.849 3.23 0ZM170.453 238.778l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706a2.368 2.368 0 0 0-3.231 0ZM181.206 228.31l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.916-.896-2.363-.896-3.231 0ZM191.959 217.795l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.835-5.706c-.916-.896-2.362-.896-3.23 0ZM202.712 207.28l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.835-5.705c-.916-.849-2.362-.849-3.23 0ZM213.416 196.764l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0ZM224.169 186.249l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.917-.848-2.363-.848-3.231 0ZM234.922 175.781l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.916-.896-2.362-.896-3.23 0ZM245.674 165.266l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.883-5.706c-.867-.849-2.314-.849-3.182 0ZM260.14 168.756l5.304-5.187c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706c.916.896 2.362.896 3.23 0ZM267.662 158.24c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.867-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705ZM152.371 280.98c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706ZM168.959 276.171l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.305 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706c.868.849 2.314.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159ZM171.177 274.001c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.835 5.705ZM185.159 263.486l5.305-5.187c.867-.848.867-2.263 0-3.159l-5.835-5.658c-.868-.849-2.314-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705a2.32 2.32 0 0 0 3.23-.047ZM195.864 252.971l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.658c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705c.916.849 2.362.849 3.23-.047ZM206.617 242.503l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.834 5.705c.916.849 2.363.849 3.231 0ZM217.37 231.988l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.916.849 2.362.849 3.23 0ZM228.123 221.472l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.867-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705a2.278 2.278 0 0 0 3.231 0ZM238.875 210.957l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.835 5.705c.868.896 2.314.896 3.23 0ZM249.58 200.489l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705c.916.849 2.362.849 3.23 0ZM260.333 189.974l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.917.849 2.363.849 3.231 0ZM271.086 179.459l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.659c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705a2.417 2.417 0 0 0 3.23-.047ZM272.774 163.286l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159ZM174.504 281.64c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.834-5.706ZM185.256 271.125c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.867.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706ZM196.009 260.61c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705ZM249.387 208.412c-.868-.849-2.314-.849-3.182 0l-47.062 46.021a2.186 2.186 0 0 0 0 3.113l5.835 5.705c.868.849 2.314.849 3.182 0l47.062-46.021a2.185 2.185 0 0 0 0-3.112l-5.835-5.706ZM260.429 197.613c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706ZM271.183 187.098c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.834-5.706ZM281.935 176.583c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706ZM141.184 164.323l30.426 24.803 4.774-4.669-30.86-25.179c-5.545-4.527-11.766-10.516-10.415-16.645 1.06-4.857 6.895-7.781 11.958-7.781h.145c6.027 0 11.958 2.924 17.069 5.659 4.292 2.31 9.596 5.139 15.334 4.102 2.989-.566 5.786-2.075 8.824-4.762 6.799-5.989 11.379-14.477 12.633-23.341.241-1.792-1.013-3.443-2.893-3.678-1.832-.236-3.52.99-3.761 2.829-1.013 7.356-4.822 14.382-10.464 19.333-2.121 1.839-3.857 2.876-5.593 3.159-3.375.613-7.185-1.415-10.849-3.395-5.835-3.112-12.682-6.46-20.3-6.46h-.193c-7.571 0-16.636 4.574-18.468 12.92-2.122 9.572 5.641 17.352 12.633 23.105Z" fill="#fff"></path><defs><linearGradient id="processDefaultImageIconA" x1="289.831" y1="218.139" x2="80.152" y2="210.264" gradientUnits="userSpaceOnUse"><stop stop-color="#EFEFEF"></stop><stop offset="1" stop-color="#fff" stop-opacity=".56"></stop></linearGradient><linearGradient id="processDefaultImageIconB" x1="98.909" y1="150.023" x2="362.575" y2="192.19" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconC" x1="214.875" y1="124.769" x2="359.559" y2="150.919" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconD" x1="70.132" y1="107.718" x2="92.663" y2="111.564" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconE" x1="214.922" y1="384.933" x2="237.402" y2="388.76" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconF" x1="221.581" y1="70.659" x2="232.821" y2="72.573" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconG" x1="69.662" y1="52.748" x2="87.224" y2="55.738" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconH" x1="301.701" y1="373.952" x2="312.941" y2="375.866" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconI" x1="315.813" y1="294.224" x2="333.376" y2="297.214" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg><div><h2 class="sc-1x9oq14-0 sc-rvdro8-2 jmLQpp hIDsVz">Процесс обучения</h2><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq"><p>Курс состоит из живых вебинаров, домашних заданий и видеозаписей, в качестве дополнительного материала.</p>
<p>На курсе предусмотрено менторское сопровождение в виде групповых менторских разборов домашних заданий.</p>
<p>Занятие по групповому разбору ДЗ с ментором проводится раз в месяц в рамках расписания курса.</p>
<p>Также вы сможете общаться с ментором в чате по домашнему заданию, где он даст качественную обратную связь по итогам проверки и направит вас в нужное русло при выполнении ДЗ.</p></div></div></div><div class="sc-11l8wec-0 eOXZIV sc-x072mc-0 sc-nqd633-0 hOtCic bbEYfR"><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><div src="/_next/static/images/img/oneImg-b1c92b38734a5b324f9b32a5a243bf06.svg" class="sc-16yt4q5-2 bUbCKQ"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><div>
<h3><span>Авторская программа</span></h3>
<span></span></div>
<div> </div>
<div><span>Тренды разработки и актуальные инструменты. Обучение на рабочих кейсах</span></div></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><div src="/_next/static/images/img/twoImg-28bd45b9ade74f4471bf39916d76d47e.svg" class="sc-16yt4q5-2 dIESaV"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><div>
<h3>Эксперты<br><br></h3>
<p>Преподаватели из разных сфер, каждый со своим уникальным опытом.</p>
</div></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><div src="/_next/static/images/img/threeImg-7d8d62a36e7b66f9691d1d7d01b44fb9.svg" class="sc-16yt4q5-2 gbGscf"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3>Проект для портфолио</h3>
<div> </div>
<div><span>Проект в портфолио, с которым вам будет легко произвести впечатление на собеседованиях</span></div></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-1kuct9n-0 jzJAgH"><i class="sc-1ddwpfq-0 dtlsZM"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-x072mc-0 hOtCic"><div class="sc-1kuct9n-2 cfBLof"><h2 class="sc-1x9oq14-0 sc-1kuct9n-1 kswXpy jqwyOS">Карьерная поддержка</h2><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez dJQBfL sc-1kuct9n-5 hXsBII"><br>
<ul>
<li><strong>Разместите свое резюме в базе OTUS</strong> и сможете получать приглашения на собеседования от партнеров</li>
<li><strong>Карьерные мероприятия в сообществе</strong><br>Публичный разбор резюме<br>Публичное прохождение собеседования и воркшопы</li>
</ul></div></div><div class="sc-2pu6he-0 lphWaS"><h3 class="sc-1x9oq14-0 sc-2pu6he-1 jmLQpp czcvHP">Работодатели курса</h3><div class="sc-2pu6he-2 kgryUb"><div class="swiper-slide sc-x5ajzb-0 iiXtAN"><div src="https://cdn.otus.ru/media/public/fc/11/fc113557264c49d7bac5bdd51ca49652.JPG" class="sc-x5ajzb-1 cCIEUB"></div></div></div></div></div></div><div class="sc-x072mc-0 sc-ze365z-0 hOtCic jpiMVl"><div class="sc-1x9oq14-0 sc-ze365z-1 bTMeHF RPhWg"><h5>Формат обучения</h5></div><div class="sc-11l8wec-0 eOXZIV"><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><div src="/_next/static/images/img/oneImg-d53504a93142009806d3cc77cd059dcb.svg" class="sc-16yt4q5-2 yjETG"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h2>Плавный старт</h2>
<br><span>Для постепенного погружения в профессию 2 недели - 1 занятие в неделю, далее - 2 занятия в неделю</span></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><div src="/_next/static/images/img/twoImg-bf3134a7f0a1f9684257b13b37cd07b5.svg" class="sc-16yt4q5-2 iGfrzu"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h2>Практика</h2>
<div><br><span>Усильте своё портфолио и компетенции с помощью домашних заданий, проектной работы и интерактивных тренажеров с автопроверкой</span></div></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><div src="/_next/static/images/img/threeImg-a81ea3b3db08e9c236bce2eb8f407ab7.svg" class="sc-16yt4q5-2 eJXsCF"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h2>Групповое менторство<br><br></h2>
<p><span>Разберем возникающие в процессе обучения вопросы и пути решения ДЗ</span></p></div></div></div></div><div class="sc-x072mc-0 sc-1am6qh7-0 hOtCic cmpQoV"><div class="sc-1am6qh7-1 bmcDgO"><h2 class="sc-1x9oq14-0 sc-1am6qh7-2 kswXpy jZdzTX">Программа</h2><div class="sc-12j3cf5-0 kOagS"><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Знакомство с C#</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Вы узнаете из чего обычно состоит программа на языке C#, установите среду разработки Visual Studio и научитесь писать программы, работающие с базовыми коллекциями Array и List, добавите обработку исключений и перегрузку методов в них.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Вводное занятие // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Среда разработки VisualStudio: интерфейс, базовый функционал</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Переменные и операторы</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Методы, их перегрузка и расширения</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Добавляем выводы и решения // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Символы и Строки</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Делаем программу интерактивной</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Групповая менторская консультация 1</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Системы контроля версий</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: Массив и лист // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Исключения и их обработка // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 12: Консультация общая</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">ООП и анонимные типы с методами</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">В этом модуле вы познакомитесь с основополагающей концепцией языка - Объектно-Ориентированные Программированием, а также тем функционалом, который позволяет реализовать эту концепцию в коде.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Классы как основа C# // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Три кита ООП: Наследование, Полиморфизм и Абстракция</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Объектно-Ориентированное Программирование (продолжение)</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Интерфейсы // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Групповая менторская консультация 2</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Структуры и перечисления</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Анонимные типы, кортежи, лямбда-выражения и анонимные методы // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Консультация общая</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Работа с Telegram API и файлами</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">В этом модуле вы научитесь взаимодействовать с Телеграммом, чтобы создавать полноценных ботов, а также будет затронута тема работы с файлами, как простейший способ хранения чувствительных данных (API ключа).</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Занятие по внутренней организации приложения</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Асинхронное программирование: async/await // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Знакомство с Telegram API</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Различные виды клавиатур // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Работа с файлами // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Консультация общая</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Работа с коллекциями</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">В этом модуле вы научитесь работать с основным способом взаимодействия с данными - коллекциями. Начав с повторения основ, вы продолжите изучение обобщёнными, наблюдаемыми и неизменяемыми коллекциями, а также с коллекциями, предназначенными для одновременного доступа из нескольких потоков.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Основные коллекции: массив, список, связный список</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Основные коллекции: очередь, стек, словарь, хешсет // ДЗ </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Групповая менторская консультация 3</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Generic коллекции </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Observable, Immutable и Concurrent коллекции // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: LINQ запросы </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: LINQ операторы // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Консультация общая</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB"> Работа с базами данных</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Здесь вы познакомитесь с базами данных, научитесь добавлять, получать, редактировать и удалять данные в них. Также, вы узнаете и о том, из чего состоят базы данных и как с этим взаимодействовать (таблицы, индексы).</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Введение в базы данных </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Групповая менторская консультация 4</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Выборки данных</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Хранимые процедуры и функции </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Индексы: кластерный и не кластерный // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Linq2DB, Dapper // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Консультация общая</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Алгоритм и стили кодирования</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Этот модуль позволит вам по-новому взглянуть на программирование, на этот раз в разрезе производительности, как кода (анализ сложности алгоритмов, рекурсии, деревья), так и самих программистов и команд (системы контроля версия, стили кодирования).</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Анализ сложности алгоритмов и сортировка</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Групповая менторская консультация 5</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Взаимосвязь циклов и рекурсии // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Деревья и кучи // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Групповая менторская консультация 6</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Code style от Майкрософт, DRY/DIE, Yagni, KISS</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Консультация общая</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Итоговый модуль</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">В этом модуле вы получите заключительную групповую консультацию по проектным работам, а также предоставите к защите свою проектную работу.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Карьерное консультирование</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Консультация по проектам</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Защита проектов</p></div></div></div></div></div></div><div class="sc-hqry8z-0 iRiNTt"><h5 class="sc-1x9oq14-0 sc-hqry8z-1 fPZiIk byqrft">Также вы можете получить полную программу,
чтобы убедиться, что обучение вам подходит</h5><button class="sc-1qig7zt-0 bYRRHi sc-hqry8z-2 ipIyzP">Получить</button></div></div><div class="sc-x072mc-0 sc-130tum6-0 hOtCic jjMVIs"><div class="sc-1x9oq14-0 sc-130tum6-1 fPZiIk leLsGR"><h2>Проектная работа</h2>
<br>На протяжении всего курса вы будете разрабатывать своего собственного Телеграмм бота, который объединит в себе все знания, полученные на курсе. Выполнение проектной работы помогает укреплению практических навыков. <br><br>Готовый проект будет служить в качестве портфолио при устройстве на работу, а тема проекта отдельно выносится в сертификат.</div><svg viewBox="0 0 512 460" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-wqbts8-0 coDgWq"><path d="M245.655 442C367.71 442 466.655 343.055 466.655 221C466.655 98.9451 367.71 0 245.655 0C123.6 0 24.6548 98.9451 24.6548 221C24.6548 343.055 123.6 442 245.655 442Z" fill="url(#GraduationProjects0)"></path><path d="M339.351 330.984C408.966 330.984 465.399 274.623 465.399 205.097C465.399 135.571 408.966 79.2095 339.351 79.2095C269.737 79.2095 213.304 135.571 213.304 205.097C213.304 274.623 269.737 330.984 339.351 330.984Z" fill="url(#GraduationProjects1)"></path><path d="M190.363 320.725C201.556 273.813 172.551 226.722 125.58 215.544C78.6085 204.366 31.4575 233.333 20.2651 280.245C9.07273 327.157 38.0773 374.248 85.0486 385.426C132.02 396.604 179.171 367.636 190.363 320.725Z" fill="url(#GraduationProjects1)"></path><path d="M396.694 335.224V363.622C396.694 377.186 385.671 388.63 371.68 388.63H115.172C101.604 388.63 90.1567 377.61 90.1567 363.622V335.224H396.694Z" fill="white"></path><path d="M396.694 335.224V363.622C396.694 377.186 385.671 388.63 371.68 388.63H115.172C101.604 388.63 90.1567 377.61 90.1567 363.622V335.224H396.694Z" fill="url(#GraduationProjects2)"></path><path d="M371.679 391.595H115.171C99.4834 391.595 87.188 378.879 87.188 363.62V335.221C87.188 333.526 88.4599 331.83 90.5798 331.83H396.693C398.389 331.83 400.085 333.102 400.085 335.221V363.62C399.661 378.879 387.366 391.595 371.679 391.595ZM93.5477 338.612V363.62C93.5477 375.488 103.299 385.237 115.171 385.237H371.679C383.55 385.237 393.302 375.488 393.302 363.62V338.612H93.5477Z" fill="url(#GraduationProjects1)"></path><path d="M397.456 188.138V335.218H90.583V188.138C90.583 174.574 101.619 163.13 115.625 163.13H372.414C385.996 163.13 397.456 174.574 397.456 188.138Z" fill="white"></path><path d="M397.842 338.612H90.5835C88.3095 338.612 87.188 337.34 87.188 335.221V188.14C87.188 172.457 99.9213 160.165 115.201 160.165H371.99C387.694 160.165 400.003 172.881 400.003 188.14L400.085 336.348C400.085 337.468 398.964 338.612 397.842 338.612ZM93.9791 332.254H394.061V188.14C394.061 176.272 384.298 166.523 372.414 166.523H115.626C103.741 166.523 93.9791 176.272 93.9791 188.14V332.254Z" fill="url(#GraduationProjects1)"></path><path d="M57.122 177.118C53.7268 177.118 50.756 174.575 50.756 171.184C50.756 169.065 49.0584 167.369 46.9364 167.369C44.8144 167.369 43.1167 169.065 43.1167 171.184C43.1167 174.575 40.5703 177.118 37.1751 177.118C35.0531 177.118 33.3555 178.814 33.3555 180.933C33.3555 183.052 35.0531 184.748 37.1751 184.748C40.5703 184.748 43.1167 187.291 43.1167 190.682C43.1167 192.801 44.8144 194.497 46.9364 194.497C49.0584 194.497 50.756 192.801 50.756 190.682C50.756 187.291 53.3024 184.748 56.6976 184.748C58.8197 184.748 60.5173 183.052 60.5173 180.933C60.9417 178.814 59.2441 177.118 57.122 177.118Z" fill="url(#GraduationProjects1)"></path><path d="M494.257 351.754C490.862 351.754 487.891 349.211 487.891 345.82C487.891 343.7 486.194 342.005 484.072 342.005C481.95 342.005 480.252 343.7 480.252 345.82C480.252 349.211 477.706 351.754 474.31 351.754C472.188 351.754 470.491 353.449 470.491 355.569C470.491 357.688 472.188 359.383 474.31 359.383C477.706 359.383 480.252 361.926 480.252 365.317C480.252 367.437 481.95 369.132 484.072 369.132C486.194 369.132 487.891 367.437 487.891 365.317C487.891 361.926 490.438 359.383 493.833 359.383C495.955 359.383 497.653 357.688 497.653 355.569C497.653 353.449 495.955 351.754 494.257 351.754Z" fill="url(#GraduationProjects1)"></path><path d="M79.6176 149.566C83.3679 149.566 86.4081 146.53 86.4081 142.784C86.4081 139.039 83.3679 136.002 79.6176 136.002C75.8673 136.002 72.8271 139.039 72.8271 142.784C72.8271 146.53 75.8673 149.566 79.6176 149.566Z" fill="url(#GraduationProjects1)"></path><path d="M71.5515 92.7706C65.6098 92.7706 60.9414 88.1081 60.9414 82.174C60.9414 76.2399 65.6098 71.5774 71.5515 71.5774C77.4931 71.5774 82.1616 76.2399 82.1616 82.174C82.1616 88.1081 77.4931 92.7706 71.5515 92.7706ZM71.5515 78.3592C69.4295 78.3592 67.3075 80.0547 67.3075 82.5978C67.3075 85.141 69.0051 86.8365 71.5515 86.8365C73.6735 86.8365 75.7955 85.141 75.7955 82.5978C75.7955 80.0547 73.6735 78.3592 71.5515 78.3592Z" fill="url(#GraduationProjects1)"></path><path d="M431.446 391.597C435.196 391.597 438.237 388.561 438.237 384.815C438.237 381.07 435.196 378.033 431.446 378.033C427.696 378.033 424.656 381.07 424.656 384.815C424.656 388.561 427.696 391.597 431.446 391.597Z" fill="url(#GraduationProjects1)"></path><path d="M463.278 317.841C457.336 317.841 452.668 313.178 452.668 307.244C452.668 301.31 457.336 296.648 463.278 296.648C469.22 296.648 473.888 301.31 473.888 307.244C473.888 313.178 469.22 317.841 463.278 317.841ZM463.278 303.43C461.156 303.43 459.034 305.125 459.034 307.668C459.034 310.211 460.732 311.907 463.278 311.907C465.4 311.907 467.522 310.211 467.522 307.668C467.522 305.125 465.824 303.43 463.278 303.43Z" fill="url(#GraduationProjects1)"></path><path d="M305.398 426.355L299.881 423.812C285.875 417.454 279.085 403.89 279.085 388.207H212.454C212.454 403.466 206.088 417.454 191.658 423.812L186.141 426.355H305.398Z" fill="url(#GraduationProjects1)"></path><path d="M305.399 429.319H186.142C184.444 429.319 183.171 428.472 183.171 426.776C182.747 425.505 183.595 423.809 184.869 423.385L190.386 420.842C202.269 415.756 209.06 403.888 209.06 388.205C209.06 386.509 210.333 384.814 212.455 384.814H279.51C281.208 384.814 282.906 386.085 282.906 388.205C282.906 403.464 289.696 415.332 301.579 420.842L307.097 423.385C308.37 423.809 309.219 425.505 308.794 426.776C308.37 428.472 307.097 429.319 305.399 429.319ZM199.723 422.961H292.243C282.906 416.18 276.964 405.159 276.54 391.596H215.426C215.001 405.159 209.06 416.18 199.723 422.961Z" fill="url(#GraduationProjects1)"></path><path d="M85.1337 445.001H36.3274C34.6297 445.001 32.9321 443.73 32.9321 441.61C32.9321 439.915 34.2053 438.219 36.3274 438.219H85.1337C86.8313 438.219 88.5289 439.491 88.5289 441.61C88.5289 443.73 86.8313 445.001 85.1337 445.001Z" fill="url(#GraduationProjects1)"></path><path d="M450.121 445.001H431.872C430.174 445.001 428.477 443.73 428.477 441.61C428.477 439.915 429.75 438.219 431.872 438.219H450.121C451.819 438.219 453.516 439.491 453.516 441.61C453.092 443.73 451.819 445.001 450.121 445.001Z" fill="url(#GraduationProjects1)"></path><path d="M332.986 321.657H139.458C127.999 321.657 118.662 312.332 118.662 300.888V198.313C118.662 186.868 127.999 177.543 139.458 177.543H333.41C344.869 177.543 354.206 186.868 354.206 198.313V300.888C353.781 312.332 344.445 321.657 332.986 321.657ZM139.458 183.901C131.394 183.901 125.028 190.259 125.028 198.313V300.888C125.028 308.941 131.394 315.299 139.458 315.299H333.41C341.474 315.299 347.84 308.941 347.84 300.888V198.313C347.84 190.259 341.474 183.901 333.41 183.901H139.458Z" fill="url(#GraduationProjects1)"></path><path d="M139.458 183.901C131.394 183.901 125.028 190.259 125.028 198.313V300.888C125.028 308.941 131.394 315.299 139.458 315.299H333.41C341.474 315.299 347.84 308.941 347.84 300.888V198.313C347.84 190.259 341.474 183.901 333.41 183.901H139.458Z" fill="url(#GraduationProjects1)"></path><path d="M314.284 292.413H239.688C231.933 292.413 225.655 285.208 225.655 276.306V239.43C225.655 230.529 231.933 223.323 239.688 223.323H314.284C322.039 223.323 328.317 230.529 328.317 239.43V276.306C328.317 285.208 322.039 292.413 314.284 292.413ZM239.688 229.681C234.887 229.681 231.194 233.92 231.194 239.43V276.306C231.194 281.817 234.887 286.055 239.688 286.055H314.284C319.084 286.055 322.777 281.817 322.777 276.306V239.43C322.777 233.92 319.084 229.681 314.284 229.681H239.688Z" fill="white"></path><path d="M239.688 229.681C234.887 229.681 231.194 233.92 231.194 239.43V276.306C231.194 281.817 234.887 286.055 239.688 286.055H314.284C319.084 286.055 322.777 281.817 322.777 276.306V239.43C322.777 233.92 319.084 229.681 314.284 229.681H239.688Z" fill="white"></path><mask id="mask0" maskType="alpha" maskUnits="userSpaceOnUse" x="144" y="222" width="77" height="70"><rect x="144.655" y="222.999" width="76" height="69" rx="16" fill="#C4C4C4"></rect></mask><g mask="url(#mask0)"><rect x="144.655" y="222.813" width="76" height="70.3704" fill="white"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M154.589 291.24L148.034 296.924C148.034 296.924 150.758 273.834 170.151 253.646L167.852 255.265C167.699 254.186 167.58 252.702 167.58 251.2C167.58 247.726 168.533 244.505 170.185 241.789C170.185 241.789 171.513 242.228 172.994 242.076C172.994 242.076 171.155 241.907 170.1 241.267C168.193 240.086 167.818 236.73 167.818 236.73C169.044 238.686 172.262 237.978 174.05 237.387C176.774 235.144 180.196 233.829 183.908 233.829C187.398 233.829 191.11 234.959 194.106 237.337C195.877 237.927 199.163 238.686 200.389 236.696C200.389 236.696 199.981 240.12 198.108 241.317C196.729 242.211 195.435 242.245 195.435 242.245C196.66 242.346 197.937 241.874 197.937 241.874C199.964 245.584 200.815 250.627 199.521 257.12C199.282 258.301 198.295 261.033 197.324 263.327L199.317 259.616C200.866 264.339 202.586 281.947 183.448 293.399L183.355 293.454L183.239 293.523C181.858 294.342 180.448 295.179 179.362 296.367C179.311 296.426 179.26 296.481 179.209 296.536C179.157 296.59 179.106 296.645 179.055 296.704C178.204 297.682 178.408 299.116 179.379 299.858C179.532 299.976 179.719 300.094 179.924 300.162C183.193 301.46 187.994 304.378 183.005 309.286C183.005 309.286 184.776 304.901 181.626 304.193C181.626 304.193 182.478 306.992 180.179 308.898C180.179 308.898 180.741 305.896 178.766 303.957C178.119 303.323 177.176 303.287 176.134 303.247C174.872 303.198 173.465 303.144 172.262 302.017C171.428 301.224 170.713 299.926 170.202 297.733C170.1 297.311 169.248 293.871 169.248 293.871L169.401 296.654C166.541 296.789 163.034 296.671 159.628 296.333L160.871 293.213L151.967 307.33L154.589 291.24ZM187.313 247.827C187.313 250.268 189.463 252.246 192.114 252.246C194.766 252.246 196.916 250.268 196.916 247.827C196.916 245.387 194.766 243.409 192.114 243.409C189.463 243.409 187.313 245.387 187.313 247.827ZM189.407 247.827C189.407 249.197 190.619 250.307 192.114 250.307C193.61 250.307 194.822 249.197 194.822 247.827C194.822 247.276 194.625 246.766 194.292 246.355C194.267 246.79 193.873 247.136 193.391 247.136C192.893 247.136 192.489 246.766 192.489 246.309C192.489 245.942 192.752 245.63 193.114 245.523C192.805 245.41 192.468 245.348 192.114 245.348C190.619 245.348 189.407 246.458 189.407 247.827ZM176.587 252.246C173.935 252.246 171.785 250.268 171.785 247.827C171.785 245.387 173.935 243.409 176.587 243.409C179.238 243.409 181.388 245.387 181.388 247.827C181.388 250.268 179.238 252.246 176.587 252.246ZM176.587 250.307C175.091 250.307 173.879 249.197 173.879 247.827C173.879 246.458 175.091 245.348 176.587 245.348C176.94 245.348 177.278 245.41 177.588 245.523C177.232 245.631 176.978 245.943 176.978 246.309C176.978 246.765 177.387 247.136 177.881 247.136C178.358 247.136 178.741 246.804 178.765 246.355C179.097 246.767 179.294 247.276 179.294 247.827C179.294 249.197 178.082 250.307 176.587 250.307ZM184.368 250.205C188.403 250.172 184.35 257.002 184.35 257.002C184.35 257.002 180.298 250.189 184.333 250.205H184.368ZM180.537 260.46C180.128 260.494 179.907 260.527 179.907 260.527C179.907 260.527 180.111 260.477 180.537 260.308C180.628 260.293 180.731 260.278 180.843 260.261C180.981 260.241 181.134 260.218 181.303 260.19C181.353 260.187 181.405 260.184 181.458 260.181C181.728 260.164 182.031 260.145 182.358 260.173C183.159 260.224 184.129 260.426 185.134 260.898C185.193 260.932 185.257 260.962 185.321 260.991C185.385 261.021 185.449 261.05 185.508 261.084C185.568 261.118 185.632 261.156 185.696 261.193C185.759 261.231 185.823 261.269 185.883 261.303C185.934 261.354 186.002 261.387 186.07 261.421C186.104 261.446 186.134 261.468 186.164 261.489C186.194 261.51 186.223 261.531 186.257 261.556C186.317 261.598 186.381 261.645 186.445 261.691C186.509 261.737 186.572 261.784 186.632 261.826L186.99 262.13C187.018 262.154 187.047 262.178 187.077 262.202C187.172 262.28 187.269 262.36 187.347 262.45C187.568 262.669 187.807 262.905 187.994 263.175C188.42 263.698 188.743 264.305 189.033 264.946L189.051 264.994L189.078 265.068C189.185 265.351 189.297 265.648 189.356 265.958C189.373 266.051 189.394 266.139 189.416 266.228C189.437 266.316 189.458 266.405 189.475 266.498C189.483 266.576 189.495 266.657 189.507 266.741C189.52 266.838 189.534 266.938 189.543 267.037C189.561 267.122 189.578 267.206 189.578 267.307V267.594V268.167C189.546 268.339 189.529 268.524 189.513 268.698L189.509 268.741L189.475 269.028C189.475 269.093 189.461 269.151 189.447 269.211C189.439 269.244 189.43 269.278 189.424 269.314C189.407 269.407 189.386 269.504 189.365 269.601C189.343 269.698 189.322 269.795 189.305 269.888C189.284 270.014 189.243 270.134 189.202 270.252C189.178 270.322 189.154 270.392 189.135 270.461C189.084 270.664 189.016 270.849 188.948 271.035C188.879 271.22 188.794 271.406 188.709 271.591C188.045 273.059 187.041 274.442 185.849 275.673C184.657 276.904 183.295 278.017 181.865 279.029L180.758 279.754C180.588 279.872 180.4 279.99 180.213 280.108L179.651 280.446C179.277 280.665 178.902 280.884 178.51 281.103L177.387 281.711L176.263 282.318C176.027 282.43 175.797 282.548 175.57 282.664C175.42 282.741 175.271 282.818 175.122 282.891C174.583 283.171 174.034 283.432 173.496 283.689C173.287 283.789 173.08 283.888 172.875 283.988C171.444 284.672 170.028 285.278 168.691 285.85L168.55 285.91C168.136 286.081 167.727 286.245 167.324 286.407C167.049 286.518 166.777 286.627 166.507 286.737C166.207 286.851 165.91 286.962 165.618 287.071L165.617 287.072C165.264 287.204 164.918 287.333 164.583 287.462C164.308 287.557 164.04 287.656 163.779 287.753C163.44 287.877 163.112 287.998 162.795 288.103C162.51 288.197 162.228 288.291 161.954 288.383L161.949 288.385L161.948 288.385L161.947 288.386C161.684 288.474 161.427 288.56 161.178 288.642C160.278 288.94 159.483 289.172 158.794 289.372C158.702 289.399 158.611 289.426 158.522 289.452C157.826 289.656 157.263 289.801 156.873 289.902L156.872 289.902L156.871 289.902L156.785 289.924C156.393 290.025 156.172 290.076 156.172 290.076C156.172 290.076 156.972 289.739 158.369 289.132C158.686 288.993 159.032 288.838 159.406 288.67L159.407 288.669L159.408 288.669C159.855 288.467 160.343 288.248 160.871 288.018C161.633 287.682 162.481 287.291 163.39 286.873C163.619 286.767 163.853 286.66 164.089 286.551C164.668 286.281 165.281 285.995 165.911 285.691C166.23 285.537 166.554 285.379 166.882 285.219L166.882 285.219L166.884 285.218C167.202 285.062 167.525 284.904 167.852 284.746C169.18 284.089 170.576 283.38 172.006 282.638L172.126 282.576C172.209 282.533 172.292 282.49 172.376 282.447C172.972 282.139 173.576 281.827 174.169 281.491C174.413 281.356 174.657 281.223 174.901 281.09L174.901 281.09C175.389 280.824 175.877 280.558 176.365 280.277C176.471 280.217 176.578 280.156 176.686 280.094L176.688 280.093L176.689 280.093L176.69 280.092C176.946 279.945 177.209 279.795 177.472 279.653C177.651 279.543 177.829 279.438 178.008 279.333C178.187 279.227 178.366 279.122 178.545 279.012L179.089 278.692C179.277 278.59 179.447 278.472 179.617 278.354L180.656 277.663C182.001 276.702 183.278 275.673 184.402 274.56C184.963 274.003 185.474 273.413 185.934 272.822C186.377 272.215 186.785 271.608 187.109 270.967C187.151 270.891 187.19 270.811 187.228 270.731C187.266 270.651 187.305 270.571 187.347 270.495C187.376 270.423 187.402 270.352 187.427 270.282C187.462 270.186 187.495 270.093 187.534 270.006C187.556 269.936 187.582 269.869 187.609 269.803C187.647 269.709 187.685 269.616 187.705 269.517C187.73 269.432 187.751 269.352 187.773 269.272C187.794 269.192 187.815 269.112 187.841 269.028C187.848 269 187.857 268.97 187.868 268.938C187.883 268.892 187.899 268.842 187.909 268.791L187.943 268.555C187.959 268.477 187.971 268.399 187.983 268.322C187.997 268.234 188.01 268.148 188.028 268.066C188.037 267.99 188.041 267.91 188.045 267.83C188.049 267.75 188.054 267.67 188.062 267.594L188.079 267.358C188.09 267.302 188.087 267.254 188.083 267.204C188.081 267.177 188.079 267.151 188.079 267.122C188.079 267.035 188.075 266.953 188.07 266.873C188.066 266.797 188.062 266.723 188.062 266.65C188.054 266.574 188.041 266.498 188.028 266.422C188.015 266.346 188.003 266.27 187.994 266.194C187.971 265.987 187.916 265.788 187.862 265.592C187.837 265.5 187.811 265.409 187.79 265.317C187.585 264.744 187.364 264.204 187.041 263.732C186.428 262.77 185.593 262.028 184.742 261.505C183.891 260.999 183.022 260.696 182.29 260.561C182.034 260.503 181.793 260.485 181.574 260.468C181.473 260.461 181.377 260.454 181.286 260.443C180.996 260.443 180.741 260.443 180.537 260.46Z" fill="url(#GraduationProjects1)"></path></g><path d="M217.122 212.722H147.095C145.398 212.722 143.7 211.45 143.7 209.331C143.7 207.635 144.973 205.94 147.095 205.94H217.122C218.82 205.94 220.517 207.211 220.517 209.331C220.093 211.026 218.82 212.722 217.122 212.722Z" fill="white"></path><path d="M263.384 212.722H229.008C227.31 212.722 225.612 211.45 225.612 209.331C225.612 207.635 226.886 205.94 229.008 205.94H263.384C265.082 205.94 266.779 207.211 266.779 209.331C266.355 211.026 265.082 212.722 263.384 212.722Z" fill="white"></path><path d="M285.026 212.722H274.416C272.719 212.722 271.021 211.45 271.021 209.331C271.021 207.635 272.294 205.94 274.416 205.94H285.026C286.724 205.94 288.422 207.211 288.422 209.331C287.997 211.026 286.724 212.722 285.026 212.722Z" fill="white"></path><path d="M325.346 212.722H296.063C294.365 212.722 292.667 211.45 292.667 209.331C292.667 207.635 293.941 205.94 296.063 205.94H325.346C327.044 205.94 328.742 207.211 328.742 209.331C328.317 211.026 327.044 212.722 325.346 212.722Z" fill="white"></path><path d="M319.829 436.522V442.032H167.469V436.522C167.469 431.011 172.137 426.349 177.654 426.349H310.068C315.585 426.349 319.829 430.588 319.829 436.522Z" fill="white"></path><path d="M319.83 445.001H167.469C165.772 445.001 164.074 443.73 164.074 441.61V436.524C164.074 429.318 170.016 423.384 177.231 423.384H309.645C316.859 423.384 322.801 429.318 322.801 436.524V442.034C323.225 443.73 321.528 445.001 319.83 445.001ZM170.44 438.643H316.435V436.524C316.435 432.709 313.464 429.742 309.645 429.742H177.655C173.835 429.742 170.865 432.709 170.865 436.524V438.643H170.44Z" fill="url(#GraduationProjects1)"></path><path d="M421.686 445.001H105.081C103.384 445.001 101.686 443.73 101.686 441.61C101.686 439.915 102.959 438.219 105.081 438.219H421.262C422.959 438.219 424.657 439.491 424.657 441.61C424.657 443.73 423.384 445.001 421.686 445.001Z" fill="url(#GraduationProjects1)"></path><defs><linearGradient id="GraduationProjects0" x1="228.598" y1="252.519" x2="264.261" y2="62.8264" gradientUnits="userSpaceOnUse"><stop stop-color="#EFEFEF"></stop><stop offset="1" stop-color="white" stop-opacity="0.56"></stop></linearGradient><linearGradient id="GraduationProjects1" x1="233.752" y1="160.296" x2="449.892" y2="197.12" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="GraduationProjects2" x1="347.655" y1="388.999" x2="213.549" y2="470.528" gradientUnits="userSpaceOnUse"><stop stop-color="#EFEFEF"></stop><stop offset="1" stop-color="white" stop-opacity="0.56"></stop></linearGradient></defs></svg></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-1ddwpfq-1 hnlXxp sc-7bqyxh-1 eTWzoY"><i class="sc-1ddwpfq-0 jfuJCc"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><section class="sc-7bqyxh-0 iJNhSn sc-x072mc-0 hOtCic"><div class="sc-7bqyxh-2 imGcoX"><h2 class="sc-1x9oq14-0 sc-7bqyxh-3 kswXpy gvtgmJ">Преподаватели</h2><div></div><div class="sc-1bkbgbz-0 cInatB swiper-ui sc-7bqyxh-5 gCZLLN"><div class="sc-1bkbgbz-1 cPJghB"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div class="sc-1x9oq14-0 sc-jotj87-5 wJZyp hhSKfU">Руководитель курса</div><div src="https://cdn.otus.ru/media/public/cf/53/cf53417e8938414790ba770641062316.jpg" class="sc-jotj87-0 ildkjA"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Алексей Ягур</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/c9/ce/c9ce95ec53414e938dbf96983cb0472f.jpg" class="sc-jotj87-0 eWjfbj"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Павел Нилов</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/ec/11/ec118f6f41ab46cebc015c6a34cca66f.jpg" class="sc-jotj87-0 igTkz"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Михаил Дмитриев</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">инженер-программист</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">НИПК Электрон</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/db/ac/dbac30f367ab438b9ebb3d4cf7a56c9b.png" class="sc-jotj87-0 iCZAU"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Эдгар Пилипсон</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/b4/c8/b4c8f844565b4be0b9fa0de33ed9b20c.jpg" class="sc-jotj87-0 epJsoR"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Антон Герасименко</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/f3/be/f3be62163aa746b9963bd49ba7971b53.png" class="sc-jotj87-0 BpJs"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Виктор Дзицкий</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Тимлид, full-stack .NET Developer</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">SolarLab</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg" class="sc-jotj87-0 dgxDJn"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Евгений Тюменцев</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/15/47/15478133bb014fb0a4aeb2687c6c9c76.jpg" class="sc-jotj87-0 izRHOr"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Дмитрий Гурьянов</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Senior Developer</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">SKL Group</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/9a/93/9a93e389c2f14d63ae66f99d01076b37.jpg" class="sc-jotj87-0 lkcwQG"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Роман Приходько</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Senior SDET</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">Ozon</p></div></div></div></div><div color="#fff" class="sc-1bkbgbz-6 hcbJSK"><button color="#fff" class="sc-1bkbgbz-2 sc-1bkbgbz-4 dQlnjC biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#fff" class="sc-1bkbgbz-2 sc-1bkbgbz-3 dQlnjC iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div><p class="sc-1x9oq14-0 sc-7bqyxh-4 fPZiIk hgzLIf">Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания</p></div></section></div><div id="pastevents" class="sc-x072mc-0 sc-g9zqla-0 hOtCic frFtzw"><h2 class="sc-1x9oq14-0 sc-g9zqla-1 bTMeHF jqTCqB">Прошедшие <br class="sc-g9zqla-2 nExnN"/>мероприятия</h2><div class="sc-g9zqla-3 cmzqGo"><div id="video-1659" class="sc-1l3meww-0 gAbnmq"><div src="https://img.youtube.com/vi/ztKzIWHEk3M/0.jpg" class="sc-1l3meww-1 cfblzK"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1l3meww-7 hkpcCk"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12.0058C2 6.48625 6.48842 2 12 2C17.5116 2 22 6.48625 22 12.0058C22 17.5137 17.5116 22 12 22C6.48842 22 2 17.5137 2 12.0058ZM15.668 13.0178C15.7741 12.9117 15.9093 12.7477 15.9382 12.7091C16.0927 12.5065 16.1699 12.2557 16.1699 12.0058C16.1699 11.725 16.083 11.4645 15.9189 11.2523C15.9055 11.2388 15.8791 11.2102 15.8448 11.1728C15.7806 11.103 15.6885 11.0026 15.6004 10.9146C14.8089 10.0656 12.7432 8.67631 11.6622 8.25181C11.4981 8.18524 11.083 8.03956 10.861 8.02991C10.6486 8.02991 10.4459 8.07815 10.2529 8.17463C10.0116 8.3097 9.81853 8.52195 9.71236 8.77279C9.64479 8.94645 9.53861 9.46744 9.53861 9.47709C9.43243 10.0463 9.37452 10.9725 9.37452 11.9952C9.37452 12.9706 9.43243 13.8572 9.51931 14.4361C9.52169 14.4385 9.53 14.4799 9.5429 14.5442C9.58211 14.7397 9.6638 15.1471 9.75097 15.314C9.96332 15.7192 10.3784 15.9701 10.8224 15.9701H10.861C11.1506 15.9604 11.7587 15.7096 11.7587 15.7C12.7819 15.2754 14.7992 13.9537 15.61 13.0757L15.668 13.0178Z" fill="currentColor"></path></svg></div><div class="sc-1l3meww-2 cHxJxf"><div class="sc-1x9oq14-0 sc-1l3meww-3 dvqddq blhXzJ">Эдгар Пилипсон</div><div class="sc-1x9oq14-0 sc-1l3meww-4 iFeEEh dePnfm">Открытый вебинар</div><div class="sc-1x9oq14-0 sc-1l3meww-5 doSDez gnNvLT">Классы как основа С#</div></div></div><div id="video-1660" class="sc-1l3meww-0 gAbnmq"><div src="https://img.youtube.com/vi/pjZZafWpyS8/0.jpg" class="sc-1l3meww-1 jghnXv"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1l3meww-7 hkpcCk"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12.0058C2 6.48625 6.48842 2 12 2C17.5116 2 22 6.48625 22 12.0058C22 17.5137 17.5116 22 12 22C6.48842 22 2 17.5137 2 12.0058ZM15.668 13.0178C15.7741 12.9117 15.9093 12.7477 15.9382 12.7091C16.0927 12.5065 16.1699 12.2557 16.1699 12.0058C16.1699 11.725 16.083 11.4645 15.9189 11.2523C15.9055 11.2388 15.8791 11.2102 15.8448 11.1728C15.7806 11.103 15.6885 11.0026 15.6004 10.9146C14.8089 10.0656 12.7432 8.67631 11.6622 8.25181C11.4981 8.18524 11.083 8.03956 10.861 8.02991C10.6486 8.02991 10.4459 8.07815 10.2529 8.17463C10.0116 8.3097 9.81853 8.52195 9.71236 8.77279C9.64479 8.94645 9.53861 9.46744 9.53861 9.47709C9.43243 10.0463 9.37452 10.9725 9.37452 11.9952C9.37452 12.9706 9.43243 13.8572 9.51931 14.4361C9.52169 14.4385 9.53 14.4799 9.5429 14.5442C9.58211 14.7397 9.6638 15.1471 9.75097 15.314C9.96332 15.7192 10.3784 15.9701 10.8224 15.9701H10.861C11.1506 15.9604 11.7587 15.7096 11.7587 15.7C12.7819 15.2754 14.7992 13.9537 15.61 13.0757L15.668 13.0178Z" fill="currentColor"></path></svg></div><div class="sc-1l3meww-2 cHxJxf"><div class="sc-1x9oq14-0 sc-1l3meww-3 dvqddq blhXzJ">Алексей Ягур</div><div class="sc-1x9oq14-0 sc-1l3meww-4 iFeEEh dePnfm">День открытых дверей</div><div class="sc-1x9oq14-0 sc-1l3meww-5 doSDez gnNvLT">Demo Day онлайн-курса «C# Developer. Basic»</div></div></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-1xm68ya-2 isRQVJ"><i class="sc-1ddwpfq-0 dtlsZM"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-x072mc-0 sc-1xm68ya-1 hOtCic hqEzLD sc-x072mc-0 hOtCic"><h2 class="sc-1x9oq14-0 sc-1xm68ya-3 kswXpy cXcqyt">Этот курс может оплатить ваш работодатель</h2><div class="sc-1xm68ya-4 kscGdX"><div class="sc-1x9oq14-0 sc-1xm68ya-5 fPZiIk">Обучайтесь за счёт работодателя или разделите оплату 50/50</div><ul class="sc-1xm68ya-6 jEIquP"><li class="sc-1xm68ya-0 eNgslB">Подробно расскажем об интересующем вас курсе</li><li class="sc-1xm68ya-0 eNgslB">Объясним, как договориться с работодателем</li><li class="sc-1xm68ya-0 eNgslB">Сообщим стоимость обучения и варианты оплаты</li><li class="sc-1xm68ya-0 eNgslB">Ответим на вопросы</li><li class="sc-1xm68ya-0 eNgslB">Предоставим шаблон договора и счёт на оплату</li></ul><div><a class="sc-1xm68ya-7 eOihnY" target="_blank" rel="noopener noreferrer" href="/b2b">Подробнее о корпоративном обучении</a></div></div><div class="sc-32ejay-1 bnqryM"><button class="sc-1qig7zt-0 czpnNJ">Оставить заявку</button></div></div></div><div class="sc-x072mc-0 sc-h0c1ca-0 hOtCic dXezGA"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><h2 class="sc-1x9oq14-0 sc-h0c1ca-4 kswXpy dygiGU">Отзывы</h2><div class="sc-h0c1ca-1 gaiDWC"><div class="sc-1bkbgbz-0 haeyZv swiper-ui sc-h0c1ca-5 vuxta"><div class="sc-1bkbgbz-1 jssxGI"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Анастасия Иващенко</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">01.03.2026</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Очень давно мечтала повысить свою квалификацию и пройти курс по разработке. Среди множества образовательных платформ долго сомневалась, какую выбрать, пока наконец не остановилась на «Отус». Ни разу не пожалела!
Занятия всегда были интересными, задания порой непростые, однако на помощь приходили опытные преподаватели, внимательные менторы и даже однокурсники. Особенно понравилось большое количество практических занятий и четкий контроль выполнения домашних работ. Видно было, что организаторы курса и преподаватели искренне стремятся научить студентов всему необходимому, и это ценится особенно высоко.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Денис Никитич</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">01.10.2025</div></div><div class="sc-h3yero-6 bXBhOa"><a target="_blank" rel="noopener noreferrer" href="https://telegram.me/telegram" class="sc-e8trbg-0 ervbDS"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M31.9995 16.001C31.9995 24.8375 24.836 32.001 15.9995 32.001C7.16298 32.001 -0.000488281 24.8375 -0.000488281 16.001C-0.000488281 7.16444 7.16298 0.000976562 15.9995 0.000976562C24.836 0.000976562 31.9995 7.16444 31.9995 16.001ZM10.7138 14.5353C9.11105 15.2351 7.46425 15.9542 5.95835 16.7836C5.17203 17.3594 6.2171 17.7666 7.19758 18.1486C7.35345 18.2094 7.50765 18.2694 7.65265 18.3294C7.77331 18.3666 7.89598 18.4056 8.02031 18.4452C9.11078 18.7926 10.3266 19.18 11.3853 18.5973C13.1244 17.5983 14.7655 16.4434 16.4054 15.2893C16.9427 14.9112 17.4798 14.5332 18.0202 14.1608C18.0456 14.1446 18.0741 14.126 18.1054 14.1058C18.5657 13.8074 19.6011 13.1362 19.2181 14.061C18.3125 15.0514 17.3424 15.9281 16.3672 16.8096C15.7098 17.4037 15.0501 18 14.4061 18.6346C13.8452 19.0904 13.2628 20.0068 13.8908 20.645C15.3374 21.6577 16.8066 22.6458 18.275 23.6334C18.7528 23.9548 19.2306 24.2761 19.7074 24.5982C20.5155 25.2434 21.7785 24.7215 21.9562 23.7133C22.0352 23.2495 22.1145 22.7858 22.1938 22.322C22.6322 19.7588 23.0708 17.1948 23.4582 14.6233C23.5108 14.2199 23.5705 13.8166 23.6302 13.413C23.775 12.435 23.9199 11.4557 23.9652 10.4724C23.8485 9.49104 22.6586 9.70684 21.9965 9.92751C18.593 11.2226 15.2236 12.6136 11.8674 14.0292C11.4872 14.1976 11.1018 14.3659 10.7138 14.5353Z" fill="url(#PromoReviewSocialTg)"></path><defs><linearGradient id="PromoReviewSocialTg" x1="2.59519" y1="10.3069" x2="30.0331" y2="14.9755" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Работаю старшим инженером технической поддержки
Хочу развиваться в рамках компании в которой работаю с дальнейшим переходом на позицию разработчика. Курс посоветовал мой коллега
Отличная подача материала, интересные задачи
Обучение мне дало понимание того, что разработка мне действительно интересна. Так же, как я отвечал ранее - я планирую и дальше работать в текущей компании, но уже на другой позиции</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Кирилл Стариков</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">01.10.2025</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">До обучения в Отус я занимался созданием сайтов, и настройкой рекламы.
Курс выбрал т.к. хочу расширить свои знания в разработке ПО с помощью C#
Мне понравился формат обучения, доступность материалов, а также отзывчивость преподавателей.
Пока в компанию мечты я не устроился, но я очень расширил свой кругозор и область знаний.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Алексей Кулаков</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">18.09.2025</div></div><div class="sc-h3yero-6 bXBhOa"><a target="_blank" rel="noopener noreferrer" href="https://telegram.me/telegram" class="sc-e8trbg-0 ervbDS"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M31.9995 16.001C31.9995 24.8375 24.836 32.001 15.9995 32.001C7.16298 32.001 -0.000488281 24.8375 -0.000488281 16.001C-0.000488281 7.16444 7.16298 0.000976562 15.9995 0.000976562C24.836 0.000976562 31.9995 7.16444 31.9995 16.001ZM10.7138 14.5353C9.11105 15.2351 7.46425 15.9542 5.95835 16.7836C5.17203 17.3594 6.2171 17.7666 7.19758 18.1486C7.35345 18.2094 7.50765 18.2694 7.65265 18.3294C7.77331 18.3666 7.89598 18.4056 8.02031 18.4452C9.11078 18.7926 10.3266 19.18 11.3853 18.5973C13.1244 17.5983 14.7655 16.4434 16.4054 15.2893C16.9427 14.9112 17.4798 14.5332 18.0202 14.1608C18.0456 14.1446 18.0741 14.126 18.1054 14.1058C18.5657 13.8074 19.6011 13.1362 19.2181 14.061C18.3125 15.0514 17.3424 15.9281 16.3672 16.8096C15.7098 17.4037 15.0501 18 14.4061 18.6346C13.8452 19.0904 13.2628 20.0068 13.8908 20.645C15.3374 21.6577 16.8066 22.6458 18.275 23.6334C18.7528 23.9548 19.2306 24.2761 19.7074 24.5982C20.5155 25.2434 21.7785 24.7215 21.9562 23.7133C22.0352 23.2495 22.1145 22.7858 22.1938 22.322C22.6322 19.7588 23.0708 17.1948 23.4582 14.6233C23.5108 14.2199 23.5705 13.8166 23.6302 13.413C23.775 12.435 23.9199 11.4557 23.9652 10.4724C23.8485 9.49104 22.6586 9.70684 21.9965 9.92751C18.593 11.2226 15.2236 12.6136 11.8674 14.0292C11.4872 14.1976 11.1018 14.3659 10.7138 14.5353Z" fill="url(#PromoReviewSocialTg)"></path><defs><linearGradient id="PromoReviewSocialTg" x1="2.59519" y1="10.3069" x2="30.0331" y2="14.9755" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Пошел на курс, чтобы систематизировать знания по c#. Понравилась форма обучения и обратная связь от преподавателей. Обучение дало мне возможность решить ряд рабочих задач, которые до этого было решить значительно труднее. Не хватило библиотеки с материалами, книгами, статьями и модуля работы с web и desktop, хотя бы на базовом уровне.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Никита Изотов</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">24.07.2025</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Курс не легкий, не a+b=c
Поэтому рекомендую курс, но с оговоркой, что там требуют и даже иногда вызывают к доске ))</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Загир Валитов</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">23.07.2025</div></div><div class="sc-h3yero-6 bXBhOa"><a target="_blank" rel="noopener noreferrer" href="https://telegram.me/telegram" class="sc-e8trbg-0 ervbDS"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M31.9995 16.001C31.9995 24.8375 24.836 32.001 15.9995 32.001C7.16298 32.001 -0.000488281 24.8375 -0.000488281 16.001C-0.000488281 7.16444 7.16298 0.000976562 15.9995 0.000976562C24.836 0.000976562 31.9995 7.16444 31.9995 16.001ZM10.7138 14.5353C9.11105 15.2351 7.46425 15.9542 5.95835 16.7836C5.17203 17.3594 6.2171 17.7666 7.19758 18.1486C7.35345 18.2094 7.50765 18.2694 7.65265 18.3294C7.77331 18.3666 7.89598 18.4056 8.02031 18.4452C9.11078 18.7926 10.3266 19.18 11.3853 18.5973C13.1244 17.5983 14.7655 16.4434 16.4054 15.2893C16.9427 14.9112 17.4798 14.5332 18.0202 14.1608C18.0456 14.1446 18.0741 14.126 18.1054 14.1058C18.5657 13.8074 19.6011 13.1362 19.2181 14.061C18.3125 15.0514 17.3424 15.9281 16.3672 16.8096C15.7098 17.4037 15.0501 18 14.4061 18.6346C13.8452 19.0904 13.2628 20.0068 13.8908 20.645C15.3374 21.6577 16.8066 22.6458 18.275 23.6334C18.7528 23.9548 19.2306 24.2761 19.7074 24.5982C20.5155 25.2434 21.7785 24.7215 21.9562 23.7133C22.0352 23.2495 22.1145 22.7858 22.1938 22.322C22.6322 19.7588 23.0708 17.1948 23.4582 14.6233C23.5108 14.2199 23.5705 13.8166 23.6302 13.413C23.775 12.435 23.9199 11.4557 23.9652 10.4724C23.8485 9.49104 22.6586 9.70684 21.9965 9.92751C18.593 11.2226 15.2236 12.6136 11.8674 14.0292C11.4872 14.1976 11.1018 14.3659 10.7138 14.5353Z" fill="url(#PromoReviewSocialTg)"></path><defs><linearGradient id="PromoReviewSocialTg" x1="2.59519" y1="10.3069" x2="30.0331" y2="14.9755" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Конкретно по обучению на этом курсе вопросов нет. Все качественно</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Сергей Жданов</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">31.10.2023</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Я прошел курс "C# Basic". Крайне рад тому, что рискнул потратить деньги на покупку курса, хоть изначально был стереотип, что все подобные курсы - некие инфоцыгане которые просто берут деньги, но толком не учат. На самом деле учат, еще как учат.
Изначально, я знал c# на крайне примитивном уровне, что-то с ВУЗа, что-то по работе делал на этом языке, но если честно, в основном я пользовался базовыми циклами и массивами и некоторыми специфическими штуками, но понимание как это работает не было, в плане ООП я был полностью 0 (а это и есть база c#). Поэтому смело можно сказать, что я начал ПОЧТИ что с нуля.
Сразу скажу о плюсах курса:
1. Преподаватели
На мое большое удивление после школы и ВУЗА ни один преподаватель, по моим ощущениям, не проводил урок лишь бы рассказать тему и закончить урок. Зачастую преподаватели оставались после урока в положенные 1.5ч, чтобы не только ответить на все вопросы учеников, но и рассказать что-то из своего опыта, может даже не совсем по теме. Преподаватели реально хотят передать свои знания и горят этим. Это очень круто!!!
2. Нет воды! Кроме первого ВВОДНОГО УРОКА все уроки это только чистые знания. Это я пишу к тому, что на моем первом ВВОДНОМ уроке один из студентов начал жаловаться, что это не урок, а вода. Возможно, после этого тот студент не стал продолжать обучение (а может и стал, я не запомнил). Информации очень много!
3. Мне понравились ДЗ. Когда я сам пытался в ООП, я не понимал, правильно ли я делаю, правильно ли я понял задание. Здесь дз раскрывают тему, по ним можно закрепить знания. Все дз проверятся преподавателями. На каждое дз получаешь обратный отзыв по тому, где и как можно улучшить свой код. Я не обучался на других курсах, поэтому не могу сравнивать, но на отусе мне понравилось.
4. Какие это знания! Часто говорят, что в программирование можно всему научиться самому, думаю это правда, просто это гораздо сложнее. Я пытался много раз обучаться самому, но у меня не пошло. Я мог просто не быть уверенным, понял ли я тему правильно, а подсказать и проверить было некому. Иногда я не знал, какую следующую тему изучать или где найти по теме задание, чтобы закрепить материал. В общем, на курсе этих проблем не будет.
Можно и дальше перечислять плюсы, но я думаю, что читающим важнее минусы. Как таковых минусов я не выявил, скорее некоторые предупреждения:
Курс для меня был сложный и напряжённый. Мои уроки начинались в 8 вечера по мск. По идеи урок должен идти 1.5 часа, но как я сказал, зачастую препод хоть и говорит, что на этом весь материал по уроку рассказал, но остается, чтобы рассказать что-то от себя или что-то разобрать более подробно. Да, конечно , можно уйти с урока, но мне всегда было интересно послушать. Поэтому иногда урок длился дольше. Лично для меня это огромный плюс, но может для кого-то и минус.
Домашки для меня тоже были разные по уровню, иногда можно было даже решить за один вечер, но бывало, что и пару недель не хватало. Для меня это тоже плюс, так как простые дз не столь эффективны, но может для кого-то это минус.
Я сверху подчеркнул, что я имел хоть минимальное представление, что такое язык программирования c#, если Вы такого опыта не имеете, то не переживайте, но будьте готовы, что этот курс, это не лишь бы прослушать лекции и получить сертификат (хотя вроде и так можно), а практические занятие, на которые может уйти много времени, так и еще создание проекта. Будьте готовы уделять курсу много времени. Но это того стоит!!!
P.S сейчас я перешел на c# professional. Надеюсь, что здесь планка будет не ниже!</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Николай Скурков</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">30.05.2023</div></div><div class="sc-h3yero-6 bXBhOa"><a target="_blank" rel="noopener noreferrer" href="https://telegram.me/telegram" class="sc-e8trbg-0 ervbDS"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M31.9995 16.001C31.9995 24.8375 24.836 32.001 15.9995 32.001C7.16298 32.001 -0.000488281 24.8375 -0.000488281 16.001C-0.000488281 7.16444 7.16298 0.000976562 15.9995 0.000976562C24.836 0.000976562 31.9995 7.16444 31.9995 16.001ZM10.7138 14.5353C9.11105 15.2351 7.46425 15.9542 5.95835 16.7836C5.17203 17.3594 6.2171 17.7666 7.19758 18.1486C7.35345 18.2094 7.50765 18.2694 7.65265 18.3294C7.77331 18.3666 7.89598 18.4056 8.02031 18.4452C9.11078 18.7926 10.3266 19.18 11.3853 18.5973C13.1244 17.5983 14.7655 16.4434 16.4054 15.2893C16.9427 14.9112 17.4798 14.5332 18.0202 14.1608C18.0456 14.1446 18.0741 14.126 18.1054 14.1058C18.5657 13.8074 19.6011 13.1362 19.2181 14.061C18.3125 15.0514 17.3424 15.9281 16.3672 16.8096C15.7098 17.4037 15.0501 18 14.4061 18.6346C13.8452 19.0904 13.2628 20.0068 13.8908 20.645C15.3374 21.6577 16.8066 22.6458 18.275 23.6334C18.7528 23.9548 19.2306 24.2761 19.7074 24.5982C20.5155 25.2434 21.7785 24.7215 21.9562 23.7133C22.0352 23.2495 22.1145 22.7858 22.1938 22.322C22.6322 19.7588 23.0708 17.1948 23.4582 14.6233C23.5108 14.2199 23.5705 13.8166 23.6302 13.413C23.775 12.435 23.9199 11.4557 23.9652 10.4724C23.8485 9.49104 22.6586 9.70684 21.9965 9.92751C18.593 11.2226 15.2236 12.6136 11.8674 14.0292C11.4872 14.1976 11.1018 14.3659 10.7138 14.5353Z" fill="url(#PromoReviewSocialTg)"></path><defs><linearGradient id="PromoReviewSocialTg" x1="2.59519" y1="10.3069" x2="30.0331" y2="14.9755" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Про Отус видел еще на хабре как школу, которая выпускает мидлов. Решил попробовать, смотрел скептически на все это(слышал от знакомых много отзывов про другие школы в формате "инфоцигане"). Что точно очень круто - сервис! Если посетить первую лекцию можно понять одну важную установку - Онлайн школа это как спортзал. Говоря про курс, точно 10 из 10. Лекции понятны, но времени мало - тотального разбора в них нет(не считаю минусом, многое все-таки нужно изучать самому). ДЗ интересные. Проект для меня было мало времени, совмещать обучение и работу сложно. Но тут как раз мой скептецизм не оправдал себя и раскрывается причина моей оценки 10 из 10 - сервис. На многие вещи можно постучаться в личку преподователю(мне очень сильно помогал Дмитрий Панкрашов, !!выражаю огромнейшую благодарность!!) и получить помощь. Так же руководство курса идут навстречу( я не успевал, мне предлагали отсрочить сдачу проекта - к слову я воспользовался услугой трансфера). Для начинающих, с должным желанием, рвением и количеством времени(ну и немного теории все-таки надо открыть там VS, сделать метод) лучшее решение. Свой проект я еще не сдал, но уже ощущаю свой опыт и знания приобретенные в рамках курса! 10 из 10!</div></div></div></div></div><div color="#FA6D41" class="sc-1bkbgbz-6 eGxJvf"><button color="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-4 gKNzJW biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-3 gKNzJW iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div></div><div class="sc-x072mc-0 sc-1r62a6q-0 hOtCic lliDuJ"><h2 class="sc-1x9oq14-0 sc-1r62a6q-1 bTMeHF llFwsA">Подтверждение знаний и навыков</h2><div class="sc-1x9oq14-0 sc-1r62a6q-2 fPZiIk dtnelf"><div>OTUS осуществляет лицензированную образовательную деятельность. </div>
<div>Вы получите сертификат о прохождении обучения, а также можете получить удостоверение о повышении квалификации.</div></div><div class="sc-1r62a6q-3 eNyjzK"><div class="sc-1oz275d-0 ddfkAs"><div class="sc-1bkbgbz-0 giOpNO swiper-ui sc-1oz275d-3 hXVWHD"><div class="sc-1oz275d-2 cmjKRy sc-1bkbgbz-1 ehnata"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide"><img src="/_next/static/images/img/otus-certificate-832bf0e82aba1cde68e7417b12683728.png" class="sc-1oz275d-1 dCggDS"/></div><div class="swiper-slide"><img src="/_next/static/images/img/upk-diploma-d6bca6c33b9795bec7d04fb91a431230.png" class="sc-1oz275d-1 dCggDS"/></div></div></div></div><div color="#FA6D41" class="sc-1bkbgbz-6 eGxJvf"><button color="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-4 gKNzJW biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-3 gKNzJW iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div><div class="sc-1r62a6q-4 fulWiX"><h2>После обучения:</h2>
<ul>
<li class="list_item">
<p class="">Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект и готовы предоставить копию документа о высшем или среднем профессиональном образовании</p>
</li>
<li class="list_item">
<p class="">Доступ к учебным материалам курса</p>
</li>
<li class="list_item">
<p class="">Ваш личный проект, который поможет проходить собеседования</p>
</li>
</ul></div></div></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div id="payment-link" class="sc-1ddwpfq-1 hnlXxp sc-mgf5g0-1 cGuqjL"><i class="sc-1ddwpfq-0 jfuJCc"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-mgf5g0-0 VNvrk sc-x072mc-0 hOtCic"><div class="sc-mgf5g0-3 iMmpz"><div class="sc-mgf5g0-2 guDvEk"></div><h2 class="sc-1x9oq14-0 sc-mgf5g0-5 jmLQpp cHLoOP">C# Developer. Basic</h2></div><div class="sc-mgf5g0-4 cIkHKG"><div class="sc-10kui61-0 hgTHTJ"><div class="sc-10kui61-1 gEGbfQ"><div class="sc-t8narm-0 gPfNRv sc-1peufw-0 gosVbC"><div class="sc-zkx93-0 yFPt"><div>В рассрочку</div></div><div class="sc-zkx93-0 hubLMz"><div>Полная</div></div><div class="sc-zkx93-0 hubLMz"><div>Компаниям</div></div></div><p class="sc-1x9oq14-0 hQBzUY">Стоимость в рассрочку</p><div class="sc-1peufw-1 lYQex"><div class="sc-1x9oq14-0 sc-1peufw-2 ioOegJ iKtgdB">от<!-- --> <!-- -->6 666,67<!-- --> <!-- -->₽<span class="sc-1peufw-4 iLnntQ">/мес</span></div></div><div class="sc-1gixy6u-0 SAbyR"></div></div><div class="sc-1r0uxxj-1 bPBPRV sc-10kui61-2 bpPrAe"><div class="sc-1r0uxxj-0 ewmmcs"></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.7689 8.3818H22C22 4.98459 19.9644 3 16.5156 3H7.48444C4.03556 3 2 4.98459 2 8.33847V15.6615C2 19.0154 4.03556 21 7.48444 21H16.5156C19.9644 21 22 19.0154 22 15.6615V15.3495H17.7689C15.8052 15.3495 14.2133 13.7975 14.2133 11.883C14.2133 9.96849 15.8052 8.41647 17.7689 8.41647V8.3818ZM17.7689 9.87241H21.2533C21.6657 9.87241 22 10.1983 22 10.6004V13.131C21.9952 13.5311 21.6637 13.8543 21.2533 13.8589H17.8489C16.8548 13.872 15.9855 13.2084 15.76 12.2643C15.6471 11.6783 15.8056 11.0736 16.1931 10.6122C16.5805 10.1509 17.1573 9.88007 17.7689 9.87241ZM17.92 12.533H18.2489C18.6711 12.533 19.0133 12.1993 19.0133 11.7877C19.0133 11.3761 18.6711 11.0424 18.2489 11.0424H17.92C17.7181 11.0401 17.5236 11.1166 17.38 11.255C17.2364 11.3934 17.1555 11.5821 17.1556 11.779C17.1555 12.1921 17.4964 12.5282 17.92 12.533ZM6.73778 8.3818H12.3822C12.8044 8.3818 13.1467 8.04812 13.1467 7.63649C13.1467 7.22487 12.8044 6.89119 12.3822 6.89119H6.73778C6.31903 6.89116 5.9782 7.2196 5.97333 7.62783C5.97331 8.04087 6.31415 8.37705 6.73778 8.3818Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez"><span class="sc-1r0uxxj-3 kMVdSV">Доступные способы оплаты.</span> <br class="sc-1r0uxxj-2 eewVHU"/>Стоимость указана для оплаты физическими лицами</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.3991 9.14611L21.1193 9.86611C21.6895 10.4261 21.9996 11.1861 21.9996 11.9861C22.0096 12.7861 21.6995 13.5471 21.1393 14.1161C21.1327 14.1234 21.126 14.1299 21.1193 14.1363C21.116 14.1396 21.1127 14.1428 21.1093 14.1461L20.3991 14.8561C20.119 15.1361 19.9589 15.5161 19.9589 15.9171V16.9461C19.9589 18.6061 18.6084 19.9571 16.9478 19.9571H15.9174C15.5173 19.9571 15.1372 20.1161 14.8571 20.3961L14.1368 21.1161C13.5466 21.7071 12.7763 21.9961 12.006 21.9961C11.2357 21.9961 10.4655 21.7071 9.87525 21.1271L9.14498 20.3961C8.86488 20.1161 8.48474 19.9571 8.0846 19.9571H7.05423C5.39362 19.9571 4.04313 18.6061 4.04313 16.9461V15.9171C4.04313 15.5161 3.88308 15.1361 3.60298 14.8461L2.88271 14.1361C1.71229 12.9671 1.70229 11.0561 2.87271 9.87711L3.60298 9.14611C3.88308 8.86611 4.04313 8.48611 4.04313 8.07611V7.05611C4.04313 5.39611 5.39362 4.04711 7.05423 4.04711H8.0846C8.48474 4.04711 8.86488 3.88611 9.14498 3.60611L9.86524 2.88611C11.0357 1.70711 12.9464 1.70711 14.1268 2.87711L14.8571 3.60611C15.1372 3.88611 15.5173 4.04711 15.9174 4.04711H16.9478C18.6084 4.04711 19.9589 5.39611 19.9589 7.05611V8.08711C19.9589 8.48611 20.119 8.86611 20.3991 9.14611ZM9.42509 15.4461C9.66517 15.4461 9.88525 15.3561 10.0453 15.1861L15.1872 10.0471C15.5273 9.70711 15.5273 9.14611 15.1872 8.80611C14.8471 8.46711 14.2969 8.46711 13.9567 8.80611L8.81486 13.9461C8.47474 14.2861 8.47474 14.8461 8.81486 15.1861C8.97492 15.3561 9.195 15.4461 9.42509 15.4461ZM13.6966 14.5661C13.6966 15.0561 14.0868 15.4461 14.577 15.4461C15.0571 15.4461 15.4473 15.0561 15.4473 14.5661C15.4473 14.0871 15.0571 13.6961 14.577 13.6961C14.0868 13.6961 13.6966 14.0871 13.6966 14.5661ZM9.43509 8.55611C9.91526 8.55611 10.3054 8.94611 10.3054 9.42611C10.3054 9.91711 9.91526 10.3061 9.43509 10.3061C8.95492 10.3061 8.55477 9.91711 8.55477 9.42611C8.55477 8.94611 8.95492 8.55611 9.43509 8.55611Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez">Верните с помощью налогового <br class="sc-1r0uxxj-2 eewVHU"/>вычета до 13% стоимости обучения.<!-- --> <!-- -->Оставьте заявку и менеджер вас проконсультирует</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><g><path d="M14.4183 5.49C13.9422 5.40206 13.505 5.70586 13.4144 6.17054C13.3238 6.63522 13.6285 7.08891 14.0916 7.17984C15.4859 7.45166 16.5624 8.53092 16.8353 9.92995V9.93095C16.913 10.3337 17.2675 10.6265 17.6759 10.6265C17.7306 10.6265 17.7854 10.6215 17.8412 10.6115C18.3043 10.5186 18.609 10.0659 18.5184 9.60018C18.1111 7.51062 16.5027 5.89672 14.4183 5.49Z" fill="currentColor"></path><path d="M14.356 2.00793C14.1329 1.97595 13.9088 2.04191 13.7305 2.18381C13.5473 2.32771 13.4328 2.53557 13.4079 2.76841C13.3551 3.23908 13.6947 3.66479 14.1648 3.71776C17.4064 4.07951 19.926 6.60477 20.2905 9.85654C20.3393 10.2922 20.7048 10.621 21.141 10.621C21.1739 10.621 21.2058 10.619 21.2386 10.615C21.4667 10.59 21.6699 10.4771 21.8133 10.2972C21.9557 10.1174 22.0204 9.89351 21.9945 9.66467C21.5404 5.60746 18.4003 2.45862 14.356 2.00793Z" fill="currentColor"></path></g><g><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0317 12.9724C15.0208 16.9604 15.9258 12.3467 18.4656 14.8848C20.9143 17.3328 22.3216 17.8232 19.2192 20.9247C18.8306 21.237 16.3616 24.9943 7.6846 16.3197C-0.993478 7.644 2.76158 5.17244 3.07397 4.78395C6.18387 1.67385 6.66586 3.08938 9.11449 5.53733C11.6544 8.0765 7.04266 8.98441 11.0317 12.9724Z" fill="currentColor"></path></g></svg></div><div class="sc-1x9oq14-0 doSDez">Есть вопросы? Позвоните!<br/><a href="tel:+7 499 938-92-02"><span class="sc-1r0uxxj-3 kMVdSV">+7 499 938-92-02</span></a> <!-- -->бесплатно</div></div></div></div><div class="sc-7ugo7y-0 bTFiyu"><div class="sc-7ugo7y-1 iOYphy"><div class="sc-1x9oq14-0 sc-1u84tez-2 gGtEnS kgGhBx">Запишитесь сегодня</div><div class="sc-1x9oq14-0 sc-1u84tez-3 eMZyoN lcNwWc">Старт занятий 29 апреля</div><div class="sc-1lrh8w5-0 ftkQLi"><button class="sc-1qig7zt-0 czpnNJ sc-1lrh8w5-3 JTsAm"><span class="sc-1lrh8w5-4 jTrfLJ">Оставить заявку</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1lrh8w5-5 kfzfcV"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.5 12.5537C12.2546 12.5537 14.4626 10.3171 14.4626 7.52684C14.4626 4.73663 12.2546 2.5 9.5 2.5C6.74543 2.5 4.53737 4.73663 4.53737 7.52684C4.53737 10.3171 6.74543 12.5537 9.5 12.5537ZM9.5 15.0152C5.45422 15.0152 2 15.6621 2 18.2464C2 20.8298 5.4332 21.5 9.5 21.5C13.5448 21.5 17 20.8531 17 18.2687C17 15.6844 13.5668 15.0152 9.5 15.0152ZM19.8979 9.58786H21.101C21.5962 9.58786 22 9.99731 22 10.4995C22 11.0016 21.5962 11.4111 21.101 11.4111H19.8979V12.5884C19.8979 13.0906 19.4952 13.5 18.999 13.5C18.5038 13.5 18.1 13.0906 18.1 12.5884V11.4111H16.899C16.4027 11.4111 16 11.0016 16 10.4995C16 9.99731 16.4027 9.58786 16.899 9.58786H18.1V8.41162C18.1 7.90945 18.5038 7.5 18.999 7.5C19.4952 7.5 19.8979 7.90945 19.8979 8.41162V9.58786Z" fill="currentColor"></path></svg></button><button class="sc-1qig7zt-0 dRnzjZ sc-1lrh8w5-6 kIhMyV">Купить</button></div><div class="sc-ne2nun-0 jFFNWn"><button class="sc-1x9oq14-0 sc-ne2nun-2 doSDez cWqojy">Оставить заявку на оплату<!-- --> <!-- -->курса<!-- --> работодателем</button></div></div></div><div class="sc-1r0uxxj-1 bPBPRV sc-mgf5g0-6 kiGnqS"><div class="sc-1r0uxxj-0 ewmmcs"></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.7689 8.3818H22C22 4.98459 19.9644 3 16.5156 3H7.48444C4.03556 3 2 4.98459 2 8.33847V15.6615C2 19.0154 4.03556 21 7.48444 21H16.5156C19.9644 21 22 19.0154 22 15.6615V15.3495H17.7689C15.8052 15.3495 14.2133 13.7975 14.2133 11.883C14.2133 9.96849 15.8052 8.41647 17.7689 8.41647V8.3818ZM17.7689 9.87241H21.2533C21.6657 9.87241 22 10.1983 22 10.6004V13.131C21.9952 13.5311 21.6637 13.8543 21.2533 13.8589H17.8489C16.8548 13.872 15.9855 13.2084 15.76 12.2643C15.6471 11.6783 15.8056 11.0736 16.1931 10.6122C16.5805 10.1509 17.1573 9.88007 17.7689 9.87241ZM17.92 12.533H18.2489C18.6711 12.533 19.0133 12.1993 19.0133 11.7877C19.0133 11.3761 18.6711 11.0424 18.2489 11.0424H17.92C17.7181 11.0401 17.5236 11.1166 17.38 11.255C17.2364 11.3934 17.1555 11.5821 17.1556 11.779C17.1555 12.1921 17.4964 12.5282 17.92 12.533ZM6.73778 8.3818H12.3822C12.8044 8.3818 13.1467 8.04812 13.1467 7.63649C13.1467 7.22487 12.8044 6.89119 12.3822 6.89119H6.73778C6.31903 6.89116 5.9782 7.2196 5.97333 7.62783C5.97331 8.04087 6.31415 8.37705 6.73778 8.3818Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez"><span class="sc-1r0uxxj-3 kMVdSV">Доступные способы оплаты.</span> <br class="sc-1r0uxxj-2 eewVHU"/>Стоимость указана для оплаты физическими лицами</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.3991 9.14611L21.1193 9.86611C21.6895 10.4261 21.9996 11.1861 21.9996 11.9861C22.0096 12.7861 21.6995 13.5471 21.1393 14.1161C21.1327 14.1234 21.126 14.1299 21.1193 14.1363C21.116 14.1396 21.1127 14.1428 21.1093 14.1461L20.3991 14.8561C20.119 15.1361 19.9589 15.5161 19.9589 15.9171V16.9461C19.9589 18.6061 18.6084 19.9571 16.9478 19.9571H15.9174C15.5173 19.9571 15.1372 20.1161 14.8571 20.3961L14.1368 21.1161C13.5466 21.7071 12.7763 21.9961 12.006 21.9961C11.2357 21.9961 10.4655 21.7071 9.87525 21.1271L9.14498 20.3961C8.86488 20.1161 8.48474 19.9571 8.0846 19.9571H7.05423C5.39362 19.9571 4.04313 18.6061 4.04313 16.9461V15.9171C4.04313 15.5161 3.88308 15.1361 3.60298 14.8461L2.88271 14.1361C1.71229 12.9671 1.70229 11.0561 2.87271 9.87711L3.60298 9.14611C3.88308 8.86611 4.04313 8.48611 4.04313 8.07611V7.05611C4.04313 5.39611 5.39362 4.04711 7.05423 4.04711H8.0846C8.48474 4.04711 8.86488 3.88611 9.14498 3.60611L9.86524 2.88611C11.0357 1.70711 12.9464 1.70711 14.1268 2.87711L14.8571 3.60611C15.1372 3.88611 15.5173 4.04711 15.9174 4.04711H16.9478C18.6084 4.04711 19.9589 5.39611 19.9589 7.05611V8.08711C19.9589 8.48611 20.119 8.86611 20.3991 9.14611ZM9.42509 15.4461C9.66517 15.4461 9.88525 15.3561 10.0453 15.1861L15.1872 10.0471C15.5273 9.70711 15.5273 9.14611 15.1872 8.80611C14.8471 8.46711 14.2969 8.46711 13.9567 8.80611L8.81486 13.9461C8.47474 14.2861 8.47474 14.8461 8.81486 15.1861C8.97492 15.3561 9.195 15.4461 9.42509 15.4461ZM13.6966 14.5661C13.6966 15.0561 14.0868 15.4461 14.577 15.4461C15.0571 15.4461 15.4473 15.0561 15.4473 14.5661C15.4473 14.0871 15.0571 13.6961 14.577 13.6961C14.0868 13.6961 13.6966 14.0871 13.6966 14.5661ZM9.43509 8.55611C9.91526 8.55611 10.3054 8.94611 10.3054 9.42611C10.3054 9.91711 9.91526 10.3061 9.43509 10.3061C8.95492 10.3061 8.55477 9.91711 8.55477 9.42611C8.55477 8.94611 8.95492 8.55611 9.43509 8.55611Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez">Верните с помощью налогового <br class="sc-1r0uxxj-2 eewVHU"/>вычета до 13% стоимости обучения.<!-- --> <!-- -->Оставьте заявку и менеджер вас проконсультирует</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><g><path d="M14.4183 5.49C13.9422 5.40206 13.505 5.70586 13.4144 6.17054C13.3238 6.63522 13.6285 7.08891 14.0916 7.17984C15.4859 7.45166 16.5624 8.53092 16.8353 9.92995V9.93095C16.913 10.3337 17.2675 10.6265 17.6759 10.6265C17.7306 10.6265 17.7854 10.6215 17.8412 10.6115C18.3043 10.5186 18.609 10.0659 18.5184 9.60018C18.1111 7.51062 16.5027 5.89672 14.4183 5.49Z" fill="currentColor"></path><path d="M14.356 2.00793C14.1329 1.97595 13.9088 2.04191 13.7305 2.18381C13.5473 2.32771 13.4328 2.53557 13.4079 2.76841C13.3551 3.23908 13.6947 3.66479 14.1648 3.71776C17.4064 4.07951 19.926 6.60477 20.2905 9.85654C20.3393 10.2922 20.7048 10.621 21.141 10.621C21.1739 10.621 21.2058 10.619 21.2386 10.615C21.4667 10.59 21.6699 10.4771 21.8133 10.2972C21.9557 10.1174 22.0204 9.89351 21.9945 9.66467C21.5404 5.60746 18.4003 2.45862 14.356 2.00793Z" fill="currentColor"></path></g><g><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0317 12.9724C15.0208 16.9604 15.9258 12.3467 18.4656 14.8848C20.9143 17.3328 22.3216 17.8232 19.2192 20.9247C18.8306 21.237 16.3616 24.9943 7.6846 16.3197C-0.993478 7.644 2.76158 5.17244 3.07397 4.78395C6.18387 1.67385 6.66586 3.08938 9.11449 5.53733C11.6544 8.0765 7.04266 8.98441 11.0317 12.9724Z" fill="currentColor"></path></g></svg></div><div class="sc-1x9oq14-0 doSDez">Есть вопросы? Позвоните!<br/><a href="tel:+7 499 938-92-02"><span class="sc-1r0uxxj-3 kMVdSV">+7 499 938-92-02</span></a> <!-- -->бесплатно</div></div></div></div></div></div><div class="sc-x072mc-0 sc-1mszhjn-0 hOtCic irTCnx"><h2 class="sc-1x9oq14-0 sc-1mszhjn-1 kswXpy kPNZqQ">Частые вопросы</h2><div class="sc-tqrjzo-0 doKOqQ"><div class="sc-li015i-2 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Что понадобится для обучения?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Программа предусмотрена для новичков и дает все необходимые базовые знания. Поэтому для занятий вам понадобится только компьютер.</div></div></div></div><div class="sc-li015i-2 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Что, если в середине курса я не смогу продолжать обучение?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">У вас есть право одного бесплатного трансфера в другую группу.</div></div></div></div><div class="sc-li015i-2 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Обязательно ли защищать все проектные работы?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Для получения диплома о переквалификации необходимо сдать проекты. В остальном — это часть по вашему желанию. Кроме того, проекты не обязательно защищать при аудитории, а можно сдать в чате с преподавателем.</div></div></div></div><div class="sc-li015i-2 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Я могу вернуть деньги?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.</div></div></div></div></div></div></div></main><!--$--><footer class="sc-oy98rf-0 jliiMx"><div class="sc-oy98rf-2 bLWaqJ sc-1ddwpfq-1 hnlXxp sc-oy98rf-3 fMEenG"><div class="sc-oy98rf-1 dtANiL sc-1ddwpfq-0 evFWrv"></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-x072mc-0 hOtCic"><!--$--><div class="sc-176eli6-0 kVOlcO"><div class="sc-176eli6-1 bIqTVy"><div class="sc-s8yol2-0 dmOCHb"><div class="sc-s8yol2-1 sc-s8yol2-2 fSkxQH jinSfn"><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/about">О нас</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/smi">СМИ о нас</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/reviews">Отзывы</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/contacts">Контакты</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/journal">Блог</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/faq">FAQ</a></div><div class="sc-s8yol2-1 sc-s8yol2-3 fSkxQH nSSml"><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/b2b">Корпоративное обучение</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/lessons">Каталог курсов</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/about/loyalty">Программы лояльности</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/professions">Каталог профессий</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/employers/all">Наши партнеры</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/teach">Стать преподавателем</a></div></div><div class="sc-15qczmr-0 MecOH"><div class="sc-15qczmr-1 dpoRMu"><a target="_blank" rel="nofollow noopener" href="https://vk.com/club145052891" src="/_next/static/images/img/footerUivk-1a499178c819de0f4161a07172b27f6b.svg" class="sc-15qczmr-2 jKMwie"></a><a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/channel/UCetgtvy93o3i3CvyGXKFU3g" src="/_next/static/images/img/footerUiyt-84e5fa7c2e582191762486a7be2c2652.svg" class="sc-15qczmr-2 eFVTJV"></a><a target="_blank" rel="nofollow noopener" href="https://zen.yandex.ru/id/5bbcbc1ba5bd5400a990e7d9" src="/_next/static/images/img/footerUidzen-cfe01a671b9064c8e5d54b2ac5895a0c.png" class="sc-15qczmr-2 hUuIIY"></a></div><div class="sc-15qczmr-3 foluGF"><a target="_blank" rel="nofollow noopener" href="https://t.me/Otusjava" class="sc-15qczmr-4 hMqYlN"><div src="/_next/static/images/img/footerUitg-326baa373419d1a193621a597320c652.svg" class="sc-15qczmr-5 kmPvgJ"></div><div class="sc-1x9oq14-0 sc-15qczmr-6 CWfAH driyCh">Канал в Telegram</div></a><a target="_blank" rel="nofollow noopener" href="https://t.me/joinchat/JMakp0NXc-L8nNneHCtx7A" class="sc-15qczmr-4 hMqYlN"><div src="/_next/static/images/img/footerUitg-326baa373419d1a193621a597320c652.svg" class="sc-15qczmr-5 kmPvgJ"></div><div class="sc-1x9oq14-0 sc-15qczmr-6 CWfAH driyCh">Группа в Telegram</div></a></div></div><div class="sc-176eli6-2 hRGcmY"><section class="sc-des2oc-0 fYuJAI"><div class="sc-1x9oq14-0 sc-des2oc-1 bDRAny hbxrvB">Подписка на новости IT, анонсы открытых уроков, спец. предложения</div><div class="sc-des2oc-2 iHEhCu"><div class="sc-7tecya-1 igoKuA sc-des2oc-3 heMBup"><div class="sc-1uo0fn1-0 chwycb sc-7tecya-2 dUXfnG"><label class="sc-7tecya-3 ewcVbw">Введите Email</label><input placeholder="" class="sc-7tecya-4 bkPfUD" type="text" value=""/></div></div><button class="sc-1qig7zt-0 bYRRHi sc-des2oc-4 dqoHct">OK</button><div class="sc-1x9oq14-0 sc-dusc05-0 doSDez fyzNNQ sc-1x9oq14-0-Component sc-des2oc-5 fvUGfA kSlCOl"><div class="sc-1fry39v-0 eAOVcR" value="true"><div class="sc-12fwr4-0 eZuRED"><input id="a8eb35591381ecc4ffd1b045" type="checkbox" class="sc-j40lj7-0 ceClWZ" checked=""/><svg class="sc-hd7keq-0 dWxMps sc-12fwr4-1 exsZZC" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.26022 12.5541C7.60716 12.2072 8.16964 12.2072 8.51658 12.5541L10.3433 14.3808L15.4311 8.31742C15.7465 7.94157 16.3068 7.89254 16.6827 8.20792C17.0585 8.52329 17.1075 9.08364 16.7921 9.45949L11.1045 16.2377C11.0816 16.2674 11.0565 16.2959 11.0293 16.3232C10.6824 16.6701 10.1199 16.6701 9.77293 16.3232L7.26022 13.8104C6.91329 13.4635 6.91329 12.901 7.26022 12.5541Z" fill="currentColor"></path></svg></div><label for="a8eb35591381ecc4ffd1b045" class="sc-1fry39v-1 kMJHVN">Я принимаю условия<!-- --> <a class="sc-1vdp0yy-0 ldwIhb sc-dusc05-1 fgICvQ" href="/legal/privacy" target="_blank">Политики обработки персональных данных</a> <!-- -->и<!-- --> <a class="sc-1vdp0yy-0 ldwIhb sc-dusc05-1 fgICvQ" href="/legal/terms" target="_blank">Пользовательского соглашения</a> <!-- -->и даю свое<!-- --> <a class="sc-1vdp0yy-0 ldwIhb sc-dusc05-1 fgICvQ" href="/legal/lead_privacy_agree" target="_blank">согласие на обработку персональных данных</a></label></div></div></div></section><div class="sc-b223p8-0 jbfvPl"><span class="sc-b223p8-1 kexDMw"><span class="sc-1x9oq14-0 sc-b223p8-2 CWfAH cpJPIb">По всем вопросам<!-- --> <!-- -->пишите на</span> <a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="mailto:help@otus.ru"> <!-- -->help@otus.ru</a></span><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/common">Сведения об образовательной организации</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/it_company_accreditation">OTUS является аккредитованной IT-компанией</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="https://reestr.digital.gov.ru/reestr/2704482/" target="_blank">В реестре отечественного ПО №24216</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/terms">Условия использования сервиса</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/recommendations">Сведения о рекомендательных технологиях</a></div></div></div><div class="sc-19c5cbt-0 kXtOIJ"><div class="sc-1x9oq14-0 eMZyoN">© 2015-2026 OTUS</div><!--$--><div class="sc-19c5cbt-1 fvpIrL"><div class="sc-1jb0vz0-0 fEJhZn"></div><a target="_blank" rel="noopener noreferrer" href="http://sk.ru/?utm_source=otus" class="sc-1jb0vz0-1 bQKtqJ"></a><a target="_blank" href="https://ktsstudio.com/?utm_source=otus" class="sc-1urziip-1 cPEbNj"><img src="/_next/static/images/img/light-3dd56d782c43dc1e78b7e0da7bb3fb50.svg" alt="KTS Logo" class="sc-ed2fvu-0 sc-1urziip-0 kmquqg fCchjz"/></a></div><!--/$--></div></div><!--/$--></div></div></footer><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div class="smart-captcha"></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div id="__PORTAL__"></div><noscript><div><img src="https://mc.yandex.ru/watch/44973232" style="position:absolute;left:-9999px;top:0" alt=""/></div></noscript><noscript><img src="https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv" style="position:fixed;left:-999px" alt=""/></noscript><noscript><div><img src="https://top-fwz1.mail.ru/counter?id=3316675;js=na" style="position:absolute;left:-9999px" alt="Top.Mail.Ru"/></div></noscript><script src="/_next/static/chunks/webpack-84c612d5581a179f.js" async=""></script><style data-styled="" data-styled-version="5.3.10"></style><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/8cc264f7ea39f5c5.css\",\"style\"]\n2:HL[\"/_next/static/css/369ab862ca923128.css\",\"style\"]\n3:HL[\"/_next/static/css/1eb8edb263c0b31d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[69521,[],\"\"]\n6:I[38895,[],\"\"]\n8:I[35725,[],\"\"]\nc:I[63988,[],\"NotFoundBoundary\"]\n17:I[27927,[],\"\"]\n7:[\"slug\",\"c-sharp-basic\",\"d\"]\nf:{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8cc264f7ea39f5c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}\ne:[\"$\",\"link\",\"0\",\"$f\"]\n11:{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/369ab862ca923128.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}\n10:[\"$\",\"link\",\"1\",\"$11\"]\n13:{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1eb8edb263c0b31d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}\n12:[\"$\",\"link\",\"2\",\"$13\"]\nd:[\"$e\",\"$10\",\"$12\"]\n18:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L4\",null,{\"buildId\":\"PhmzOnCKvz9SgutMtT86U\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"lessons\",\"c-sharp-basic\"],\"initialTree\":[\"\",{\"structuredData\":[\"children\",{\"children\":[\"lessons\",{\"children\":[[\"slug\",\"c-sharp-basic\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]}],\"children\":[\"lessons\",{\"children\":[[\"slug\",\"c-sharp-basic\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"structuredData\":[\"children\",{\"children\":[\"lessons\",{\"children\":[[\"slug\",\"c-sharp-basic\",\"d\"],{\"children\":[\"__PAGE__\",{},[[\"$undefined\",\"$L5\",null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"structuredData\",\"children\",\"children\",\"lessons\",\"children\",\"$7\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"structuredData\",\"children\",\"children\",\"lessons\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"structuredData\",\"children\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null],\"children\":[\"lessons\",{\"children\":[[\"slug\",\"c-sharp-basic\",\"d\"],{\"children\":[\"__PAGE__\",{},[[\"$L9\",\"$La\",null],null],null]},[[null,\"$Lb\"],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"lessons\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8cc264f7ea39f5c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/369ab862ca923128.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1eb8edb263c0b31d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$Lc\",null,{\"notFound\":[\"$d\",\"$L14\"],\"children\":\"$L15\"}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L16\"],\"globalErrorComponent\":\"$17\",\"missingSlots\":\"$W18\"}]\n"])</script><script>self.__next_f.push([1,"19:[\"slug\",\"c-sharp-basic\",\"d\"]\nb:[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"lessons\",\"children\",\"$19\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"1a:I[58890,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"3242\",\"static/chunks/3242-4559e666a92af915.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"3185\",\"static/chunks/app/layout-37aaf27e992c5aeb.js\"],\"default\"]\n1b:I[49866,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"3242\",\"static/chunks/3242-4559e666a92af915.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"3185\",\"static/chunks/app/layout-37aaf27e992c5aeb.js\"],\"Providers\"]\n1c:I[17776,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b."])</script><script>self.__next_f.push([1,"js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1701\",\"static/chunks/1701-caea77cd580b46da.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"9160\",\"static/chunks/app/not-found-6846642e53dd56ba.js\"],\"default\"]\n1d:I[27869,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"3242\",\"static/chunks/3242-4559e666a92af915.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"3185\",\"static/chunks/app/layout-37aaf27e992c5aeb.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"html\",null,{\"lang\":\"ru\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"charSet\":\"UTF-8\"}],[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"link\",null,{\"rel\":\"image_src\",\"href\":\"/__new_static__/img/meta-image.png\"}],[\"$\",\"link\",null,{\"rel\":\"shortcut icon\",\"type\":\"image/x-icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"/_next/static/images/img/owl-flight-5d7d1106ce62f5dd4057eb334384e529.gif\",\"as\":\"image\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"href\":\"/_next/static/images/img/favicon-16x16-3dc5220f18624c2a6fd3aa3b081da00a.png\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"href\":\"/_next/static/images/img/favicon-32x32-dd124835ecce421e1bb2c8f849e49a3f.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/_next/static/images/img/apple-touch-icon-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"57x57\",\"href\":\"/_next/static/images/img/apple-touch-icon-57x57-92769d5e197783e63f3bb3c8519c8912.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"60x60\",\"href\":\"/_next/static/images/img/apple-touch-icon-60x60-dfaaf3934bc7ed111c8c306b967afeeb.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"72x72\",\"href\":\"/_next/static/images/img/apple-touch-icon-72x72-693f0d64a225d5f0fe26ba5d088c8f14.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"76x76\",\"href\":\"/_next/static/images/img/apple-touch-icon-76x76-f3487d673c3e7ae975cf190fb758ab10.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"114x114\",\"href\":\"/_next/static/images/img/apple-touch-icon-114x114-98609536fdaa492edede039bdd03cff2.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"120x120\",\"href\":\"/_next/static/images/img/apple-touch-icon-120x120-169d5a3cf2a78fa8e7dfa780f15abcb7.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"144x144\",\"href\":\"/_next/static/images/img/apple-touch-icon-144x144-9b1aa25d8b37e9b97af4717495fd71bf.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"152x152\",\"href\":\"/_next/static/images/img/apple-touch-icon-152x152-e04100124be68d4151efe4eb96227866.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"/_next/static/images/img/apple-touch-icon-180x180-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"mask-icon\",\"href\":\"/_next/static/images/img/safari-pinned-tab-9b975a1bbe6e965061daed04a88d48e8.svg\",\"color\":\"#000000\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileColor\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileImage\",\"content\":\"/_next/static/images/img/mstile-144x144-c363ac4f42a2d7656bae44c971f5deab.png\"}],[\"$\",\"script\",null,{\"src\":\"https://vk.com/js/api/openapi.js?162\",\"type\":\"text/javascript\"}],[\"$\",\"$L1a\",null,{}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$L1b\",null,{\"data\":{\"headerStoreInitialData\":{\"categories\":[{\"objectType\":\"category\",\"coursesCount\":117,\"id\":1,\"imageUrl\":\"https://cdn.otus.ru/media/public/df/68/df68cab51573450db618e44501ae4c57.jpg\",\"slug\":\"programming\",\"title\":\"Программирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":17,\"id\":12,\"imageUrl\":\"https://cdn.otus.ru/media/public/69/0b/690b6d40c17c484d9130d57eb344260e.png\",\"slug\":\"architecture\",\"title\":\"Архитектура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":2,\"imageUrl\":\"https://cdn.otus.ru/media/public/4a/72/4a72106d85b8465c9d744cc0efe28a47.jpg\",\"slug\":\"data-science\",\"title\":\"Data Science\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":58,\"id\":3,\"imageUrl\":\"https://cdn.otus.ru/media/public/5d/74/5d74d97874e84236a8094f3e0246e6a8.jpg\",\"slug\":\"operations\",\"title\":\"Инфраструктура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":10,\"id\":8,\"imageUrl\":\"https://cdn.otus.ru/media/public/35/df/35dfb4a92fe140f6a1a3839fb8717f97.jpeg\",\"slug\":\"gamedev\",\"title\":\"GameDev\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":11,\"imageUrl\":\"https://cdn.otus.ru/media/public/c7/7e/c77e523bd935455ab0e0bd0c92c760b6.png\",\"slug\":\"information-security-courses\",\"title\":\"Безопасность\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":46,\"id\":5,\"imageUrl\":\"https://cdn.otus.ru/media/public/84/43/8443c0d256c04ca698665c673afc866c.jpg\",\"slug\":\"marketing-business\",\"title\":\"Управление\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":25,\"id\":9,\"imageUrl\":\"https://cdn.otus.ru/media/public/75/ae/75ae55064f7345e3aab0301a7f42c66e.png\",\"slug\":\"analytics\",\"title\":\"Аналитика и анализ\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":26,\"id\":15,\"imageUrl\":null,\"slug\":\"business-product\",\"title\":\"Бизнес и продукт в IT\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":16,\"imageUrl\":null,\"slug\":\"import-substitution\",\"title\":\"Импортозамещение\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":12,\"id\":6,\"imageUrl\":\"https://cdn.otus.ru/media/public/f2/fa/f2fa758623834ad1b320efd6cd5166b5.png\",\"slug\":\"testing\",\"title\":\"Тестирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":9,\"id\":17,\"imageUrl\":null,\"slug\":\"neural_networks\",\"title\":\"Нейросети\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":19,\"id\":13,\"imageUrl\":null,\"slug\":\"it-bez-programmirovanija\",\"title\":\"IT без программирования\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":4,\"imageUrl\":\"https://cdn.otus.ru/media/public/2f/ac/2fac7d21d6534f50b383405656782275.jpg\",\"slug\":\"corporate\",\"title\":\"Корпоративные курсы\",\"isShowOnMainPage\":true},{\"objectType\":\"specialization\",\"coursesCount\":13,\"slug\":\"spec\",\"title\":\"Специализации\",\"isShowOnMainPage\":\"$undefined\"},{\"objectType\":\"online\",\"coursesCount\":14,\"slug\":\"online\",\"title\":\"Подготовительные курсы\",\"isShowOnMainPage\":true}]},\"headChunkStoreInitialData\":{\"type\":1,\"data\":{\"html\":\"\u003cdiv class=\\\"before-header-ui\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse1\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse2\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__container\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__img before-header-ui__img_sales\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__content\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title hide-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title show-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003c/div\u003e\\r\\n \u003ca href=\\\"https://otus.ru/catalog/courses?categories=neural_networks\u0026utm_source=internal\u0026utm_medium=free\u0026utm_campaign=otus\u0026utm_term=chank\u0026utm_content=sla_sale_20-02-2026-10-04-2026\\\" rel=\\\"nofollow noreferrer noopener\\\" target=\\\"_blank\\\" class=\\\"before-header-ui__button\\\"\u003eВыбрать курс\u003c/a\u003e\\r\\n \u003c/div\u003e\\r\\n\u003c/div\u003e\",\"id\":425,\"namespace\":null,\"key\":\"before-header-ui\",\"title\":\"Скидки на курсы по нейросетям\",\"include_paths\":null,\"exclude_paths\":null}}},\"children\":[\"$undefined\",[[],[\"$\",\"$L1c\",null,{}]],[\"$\",\"$L1d\",null,{}]]}]}],[\"$\",\"div\",null,{\"id\":\"__PORTAL__\"}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://mc.yandex.ru/watch/44973232\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\",\"top\":\"0\"},\"alt\":\"\"}]}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv\",\"style\":{\"position\":\"fixed\",\"left\":\"-999px\"},\"alt\":\"\"}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://top-fwz1.mail.ru/counter?id=3316675;js=na\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\"},\"alt\":\"Top.Mail.Ru\"}]}]}]]}]]}]\n"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Курс «C#-разработчик» с нуля: C Sharp для начинающих онлайн обучение - ОТУС\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Базовый онлайн курс по основам C# и .NET с нуля для начинающих: научитесь синтаксису языка, ООП, работе с коллекциями, созданию консольных приложений. Курс подойдет тем, кто хочет стать разработчиком на C# с нуля. Записаться на курс «C# разработчик» с нуля на сайте ОТУС\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"name\":\"is_app_seo_default\",\"content\":\"false\"}],[\"$\",\"meta\",\"6\",{\"name\":\"vk:image\",\"content\":\"/__new_static__/img/meta-image.png\"}],[\"$\",\"meta\",\"7\",{\"name\":\"fb:app_id\",\"content\":\"486413851704844\"}],[\"$\",\"link\",\"8\",{\"rel\":\"canonical\",\"href\":\"https://otus.ru/lessons/c-sharp-basic/\"}],[\"$\",\"meta\",\"9\",{\"name\":\"yandex-verification\",\"content\":\"3019a35aeda6b45d\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Курс «C#-разработчик» с нуля: C Sharp для начинающих онлайн обучение - ОТУС\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Базовый онлайн курс по основам C# и .NET с нуля для начинающих: научитесь синтаксису языка, ООП, работе с коллекциями, созданию консольных приложений. Курс подойдет тем, кто хочет стать разработчиком на C# с нуля. Записаться на курс «C# разработчик» с нуля на сайте ОТУС\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://otus.ru/lessons/c-sharp-basic/\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Курс «C#-разработчик» с нуля: C Sharp для начинающих онлайн обучение - ОТУС\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Базовый онлайн курс по основам C# и .NET с нуля для начинающих: научитесь синтаксису языка, ООП, работе с коллекциями, созданию консольных приложений. Курс подойдет тем, кто хочет стать разработчиком на C# с нуля. Записаться на курс «C# разработчик» с нуля на сайте ОТУС\"}]]\n"])</script><script>self.__next_f.push([1,"9:null\n"])</script><script>self.__next_f.push([1,"1e:I[78444,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b.js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1701\",\"static/chunks/1701-caea77cd580b46da.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"7601\",\"static/chunks/app/error-37bbf3f7388748a0.js\"],\"default\"]\n1f:[]\n20:[]\n21:[]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"html\",null,{\"lang\":\"ru\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"charSet\":\"UTF-8\"}],[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"link\",null,{\"rel\":\"image_src\",\"href\":\"/__new_static__/img/meta-image.png\"}],[\"$\",\"link\",null,{\"rel\":\"shortcut icon\",\"type\":\"image/x-icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"/_next/static/images/img/owl-flight-5d7d1106ce62f5dd4057eb334384e529.gif\",\"as\":\"image\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"href\":\"/_next/static/images/img/favicon-16x16-3dc5220f18624c2a6fd3aa3b081da00a.png\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"href\":\"/_next/static/images/img/favicon-32x32-dd124835ecce421e1bb2c8f849e49a3f.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/_next/static/images/img/apple-touch-icon-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"57x57\",\"href\":\"/_next/static/images/img/apple-touch-icon-57x57-92769d5e197783e63f3bb3c8519c8912.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"60x60\",\"href\":\"/_next/static/images/img/apple-touch-icon-60x60-dfaaf3934bc7ed111c8c306b967afeeb.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"72x72\",\"href\":\"/_next/static/images/img/apple-touch-icon-72x72-693f0d64a225d5f0fe26ba5d088c8f14.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"76x76\",\"href\":\"/_next/static/images/img/apple-touch-icon-76x76-f3487d673c3e7ae975cf190fb758ab10.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"114x114\",\"href\":\"/_next/static/images/img/apple-touch-icon-114x114-98609536fdaa492edede039bdd03cff2.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"120x120\",\"href\":\"/_next/static/images/img/apple-touch-icon-120x120-169d5a3cf2a78fa8e7dfa780f15abcb7.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"144x144\",\"href\":\"/_next/static/images/img/apple-touch-icon-144x144-9b1aa25d8b37e9b97af4717495fd71bf.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"152x152\",\"href\":\"/_next/static/images/img/apple-touch-icon-152x152-e04100124be68d4151efe4eb96227866.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"/_next/static/images/img/apple-touch-icon-180x180-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"mask-icon\",\"href\":\"/_next/static/images/img/safari-pinned-tab-9b975a1bbe6e965061daed04a88d48e8.svg\",\"color\":\"#000000\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileColor\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileImage\",\"content\":\"/_next/static/images/img/mstile-144x144-c363ac4f42a2d7656bae44c971f5deab.png\"}],[\"$\",\"script\",null,{\"src\":\"https://vk.com/js/api/openapi.js?162\",\"type\":\"text/javascript\"}],[\"$\",\"$L1a\",null,{}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$L1b\",null,{\"data\":{\"headerStoreInitialData\":{\"categories\":[{\"objectType\":\"category\",\"coursesCount\":117,\"id\":1,\"imageUrl\":\"https://cdn.otus.ru/media/public/df/68/df68cab51573450db618e44501ae4c57.jpg\",\"slug\":\"programming\",\"title\":\"Программирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":17,\"id\":12,\"imageUrl\":\"https://cdn.otus.ru/media/public/69/0b/690b6d40c17c484d9130d57eb344260e.png\",\"slug\":\"architecture\",\"title\":\"Архитектура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":2,\"imageUrl\":\"https://cdn.otus.ru/media/public/4a/72/4a72106d85b8465c9d744cc0efe28a47.jpg\",\"slug\":\"data-science\",\"title\":\"Data Science\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":58,\"id\":3,\"imageUrl\":\"https://cdn.otus.ru/media/public/5d/74/5d74d97874e84236a8094f3e0246e6a8.jpg\",\"slug\":\"operations\",\"title\":\"Инфраструктура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":10,\"id\":8,\"imageUrl\":\"https://cdn.otus.ru/media/public/35/df/35dfb4a92fe140f6a1a3839fb8717f97.jpeg\",\"slug\":\"gamedev\",\"title\":\"GameDev\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":11,\"imageUrl\":\"https://cdn.otus.ru/media/public/c7/7e/c77e523bd935455ab0e0bd0c92c760b6.png\",\"slug\":\"information-security-courses\",\"title\":\"Безопасность\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":46,\"id\":5,\"imageUrl\":\"https://cdn.otus.ru/media/public/84/43/8443c0d256c04ca698665c673afc866c.jpg\",\"slug\":\"marketing-business\",\"title\":\"Управление\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":25,\"id\":9,\"imageUrl\":\"https://cdn.otus.ru/media/public/75/ae/75ae55064f7345e3aab0301a7f42c66e.png\",\"slug\":\"analytics\",\"title\":\"Аналитика и анализ\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":26,\"id\":15,\"imageUrl\":null,\"slug\":\"business-product\",\"title\":\"Бизнес и продукт в IT\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":16,\"imageUrl\":null,\"slug\":\"import-substitution\",\"title\":\"Импортозамещение\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":12,\"id\":6,\"imageUrl\":\"https://cdn.otus.ru/media/public/f2/fa/f2fa758623834ad1b320efd6cd5166b5.png\",\"slug\":\"testing\",\"title\":\"Тестирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":9,\"id\":17,\"imageUrl\":null,\"slug\":\"neural_networks\",\"title\":\"Нейросети\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":19,\"id\":13,\"imageUrl\":null,\"slug\":\"it-bez-programmirovanija\",\"title\":\"IT без программирования\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":4,\"imageUrl\":\"https://cdn.otus.ru/media/public/2f/ac/2fac7d21d6534f50b383405656782275.jpg\",\"slug\":\"corporate\",\"title\":\"Корпоративные курсы\",\"isShowOnMainPage\":true},{\"objectType\":\"specialization\",\"coursesCount\":13,\"slug\":\"spec\",\"title\":\"Специализации\",\"isShowOnMainPage\":\"$undefined\"},{\"objectType\":\"online\",\"coursesCount\":14,\"slug\":\"online\",\"title\":\"Подготовительные курсы\",\"isShowOnMainPage\":true}]},\"headChunkStoreInitialData\":{\"type\":1,\"data\":{\"html\":\"\u003cdiv class=\\\"before-header-ui\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse1\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse2\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__container\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__img before-header-ui__img_sales\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__content\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title hide-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title show-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003c/div\u003e\\r\\n \u003ca href=\\\"https://otus.ru/catalog/courses?categories=neural_networks\u0026utm_source=internal\u0026utm_medium=free\u0026utm_campaign=otus\u0026utm_term=chank\u0026utm_content=sla_sale_20-02-2026-10-04-2026\\\" rel=\\\"nofollow noreferrer noopener\\\" target=\\\"_blank\\\" class=\\\"before-header-ui__button\\\"\u003eВыбрать курс\u003c/a\u003e\\r\\n \u003c/div\u003e\\r\\n\u003c/div\u003e\",\"id\":425,\"namespace\":null,\"key\":\"before-header-ui\",\"title\":\"Скидки на курсы по нейросетям\",\"include_paths\":null,\"exclude_paths\":null}}},\"children\":[[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"structuredData\",\"segmentPath\":[\"structuredData\"],\"error\":\"$1e\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$1f\"}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$1e\",\"errorStyles\":\"$20\",\"errorScripts\":\"$21\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L1c\",null,{}],\"notFoundStyles\":\"$1f\"}],[\"$\",\"$L1d\",null,{}]]}]}],[\"$\",\"div\",null,{\"id\":\"__PORTAL__\"}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://mc.yandex.ru/watch/44973232\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\",\"top\":\"0\"},\"alt\":\"\"}]}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv\",\"style\":{\"position\":\"fixed\",\"left\":\"-999px\"},\"alt\":\"\"}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://top-fwz1.mail.ru/counter?id=3316675;js=na\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\"},\"alt\":\"Top.Mail.Ru\"}]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"22:T5c5,{\n \"@context\": \"http://schema.org\",\n \"@type\": \"Course\",\n \"name\": \"C#-разработчик. Базовый уровень\",\n \"url\": \"https://otus.ru\",\n \"logo\": \"https://otus.ru/__new_static__/img/meta-image.png\",\n \"sameAs\": [\n \"https://vk.com/otusru\",\n \"https://t.me/Otusjava\"\n ],\n \"description\": \"Курс рассчитан на людей без опыта в IT, которые хотят освоить программирование на одном из самых популярных языков С#. Вы пройдете путь от изучения синтаксиса C# до разработки своего первого десктопного приложения.\\nНа курсе вы:- научитесь …\",\n \"provider\": {\n \"@type\": \"Organization\",\n \"name\": \"OTUS\",\n \"sameAs\": \"https://otus.ru\"\n },\n \"image\": \"https://otus.ru/__new_static__/img/meta-image.png\",\n \"aggregateRating\": {\n \"@type\": \"AggregateRating\",\n \"ratingValue\": \"4.7\",\n \"ratingCount\": \"150\"\n },\n \"offers\": {\n \"@type\": \"Offer\",\n \"priceCurrency\": \"RUB\",\n \"price\": 80000,\n \"availability\": \"https://schema.org/InStock\",\n \"url\": \"https://otus.ru/lessons/c-sharp-basic\"\n },\n \"hasCourseInstance\": {\n \"@type\": \"CourseInstance\",\n \"name\": \"C#-разработчик. Базовый уровень (Онлайн)\",\n \"courseMode\": \"Online\",\n \"startDate\": \"2026-04-29\",\n \"endDate\": \"2026-12-10\",\n \"duration\": \"P6M\"\n }\n}5:[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$22\"}}]\n"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"23:I[20056,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b.js\",\"5408\",\"static/chunks/5408-7304a011593a4e7b.js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"4514\",\"static/chunks/4514-28d343fc6e2d14e0.js\",\"9697\",\"static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js\"],\"Page\"]\n24:I[18927,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chu"])</script><script>self.__next_f.push([1,"nks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b.js\",\"5408\",\"static/chunks/5408-7304a011593a4e7b.js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"4514\",\"static/chunks/4514-28d343fc6e2d14e0.js\",\"9697\",\"static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js\"],\"default\"]\n25:T6be,\u003cul\u003e\n\u003cli\u003eИзучите базовые концепции и будете последовательно двигаться к более сложным аспектам разработки, таким как взаимодействие с Telegram API, тонкости работы с коллекциями и базы данных. Особое внимание уделяется практическим навыкам: часть занятий содержит практические элементы, где вы совместно с другими студентами будете писать код, у вас будут домашние задания для закрепления изученного на занятиях материала. В результате вы приобретете комплексные навыки разработки, которые сделают вас готовым к реальным рабочим задачам.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eИнструменты, "])</script><script>self.__next_f.push([1,"которые освоите на курсе\u003c/h2\u003e\n\u003cp\u003eVisualStudio, Git, Telegram API, LINQ, PostgreSQL, Dapper, Linq2DB\u003c/p\u003e\n\u003ch2\u003eПосле обучения вы:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eНаучитесь работать с платформой .NET и средой разработки Visual Studio\u003c/li\u003e\n\u003cli\u003eНаучитесь управлять версиями кода с помощью системы контроля версий Git\u003c/li\u003e\n\u003cli\u003eОсвоите базовые принципы ООП\u003c/li\u003e\n\u003cli\u003eПолучите основы работы со SQL базами данных (на примере PostgreSQL)\u003c/li\u003e\n\u003cli\u003eНаучитесь использовать язык запросов LINQ\u003c/li\u003e\n\u003c/ul\u003e26:T83f,"])</script><script>self.__next_f.push([1,"Вам предстоит создать консольное приложение, которое будет имитировать интерактивное меню бота согласно следующему плану:\n\n1. Приветствие: При запуске программы отображается сообщение приветствия со списком доступных команд: /start, /help, /info, /exit.\n2. Обработка команды /start: Если пользователь вводит команду /start, программа просит его ввести своё имя. Сохраните введенное имя в переменную. Программа должна обращаться к пользователю по имени в каждом следующем ответе.\n3. Обработка команды /help: Отображает краткую справочную информацию о том, как пользоваться программой.\n4. Обработка команды /info: Предоставляет информацию о версии программы и дате её создания.\n5. Доступ к команде /echo: После ввода имени становится доступной команда /echo. При вводе этой команды с аргументом (например, /echo Hello), программа возвращает введенный текст (в данном примере \"Hello\").\n6. Основной цикл программы: Программа продолжает ожидать ввод команды от пользователя, пока не будет введена команда /exit.\n\n\n\n# Примечание\nДля получения информации из консоли пользователя воспользуйтесь функцией `Console.ReadLide()`\n\nНапример\n```\nvar input = Console.ReadLine(); // Тут от консоли требуется ввести текст а потом нажать enter\n```"])</script><script>self.__next_f.push([1,"27:Tdd5,"])</script><script>self.__next_f.push([1,"1. Создайте новую команду /addtask\n- Пользователь сможет добавлять задачи в список.\n- После ввода команды /addtask, бот должен попросить ввести описание задачи.\n- Сохраните задачу в список (или массив) и отобразите сообщение о том, что задача добавлена.\n\u003cbr/\u003e\u003cbr/\u003e\n\n2. Создайте новую команду /showtasks\n- При вводе команды /showtasks бот должен отобразить список всех добавленных задач.\n- Если задачи ещё не добавлены, необходимо вывести сообщение о том, что список пуст.\n\u003cbr/\u003e\u003cbr/\u003e\n\n3. Создайте новую команду /removetask\n- Бот должен позволить пользователю удалять задачи по номеру в списке.\n- После ввода команды /removetask, бот должен отобразить список задач с номерами.\n- Затем бот должен запросить у пользователя номер задачи для удаления и удалить выбранную задачу из списка.\n\u003cbr/\u003e\u003cbr/\u003e\n\n4. Модифицируйте команду /help\n- Обновите команду /help, добавив к ней описание новых команд: /addtask, /showtasks и /removetask.\n\u003cbr/\u003e\u003cbr/\u003e\n\n5. Реализуйте обработку ошибок\n- Если пользователь пытается удалить задачу, когда список пуст, программа должна уведомить его об этом.\n- Также, если введён неверный номер задачи при удалении, бот должен уведомить об этом и попросить ввести корректный номер.\n\u003cbr/\u003e\u003cbr/\u003e\nПо завершению укажите сколько времени вам понадобилось, чтобы выполнить это задание.\n\n\u003cbr/\u003e\n\u003chr\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cb\u003eПример работы программы:\u003c/b\u003e\n\n\nДобро пожаловать! Доступные команды: /start, /help, /info, /echo, /addtask, /showtasks, /removetask, /exit\n\u003cbr/\u003e\u003cbr/\u003e\n/start\u003cbr/\u003e\nПожалуйста, введите ваше имя: Иван\u003cbr/\u003e\nПривет, Иван! Чем могу помочь?\u003cbr/\u003e\n\u003cbr/\u003e\n/addtask\u003cbr/\u003e\nПожалуйста, введите описание задачи: Купить продукты\u003cbr/\u003e\nЗадача \"Купить продукты\" добавлена.\u003cbr/\u003e\n\u003cbr/\u003e\n/addtask\u003cbr/\u003e\nПожалуйста, введите описание задачи: Сделать домашнее задание\u003cbr/\u003e\nЗадача \"Сделать домашнее задание\" добавлена.\u003cbr/\u003e\n\u003cbr/\u003e\n\u003e /showtasks\n1. Купить продукты\n2. Сделать домашнее задание\n\u003cbr/\u003e\u003cbr/\u003e\n\u003e /removetask\u003cbr/\u003e\nВот ваш список задач:\n1. Купить продукты\n2. Сделать домашнее задание\nВведите номер задачи для удаления: 1\nЗадача \"Купить продукты\" удалена.\u003cbr/\u003e\n\u003cbr/\u003e\n\u003e /showtasks\n1. Сделать домашнее задание\n\n\u003cbr/\u003e\n\u003chr\u003e\n\u003cbr/\u003e\n\nВажно! Используйте List\\\u003cstring\u003e для хранения задач."])</script><script>self.__next_f.push([1,"28:T1733,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Добавить глобальный try catch\n - Добавьте try catch в метод Main\n - catch должен отлавливать все виды исключений и выводить в консоль сообщение “Произошла непредвиденная ошибка: “ с информацией об исключении (Type, Message, StackTrace, InnerException)\n2. Добавить ограничение на максимальное количество задач\n - При старте приложения выводите текст «Введите максимально допустимое количество задач»\n - Ожидайте ввод из консоли. Это должно быть число от 1 до 100, иначе нужно выбросить исключение `ArgumentException` с сообщением.\n - В методе Main добавьте отдельный catch для типа ArgumentException и в нем выводите в консоль только сообщение из исключения.\n - Создайте свой тип исключения `TaskCountLimitException`, который в конструкторе должен принимать только int taskCountLimit, а сообщение должно быть вида $“Превышено максимальное количество задач равное {taskCountLimit}“ https://learn.microsoft.com/en-us/dotnet/standard/exceptions/how-to-create-user-defined-exceptions\n - Добавьте проверку на максимально допустимое количество задач в обработчик команды /addtask. Если количество превышено, то нужно выбросить исключение `TaskCountLimitException`.\n - В методе Main добавьте отдельный catch для типа `TaskCountLimitException` и в нем выводите в консоль только сообщение из исключения.\n - Попадание в catch не должно останавливать работу приложения\n3. Добавить ограничение на максимальную длину задачи\n - При старте приложения выводите текст «Введите максимально допустимую длину задачи»\n - Ожидайте ввод из консоли. Это должно быть число от 1 до 100, иначе нужно выбросить исключение `ArgumentException` с сообщением.\n - Создайте свой тип исключения `TaskLengthLimitException`, который в конструкторе должен принимать int taskLength, int taskLengthLimit, а сообщение должно быть вида $“Длина задачи ‘{taskLength}’ превышает максимально допустимое значение {taskLengthLimit}“.\n - Добавьте проверку на максимально допустимую длину задачи в обработчик команды /addtask. Если длина превышена, то нужно выбросить исключение `TaskLengthLimitException`.\n - В методе Main добавьте отдельный catch для типа `TaskLengthLimitException` и в нем выводите в консоль только сообщение из исключения.\n - Попадание в catch не должно останавливать работу приложения\n4. Добавить проверку на дубликаты задач\n - Создайте свой тип исключения `DuplicateTaskException`, который в конструкторе должен принимать string task, а сообщение должно быть вида $“Задача ‘{task}’ уже существует“.\n - Добавьте проверку на дубликаты задач в обработчик команды /addtask. Если пользователь пытается добавить уже существующую задачу., то нужно выбросить исключение `DuplicateTaskException`.\n - В методе Main добавьте отдельный catch для типа `DuplicateTaskException`и в нем выводите в консоль только сообщение из исключения.\n - Попадание в catch не должно останавливать работу приложения\n5. Добавить метод int ParseAndValidateInt(string? str, int min, int max), который приводит полученную строку к int и проверяет, что оно находится в диапазоне min и max. В противном случае выбрасывать ArgumentException с сообщением. Добавить использование этого метода в приложение.\n6. Добавить метод void ValidateString(string? str), который проверяет, что строка не равна null, не равна пустой строке и имеет какие-то символы кроме проблема. В противном случае выбрасывать ArgumentException с сообщением. Добавить использование этого метода в приложение.\n7. Вынести обработчики команд в отдельные методы"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"29:Tba5,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Изменение логики команды `/start`\n - Добавить класс `ToDoUser`\n - Свойства\n - Guid UserId //Заполняется в конструкторе. Guid.NewGuid()\n - string TelegramUserName //Имя пользователя, которое он указал (готовим шаблон для телеграм бота)\n - DateTime RegisteredAt //Заполняется в конструкторе. DateTime.UtcNow\n - У класса должен быть один конструктор с аргументом string telegramUserName\n - Добавить использование класса `ToDoUser` для сохранения информации о пользователе вместо хранения только имени.\n2. Добавление класса `ToDoItem`\n - Добавить enum `ToDoItemState` с двумя значениями\n - Active\n - Completed\n - Добавить класс `ToDoItem`\n - Свойства\n - Guid Id //Заполняется в конструкторе. Guid.NewGuid()\n - ToDoUser User\n - string Name\n - DateTime CreatedAt //Заполняется в конструкторе. DateTime.UtcNow\n - ToDoItemState State //Заполняется в конструкторе. ToDoItemState.Active\n - DateTime? StateChangedAt \n - У класса должен быть один конструктор с аргументами ToDoUser user, string name\n - Добавить использование класса `ToDoItem` вместо хранения только имени задачи\n3. Изменение логики `/showtasks`\n - Выводить только задачи с `ToDoItemState.Active`\n - Добавить вывод CreatedAt и Id. Пример: Имя задачи - 01.01.2025 00:00:00 - 17056344-0e03-4a21-b0dd-f0d30a5abf49\n4. Добавление команды `/completetask`\n - Добавить обработку новой команды `/completetask`\n - Найти задачу по Id\n - Обновить State на ToDoItemState.Completed\n - Обновить StateChangedAt\n - Пример: `/completetask 73c7940a-ca8c-4327-8a15-9119bffd1d5e`\n5. Добавление команды `/showalltasks`\n - Добавить обработку новой команды `/showalltasks`. По ней выводить команды с любым `State` и добавить `State` в вывод\n - Пример: (Active) Имя задачи - 01.01.2025 00:00:00 - ffbfe448-4b39-4778-98aa-1aed98f7eed8\n6. Обновить `/help`"])</script><script>self.__next_f.push([1,"2a:T1489,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Подключение библиотеки `Otus.ToDoList.ConsoleBot`\n - Добавить к себе в решение и в зависимости к своему проекту с ботом проект `Otus.ToDoList.ConsoleBot` [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/tree/main/Homeworks/05.2%20%D0%9E%D0%9E%D0%9F%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B/Otus.ToDoList.ConsoleBot). \n - Ознакомиться с классами в папке Types и с README.md\n - Создать класс `UpdateHandler`, который реализует интерфейс `IUpdateHandler`, и перенести в метод `HandleUpdateAsync` обработку всех команд. Вместо Console.WriteLine использовать `SendMessage` у `ITelegramBotClient`\n - Перенести try/catch в `HandleUpdateAsync`. В Main оставить catch(Exception)\n - Для вывода в конcоль сообщений использовать метод `ITelegramBotClient.SendMessage`\n - Код библиотеки `Otus.ToDoList.ConsoleBot` не нужно изменять\n2. Удалить команду `/echo`\n3. Изменение класса `ToDoUser`\n - Добавить свойство long TelegramUserId\n - В конструктор добавить аргумент long telegramUserId\n4. Добавление класса сервиса `UserService`\n - Добавить интерфейс `IUserService`\n ```csharp\n interface IUserService\n {\n ToDoUser RegisterUser(long telegramUserId, string telegramUserName);\n ToDoUser? GetUser(long telegramUserId);\n }\n ```\n - Создать класс `UserService`, который реализует интерфейс `IUserService`. Заполнять telegramUserId и telegramUserName нужно из значений `Update.Message.From`\n5. Изменение логики команды `/start`\n - Не нужно запрашивать имя\n - Добавить использование `IUserService` в `UpdateHandler`. Получать `IUserService` нужно через конструктор\n - Для обработки команды нужно использовать `IUserService.GetUser`. Если пользователь не найден, то вызывать `IUserService.RegisterUser`\n - Если пользователь не зарегистрирован, то ему доступны только команды `/help` `/info`\n6. Добавление класса сервиса `ToDoService`\n - Добавить интерфейс `IToDoService`\n ```csharp\n public interface IToDoService\n {\n IReadOnlyList\u003cToDoItem\u003e GetAllByUserId(Guid userId);\n //Возвращает ToDoItem для UserId со статусом Active\n IReadOnlyList\u003cToDoItem\u003e GetActiveByUserId(Guid userId);\n ToDoItem Add(ToDoUser user, string name);\n void MarkCompleted(Guid id);\n void Delete(Guid id);\n }\n ```\n - Создать класс `ToDoService`, который реализует интерфейс `IToDoService`. Перенести в него логику обработки команд. Проверки на максимальное количество задач, на максимальную длину задачи и на дубликаты тоже нужно перенести в `ToDoService`.\n - `ToDoService` не должен зависеть от `ITelegramBotClient`. Всё взаиможействие с консолью(телеграм) должно быть в `UpdateHandler`\n - Добавить использование `IToDoService` в `UpdateHandler`. Получать `IToDoService` нужно через конструктор\n - Изменить формат обработки команды `/addtask`. Нужно сразу передавать имя задачи в команде. Пример: `/addtask Новая задача`\n - Изменить формат обработки команды `/removetask`. Нужно сразу передавать номер задачи в команде. Пример: `/removetask 2`\n7. Изменение команды `/completetask`\n - При обработке команды использовать метод `IToDoService.MarkAsCompleted`\n\nПримечание: Можно заменить catch с разными типами исключений, если в них нет кастомной логики, на один catch(Exception ex). Так как в предыдущем задание сatch с разными типами исключений добавлялись в учебных целям и в реальных проектах не нужно делать catch на каждый тип исключения, если в них нет специальной логики.\n"])</script><script>self.__next_f.push([1,"2b:T13ab,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Добавление репозитория `IUserRepository`\n - Добавить интерфейс `IUserRepository`\n ```csharp\n interface IUserRepository\n {\n ToDoUser? GetUser(Guid userId);\n ToDoUser? GetUserByTelegramUserId(long telegramUserId);\n void Add(ToDoUser user);\n }\n ```\n - Создать класс `InMemoryUserRepository`, который реализует интерфейс `IUserRepository`. В качестве хранилища использовать List\n - Добавить использование `IUserRepository` в `UserService`. Получать `IUserRepository` нужно через конструктор\n2. Добавление репозитория `IToDoRepository`\n - Добавить интерфейс `IToDoRepository`\n ```csharp\n interface IToDoRepository\n {\n IReadOnlyList\u003cToDoItem\u003e GetAllByUserId(Guid userId);\n //Возвращает ToDoItem для UserId со статусом Active\n IReadOnlyList\u003cToDoItem\u003e GetActiveByUserId(Guid userId);\n ToDoItem? Get(Guid id);\n void Add(ToDoItem item);\n void Update(ToDoItem item);\n void Delete(Guid id);\n //Проверяет есть ли задача с таким именем у пользователя\n bool ExistsByName(Guid userId, string name);\n //Возвращает количество активных задач у пользователя\n int CountActive(Guid userId); \n }\n ```\n - Создать класс `InMemoryToDoRepository`, который реализует интерфейс `IToDoRepository`. В качестве хранилища использовать List\n - Добавить использование `IToDoRepository` в `ToDoService`. Получать `IToDoRepository` нужно через конструктор\n3. Кортежи. Добавление команды `/report`\n - Добавить метод `IReadOnlyList\u003cToDoItem\u003e GetAllByUserId(Guid userId);` в интерфейс `IToDoRepository`. Метод должен возвращать все задачи пользователя\n - Добавить интерфейс `IToDoReportService`\n ```csharp\n interface IToDoReportService\n {\n (int total, int completed, int active, DateTime generatedAt) GetUserStats(Guid userId);\n }\n ```\n - Создать класс `ToDoReportService`, который реализует интерфейс `IToDoReportService`.\n - Добавить обработку новой команды `/report`. Нужно использовать `IToDoReportService`\n - Пример вывода: Статистика по задачам на 01.01.2025 00:00:00. Всего: 10; Завершенных: 7; Активных: 3;\n4. Лямбды. Добавление команды `/find`\n - Добавить метод `IReadOnlyList\u003cToDoItem\u003e Find(Guid userId, Func\u003cToDoItem, bool\u003e predicate);` в интерфейс `IToDoRepository`. Метод должен возвращать все задачи пользователя, которые удовлетворяют предикату.\n - Добавить метод `IReadOnlyList\u003cToDoItem\u003e Find(ToDoUser user, string namePrefix);` в интерфейс `IToDoService`. Метод должен возвращать все задачи пользователя, которые начинаются на namePrefix. Для этого нужно использовать метод `IToDoRepository.Find`\n - Добавить обработку новой команды `/find`.\n - Пример команды: `/find Имя`\n - Вывод в консоль должен быть как в `/showtask`\n5. Рекомендуемая структура проекта\n ```\n Project/\n ├── Core/\n │ ├── DataAccess/\n │ │ ├── IUserRepository.cs\n │ │ ├── IToDoRepository.cs\n │ │ └── ...\n │ ├── Entities/\n │ │ ├── ToDoUser.cs\n │ │ ├── ToDoItem.cs\n │ │ └── ...\n │ ├── Exceptions/\n │ │ ├── TaskCountLimitException.cs\n │ │ ├── TaskLengthLimitException.cs\n │ │ └── ...\n │ └── Services/\n │ ├── IUserService.cs\n │ ├── UserService.cs\n │ └── ...\n │\n ├── Infrastructure/\n │ └── DataAccess/\n │ ├── InMemoryUserRepository.cs\n │ ├── InMemoryToDoRepository.cs\n │ └── ...\n │\n └── TelegramBot/\n ├── UpdateHandler.cs\n └── ...\n ```\n6. Обновить `/help`"])</script><script>self.__next_f.push([1,"2c:T814,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Подключение асинхронной библиотеки `Otus.ToDoList.ConsoleBot`\n - Добавить к себе в решение и в зависимости к своему проекту с ботом проект `Otus.ToDoList.ConsoleBot` [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/tree/main/Homeworks/07%20%D0%90%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C%2C%20%D0%B4%D0%B5%D0%BB%D0%B5%D0%B3%D0%B0%D1%82%D1%8B%20%D0%B8%20%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F/Otus.ToDoList.ConsoleBot) вместо аналогичного проекта добавленнего в рамках ДЗ \"ООП классы и интерфейсы\"\n - Ознакомиться с README.md\n - Переключиться на использование асинхронных методов из библиотеки `Otus.ToDoList.ConsoleBot`. Обратите внимание на методы из `IUpdateHandler` и `ITelegramBotClient`\n - Реализовать метод `IUpdateHandler.HandleErrorAsync`. В нем нужно выводить информацию об ошибке в консоль\n - В метод `ITelegramBotClient.StartReceiving` нужно передавать `CancellationToken`. Его нужно создать с помощью `CancellationTokenSource`\n - Код библиотеки `Otus.ToDoList.ConsoleBot` не нужно изменять\n2. Перевод интерфейсов на асинхронность\n - Мигрировать синхронные методы всех интерфейсов на асинхронные. Методы должны возвращать `Task` или `Task\u003c\u003e` и получать `CancellationToken`\n - `IUserService` `IUserRepository` `IToDoService` `IToDoRepository` и тд"])</script><script>self.__next_f.push([1,"2d:Te55,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Создайте Telegram-бота через BotFather (https://core.telegram.org/bots/features#botfather)\n2. Замена `Otus.ToDoList.ConsoleBot` на библиотеку `Telegram.Bot` (https://github.com/TelegramBots/Telegram.Bot)\n - Удалить `Otus.ToDoList.ConsoleBot`\n - Добавить nuget пакет `Telegram.Bot` (https://github.com/TelegramBots/Telegram.Bot) \n - Убедиться, что интерфейсы `IUpdateHandler` и `ITelegramBotClient` из `Otus.ToDoList.ConsoleBot` совместимы с аналогичными интерфейсами из `Telegram.Bot`. Поправить using`и в файлах\n - Заменить `ConsoleBotClient` на `TelegramBotClient`\n - \n Пример кода:\n ```csharp\n var botClient = new TelegramBotClient(\"\u003ctoken\u003e\");\n var receiverOptions = new ReceiverOptions\n {\n AllowedUpdates = [UpdateType.Message],\n DropPendingUpdates = true\n };\n var handler = new UpdateHandler();\n botClient.StartReceiving(handler, receiverOptions);\n\n var me = await botClient.GetMe();\n Console.WriteLine($\"{me.FirstName} запущен!\");\n\n await Task.Delay(-1); // Устанавливаем бесконечную задержку\n ```\n3. Отмена асинхронных операции и остановка приложения при нажатии клавиши A.\n - После запуска Telegram-бота выводите текст \"Нажмите клавишу A для выхода\" в консоль и ожидайте нажатия любой клавиши.\n - Если нажата клавиша \"A\" - выходите из программы и отмените все асинхронные операции. В противном случае выводите информацию о Telegram-боте. Информацию нужно взять из метода `botClient.GetMe()`\n - Реализовать отмену асинхронной операции нужно с использованием `CancellationTokenSource`.\n4. Добавить `Reply` кнопки с командами\n - До регистрации должна быть доступна только одна кнопка c командой `/start`\n - После регистрации должны быть доступны кнопки c командами `/showalltasks` `/showtasks` `/report`\n - Кнопки создаются через класс `ReplyKeyboardMarkup`\n - При выводе команд `/showalltasks` и `/showtasks` обернуть Id задачи в символы `, чтобы их было удобно копировать\n5. Добавить описание команд в нативную кнопку `Menu`\n - Это нужно сделать через метод `ITelegramBotClient.SetMyCommands`\n\nСоветы:\n\n1. Избегайте утечку токена вашего Telegram-бота. При отправки ДЗ на проверку убедитесь, что в коде нет токена. Также не делает коммиты в git-репозиторий с токеном.\n\n2. Полезные ресурсы \n - Документация библиотеки: https://github.com/TelegramBots/Telegram.Bot\n - Пример реализации: https://github.com/TelegramBots/Telegram.Bot.Examples"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"2e:T115f,"])</script><script>self.__next_f.push([1,"Ссылка на описание [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/9%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D0%BC%D0%B8/Task.md)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Перенос хранения `ToDoItem` данных в файлы\n - Создать класс `FileToDoRepository`, который реализует интерфейс `IToDoRepository`\n - Реализовать хранение `ToDoItem` в отдельных json файлах.\n - Имя файла: `\"{ToDoItem.Id}.json\"`\n - Имя базовой папки нужно получать через конструктор. Папку нужно создавать если её нет.\n - Для хранения данных в файлах использовать json формат. Для этого нужно использовать библиотеку `System.Text.Json` и методы `JsonSerializer.Serialize` `JsonSerializer.Deserialize`. Можно использовать асинхронные варианты. [Документация](https://learn.microsoft.com/ru-ru/dotnet/standard/serialization/)\n - Заменить использование `InMemoryToDoRepository` на `FileToDoRepository` в проекте\n2. Перенос хранения `ToDoUser` данных в файлы\n - Создать класс `FileUserRepository`, который реализует интерфейс `IUserRepository`\n - Реализовать хранение `ToDoUser` в отдельных json файлах.\n - Имя файла: `\"{ToDoUser.UserId}.json\"`\n - Имя базовой папки нужно получать через конструктор. Папку нужно создавать если её нет.\n - Для хранения данных в файлах использовать JSON формат. Для этого нужно использовать библиотеку `System.Text.Json`.\n - Заменить использование `InMemoryUserRepository` на `FileUserRepository` в проекте\n3. Оптимизация поиска `ToDoItem` по `UserId`\n - Реализовать в `FileToDoRepository` хранение `ToDoItem` в отдельных json файлах, сгуппированных по `UserId` в папках\n - Имя папки: `\"{ToDoItem.User.UserId}\"`\n - Имя файла: `\"{ToDoItem.Id}.json\"`\n4. Индекс для оптимизации удаления `ToDoItem`\n - Добавить в `FileToDoRepository` файл индекс в json формате, в котором хранятся связки `ToDoItemId` и `UserId`\n - Наполнять индекс в методе `FileToDoRepository.Add`\n - Использовать и обновлять индекс в методе `FileToDoRepository.Delete`\n - Если файла индекса нет, то создать файл и наполнить его актуальными данными через сканирование всех папок\n\n**Ознакомительное примечание (выполнять не нужно):**\nДля безопасной работы с файлами в многопоточной среде рекомендуется использовать синхронизацию потоков, чтобы в один момент времени с файлом работал только один поток. Это поможет избежать race conditions, повреждение данных, IO исключений и тд. Для этого хорошо подходит [SemaphoreSlim](https://learn.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim), так как он поддерживает асинхронность, оптимизирован для внутрипроцессной синхронизации и не использует объекты ядра ОС. Например, в нашем случае можно было использовать отдельные `SemaphoreSlim` для каждого `UserId`. Данная тема выходит за рамки курса."])</script><script>self.__next_f.push([1,"2f:T16b5,"])</script><script>self.__next_f.push([1,"Перед выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Добавление `ScenarioContext`\n - Добавить enum `ScenarioType` со значениями\n - None\n - AddTask\n - Добавить класс `ScenarioContext`\n - Свойства\n - ScenarioType CurrentScenario\n - string? CurrentStep\n - Dictionary\u003cstring, object\u003e Data\n - Конструктор `ScenarioContext(ScenarioType scenario)`\n - Добавить интерфейс \n ```csharp\n public interface IScenarioContextRepository\n {\n Task\u003cScenarioContext?\u003e GetContext(long userId, CancellationToken ct);\n Task SetContext(long userId, ScenarioContext context, CancellationToken ct);\n Task ResetContext(long userId, CancellationToken ct);\n }\n ```\n - Создать класс `InMemoryScenarioContextRepository`, который реализует интерфейс `IScenarioContextRepository`. В качестве хранилища использовать `Dictionary\u003clong, ScenarioContext\u003e`\n - Файлы размещать в папке `./TelegramBot/Scenarios`\n2. Добавление поддержки сценариев\n - Добавить enum `ScenarioResult` со значениями\n - Transition - Переход к следующему шагу. Сообщение обработано, но сценарий еще не завершен\n - Completed - Сценарий завершен\n - Добавить интерфейс \n ```csharp\n public interface IScenario\n {\n bool CanHandle(ScenarioType scenario);\n Task\u003cScenarioResult\u003e HandleMessageAsync(ITelegramBotClient bot, ScenarioContext context, Message message, CancellationToken ct);\n }\n ```\n3. Обновление `UpdateHandler`\n - Добавить в конструктор аргументы:\n - IEnumerable\u003cIScenario\u003e scenarios\n - IScenarioContextRepository contextRepository\n - Добавить метод `IScenario GetScenario(ScenarioType scenario)`, который возвращает соответствующий сценарий. Если сценарий не найден, то выбрасывать исключение.\n - Добавить метод `Task ProcessScenario(ScenarioContext context, Message msg, CancellationToken ct)`\n - Получает сценарий через метод `GetScenario`\n - Вызывает метод `IScenario.HandleMessageAsync`\n - ЕСЛИ метод вернул ScenarioResult.Completed, TO вызвать `IScenarioContextRepository.ResetContext`\n - ИНАЧЕ вызвать `IScenarioContextRepository.ResetContext`\n - В метод `HandleUpdateAsync` добавить получение `ScenarioContext` через `IScenarioContextRepository` перед обработкой команд.\n - ЕСЛИ `ScenarioContext` найден, ТО вызвать метод `ProcessScenario` и завершить обработку\n4. Добавление `AddTaskScenario`\n - Добавить класс `AddTaskScenario`, который реализует интерфейс `IScenario` и в конструкторе принимает `IUserService` и `IToDoService`\n - Добавить обработку шагов сценария (`ScenarioContext.CurrentStep`) через switch case\n - case null\n - Получить `ToDoUser` и сохранить его в `ScenarioContext.Context`.\n - Отправить пользователю сообщение \"Введите название задачи:\"\n - Обновить `ScenarioContext.CurrentStep` на \"Name\"\n - Вернуть `ScenarioResult.Transition`\n - case \"Name\"\n - Вызвать `IToDoService.Add`. Передать `ToDoUser` из `ScenarioContext.Context` и name из сообщения\n - Вернуть `ScenarioResult.Completed`\n - Обновить обработку команды `/addtask` в `UpdateHandler`\n - При получении команды `/addtask` создать `ScenarioContext` c `ScenarioType.AddTask` и вызвать метод `ProcessScenario`\n - Добавить кнопку `/addtask` через класс `ReplyKeyboardMarkup`\n5. Добавление команды `/cancel` для остановки сценариев\n - При получении команды `/cancel` нужно вызвать метод `IScenarioContextRepository.ResetContext`\n - Обрабатывать команду нужно до запуска `ProcessScenario`\n - При запуске сценария у пользователя должна быть доступна одна кнопка `/cancel` через `ReplyKeyboardMarkup`\n - После завершения или отмены сценария должны вернуться кнопки с командами (/addtask, /showtask и тд)\n - Обновить `/help`\n6. Добавление Deadline в `ToDoItem`\n - Добавить свойство DateTime Deadline в `ToDoItem`\n - Добавить аргумент DateTime deadline в `IToDoService.Add`\n - Добавить заполнение Deadline в `AddTaskScenario` через отдельный шаг. Формат текста dd.MM.yyyy. \n - Если пользователь введет дату в неверном формате, сценарий не должен прерваться и нужно еще раз запросить дату."])</script><script>self.__next_f.push([1,"30:T2ae1,"])</script><script>self.__next_f.push([1,"Ссылка на [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/11%20%D0%A1%D0%BF%D0%B8%D1%81%D0%BA%D0%B8%20%D0%B4%D0%BB%D1%8F%20%D0%B7%D0%B0%D0%B4%D0%B0%D1%87/Task.md)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\nВ данном ДЗ добавляется поддержка списков для задач. Удобный функционал, чтобы сгуппировать задачи по смыслу.\n\n\n\n1. В `InMemoryScenarioContextRepository` заменить использование `Dictionary` на `ConcurrentDictionary`\n2. Добавление сущности `ToDoList`\n - Добавить класс `ToDoList` по пути Core/Entities\n - Свойства\n - Guid Id\n - string Name\n - ToDoUser User\n - DateTime CreatedAt\n - Добавить свойство ToDoList? List в `ToDoItem`\n - Добавить аргумент ToDoList? list в `IToDoService.Add`\n3. Добавление класса сервиса и репозитория для `ToDoList`\n - Добавить интерфейс `IToDoListRepository`\n ```csharp\n public interface IToDoListRepository\n {\n //Если спика нет, то возвращает null\n Task\u003cToDoList?\u003e Get(Guid id, CancellationToken ct);\n Task\u003cIReadOnlyList\u003cToDoList\u003e\u003e GetByUserId(Guid userId, CancellationToken ct);\n Task Add(ToDoList list, CancellationToken ct);\n Task Delete(Guid id, CancellationToken ct);\n //Проверяет, если ли у пользователя список с таким именем\n Task\u003cbool\u003e ExistsByName(Guid userId, string name, CancellationToken ct);\n }\n ```\n - Создать класс `FileToDoListRepository`, который реализует интерфейс `IToDoListRepository`. Реализовать класс аналогично `FileUserRepository`\n - Добавить интерфейс `IToDoListService`\n ```csharp\n public interface IToDoListService\n {\n Task\u003cToDoList\u003e Add(ToDoUser user, string name, CancellationToken ct);\n Task\u003cToDoList?\u003e Get(Guid id, CancellationToken ct);\n Task Delete(Guid id, CancellationToken ct);\n Task\u003cIReadOnlyList\u003cToDoList\u003e\u003e GetUserLists(Guid userId, CancellationToken ct);\n }\n ```\n - Создать класс `ToDoListService`, который реализует интерфейс `IToDoListService`\n - Размер имени списка не может быть больше 10 символом\n - Название списка должно быть уникально в рамках одного ToDoUser\n - Добавить метод `Task\u003cIReadOnlyList\u003cToDoItem\u003e\u003e GetByUserIdAndList(Guid userId, Guid? listId, CancellationToken ct);` в интерфейс `IToDoService` и реализовать его\n4. Изменение команды /showtasks\n - Добавить `IToDoListService` в `UpdateHandler` через конструктор.\n - Переименовать команду /showtasks в /show\n - Команду /showalltasks удалить\n - Создать Dto классы с помощью которых мы будет работать с `CallbackQuery`. Разместить их в `TelegramBot/Dto`\n - Класс `CallbackDto`. Общий класс в котором есть `Action`\n Свойства:\n - string Action //с помощью него будет определять за какое действие отвечает кнопка\n Методы:\n - public static CallbackDto FromString(string input) //На вход принимает строку ввида \"{action}|{prop1}|{prop2}...\". Нужно создать CallbackDto с Action = action. Нужно учесть что в строке может не быть |, тогда всю строку сохраняем в Action.\n - public override string ToString() - переопределить метод. Он должен возвращать Action\n - Класс `ToDoListCallbackDto`. Наследовать от CallbackDto. Помимо `Action`, есть `ToDoListId`\n Свойства:\n - Guid? ToDoListId\n Методы:\n - public static new ToDoListCallbackDto FromString(string input) //На вход принимает строку ввида \"{action}|{toDoListId}|{prop2}...\". Нужно создать ToDoListCallbackDto с Action = action и ToDoListId = toDoListId.\n - public override string ToString() - переопределить метод. Он должен возвращать $\"{base.ToString()}|{ToDoListId}\"\n - При получении команды /show нужно отправлять сообщение с текстом \"Выберите список\" и кнопками InlineKeyboardButton (см. Демонстрация работы бота)\n - Для этого нужно использовать класс `InlineKeyboardMarkup` и добавлять в него кнопки с помощью `InlineKeyboardButton.WithCallbackData(string text, string callbackData)`\n - Максимальный размер callbackData составляет 64 символа, поэтому в классах `CallbackDto` мы будем использовать компактный формат приведение к строкам\n - Для \"📌Без списка\" в callbackData пишем ToDoListCallbackDto.ToString(). Action = \"show\", ToDoListId = null\n - Для остальных списков в callbackData пишем ToDoListCallbackDto.ToString(). Action = \"show\", ToDoListId = Id\n - Для \"🆕Добавить\" в callbackData пишем \"addlist\". Для \"❌Удалить\" в callbackData пишем \"deletelist\"\n5. Обработка нажатия на кнопки\n - В UpdateHandler добавить обработки нажатия на Inline кнопки. За это отвечает update.CallbackQuery. Пример:\n ```csharp\n await (update switch\n {\n { Message: { } message } =\u003e OnMessage(update, message, ct),\n { CallbackQuery: { } callbackQuery } =\u003e OnCallbackQuery(update, callbackQuery, ct),\n _ =\u003e OnUnknown(update)\n });\n ```\n - В `OnCallbackQuery` добавить проверку на то, что пользователь зарегистрирован. Незарегистрированным пользователям `CallbackQuery` не обрабатываем\n - При получении `CallbackQuery` создаем `CallbackDto` с помощью CallbackDto.FromString(query.Data)\n - ЕСЛИ Action равен\n - \"show\" TO получить `ToDoListCallbackDto` и вернуть задачи, которые привязаны к списку ToDoListCallbackDto.ToDoListId\n6. Добавление и удаление списка\n - Добавить `AddList` в `ScenarioType`\n - Добавить класс `AddListScenario`, который реализует интерфейс `IScenario` и в конструкторе принимает `IUserService` и `IToDoListService`\n - Добавить обработку шагов сценария (`ScenarioContext.CurrentStep`) через switch case\n - case null\n - Получить `ToDoUser` и сохранить его в `ScenarioContext.Data`.\n - Отправить пользователю сообщение \"Введите название списка:\"\n - Обновить `ScenarioContext.CurrentStep` на \"Name\"\n - Вернуть `ScenarioResult.Transition`\n - case \"Name\"\n - Вызвать `IToDoListService.Add`. Передать `ToDoUser` из `ScenarioContext.Data` и name из сообщения\n - Вернуть `ScenarioResult.Completed`\n - При нажатии на кнопку \"🆕Добавить\" должен запускаться сценарий `AddListScenario`\n - Добавить `DeleteList` в `ScenarioType`\n - Добавить класс `DeleteListScenario`, который реализует интерфейс `IScenario` и в конструкторе принимает `IUserService`, `IToDoListService` и `IToDoService`\n - Добавить обработку шагов сценария (`ScenarioContext.CurrentStep`) через switch case\n - case null\n - Получить `ToDoUser` и сохранить его в `ScenarioContext.Data`.\n - Отправить пользователю сообщение \"Выберете список для удаления:\" с Inline кнопками. callbackData = ToDoListCallbackDto.ToString(). Action = \"deletelist\"\n - Обновить `ScenarioContext.CurrentStep` на \"Approve\"\n - case \"Approve\"\n - Получить `ToDoList` и сохранить его в `ScenarioContext.Data`.\n - Отправить пользователю сообщение \"Подтверждаете удаление списка {toDoList.Name} и всех его задач\" с Inline кнопками: WithCallbackData(\"✅Да\", \"yes\"), WithCallbackData(\"❌Нет\", \"no\")\n - Обновить `ScenarioContext.CurrentStep` на \"Delete\"\n - case \"Delete\"\n - ЕСЛИ update.CallbackQuery.Data равна\n - \"yes\" ТО удалить все задачи по `ToDoUser` и `ToDoList`. Удалить `ToDoList`. \n - \"no\" ТО отправить сообщение \"Удаление отменено\".\n - Вернуть `ScenarioResult.Completed`.\n - При нажатии на кнопку \"❌Удалить\" должен запускаться сценарий `DeleteListScenario`\n7. Добавить выбор списка в сценарий `AddTaskScenario`\n - Добавить заполнение `ToDoList` в `AddTaskScenario` через отдельный шаг\n - Выбирать список нужно через Inline кнопки (см. Демонстрация работы бота)\n - Обработка update.CallbackQuery должна быть внутри `AddTaskScenario`\n8. Вне сценариев пользователю должны быть доступны кнопки [\"/addtask\", \"/show\", \"/report\"] через `ReplyKeyboardMarkup`.\n9. Обновить /help\n\nПримеры работы с Telegram API: https://github.com/TelegramBots/Telegram.Bot.Examples"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"31:T1b6d,"])</script><script>self.__next_f.push([1,"Ссылка на [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/12%20%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%BD%D0%B0%D1%8F%20%D0%BD%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F/Task.md)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\nДемонстрация работы постраничной навигации\n\n\n\nДемонстрация работы просмотра выполненных задач\n\n\n\n1. Изменение вывода информации о задачах. Добавление кнопок для выполнения и удаления задач\n - Добавить метод в интерфейс `IToDoService`\n - Task\u003cToDoItem?\u003e Get(Guid toDoItemId, CancellationToken ct);\n - Добавить класс `ToDoItemCallbackDto`. Наследовать от CallbackDto. Реализовать аналогично `ToDoListCallbackDto`\n Свойства:\n - Guid ToDoItemId\n Методы:\n - public static new ToDoItemCallbackDto FromString(string input)\n - public override string ToString()\n - При обрботке команды Action = \"show\" (через Inline кнопки) добавить в кнопки с задачами в callbackData ToDoItemCallbackDto.ToString(). Action = \"showtask\", ToDoItemId = Id\n - В метод `OnCallbackQuery` добавить обработку\n - ЕСЛИ Action равен\n - \"showtask\" TO получить `ToDoItemCallbackDto` и вернуть информацию о задаче с Inline кнопками:\n - \"✅Выполнить\" в callbackData пишем ToDoItemCallbackDto.ToString(). Action = \"completetask\", ToDoItemId = Id\n - \"❌Удалить\" в callbackData пишем ToDoItemCallbackDto.ToString(). Action = \"deletetask\", ToDoItemId = Id\n - Добавить обработку Action = \"completetask\" и Action = \"deletetask\" в метод `OnCallbackQuery`\n - Удалить обработку текстовых команд /completetask и /removetask\n2. Создание метода расширения LINQ для пагинации\n - Создать статический класс `EnumerableExtension` в папке Helpers\n - Реализовать метод расширения `GetBatchByNumber` для IEnumerable\u003cTSource\u003e\n - Метод должен принимать \n - int batchSize //размер пачки\n - int batchNumber //номер возвращаемой пачки, нумерация с 0 \n - Метод должен возвращать подмножество элементов из последовательности IEnumerable\u003cTSource\u003e, основываясь на размере партии и её номере.\n - Пример: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] для batchSize = 3 и batchNumber = 1 результат будет [4, 5, 6]\n3. Реализация пагинации\n - Добавить класс `PagedListCallbackDto`. Наследовать от `ToDoListCallbackDto`.\n Свойства:\n - int Page \n Методы:\n - public static new PagedListCallbackDto FromString(string input)\n - public override string ToString() - Возвращает $\"{base.ToString()}|{Page}\"\n - Перейти на использовать `PagedListCallbackDto` вместо `ToDoListCallbackDto` при обработке команд Action = \"show\". Пока Page = 0.\n - Добавить приватное статическое поле int _pageSize = 5; в `UpdateHandler`. Оно отвечает за количество кнопок на одной странице\n - Создать приватный метод `BuildPagedButtons` в `UpdateHandler`. \n - Возвращает `InlineKeyboardMarkup`\n - Аргументы:\n - IReadOnlyList\u003cKeyValuePair\u003cstring, string\u003e\u003e callbackData - общий набор кнопок. Ключ - имя кнопки, Значение - callbackData\n - PagedListCallbackDto listDto\n - Логика:\n - Расчитать общее количество страниц.\n - Создать InlineKeyboardMarkup и добавить кнопки относящие только к конкретной странице с помощью GetBatchByNumber(_pageSize, listDto.Page)\n - Если listDto.Page \u003e 0 то добавить кнопку ⬅️ с PagedListCallbackDto(listDto.Action, listDto.ToDoListId, page - 1)\n - Если listDto.Page \u003c totalPages - 1 то добавить кнопку ➡️ с PagedListCallbackDto(listDto.Action, listDto.ToDoListId, page + 1)\n - Использовать метод `BuildPagedButtons` при обработке Action = \"show\"\n - При при переключении между страницами и переходе от списка к задачам долдно присылаться не новое сообщение, а изменяться текущее. Это можно реализовать с помощью метода `bot.EditMessageText`. См. демонстрацию\n4. Добавление просмотра выполненных задач\n - При обработке команды Action = \"show\" добавить вывод кнопки \"☑️Посмотреть выполненные\" с PagedListCallbackDto(\"show_completed\", ToDoListId, 0)\n - Добавить обработку команды Action = \"show_completed\" в метод `OnCallbackQuery`. Должна поддерживаться пагинация\n - Если задач нет, то выводить сообщение \"Задач нет\"\n5. Добавление сценария `DeleteTaskScenario`\n - Добавить `DeleteTask` в `ScenarioType`\n - Добавить класс `DeleteTaskScenario`, который реализует интерфейс `IScenario` и в конструкторе принимает `IToDoService`\n - Реализовать аналогично `DeleteListScenario`. Должно быть подтверждение у пользователя при удалении (см. Демонстрацию)\n - При нажатии на кнопку \"❌Удалить\" c Action = \"deletetask\" должен запускаться сценарий `DeleteTaskScenario`\n6. (Опционально) Пройтись по проекту и добавить использование LINQ там, где это возможно\n7. Обновить /help и bot.SetMyCommands\n"])</script><script>self.__next_f.push([1,"32:Ta78,"])</script><script>self.__next_f.push([1,"Ссылка на [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/13%20%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%20%D0%B1%D0%B0%D0%B7%D1%8B%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/Task.md)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Установка PostgreSQL\n - Установите PostgreSQL на локальный компьютер (см. материалы занятия)\n - Создать новую БД с именем ToDoList\n2. Проектирование модели базы данных\n - Таблицы на основе классов из Core/Entities. У таблиц должны быть PRIMARY KEY. Для ToDoItemState можно использовать тип INT\n - ToDoUser\n - ToDoList\n - ToDoItem\n - Cвязи между таблицами (внешние ключи)\n - ToDoList.UserId -\u003e ToDoUser\n - ToDoItem.UserId -\u003e ToDoUser\n - ToDoItem.ListId -\u003e ToDoList\n - Напишите SQL-скрипты для создания таблиц и внешних ключей\n3. Проектирование индексов\n - Создайте индексы для всех внешних ключей\n - Создайте уникальный индекс для ToDoUser.TelegramUserId\n - Сохраните все скрипты (создание таблиц, внешних ключей и индексов) в один файл ToDoListDb.sql\n - Разместите файл в репозитории рядом с проектом\n4. Заполнение базы данных\n - Напишите SQL-скрипты для заполнения всех таблиц тестовыми данными (минимум 2 записи на таблицу)\n - Сохраните скрипт в файл ToDoListDb_Insert.sql\n - Разместите файл в репозитории рядом с проектом\n5. Выборка данных\n - Напишите SQL-скрипты для методов интерфейса IToDoRepository, которые выбирают данные\n - Сохраните скрипты в файл ToDoListDb_Select.sql\n - Разместите файл в репозитории рядом с проектом\n\nПримечание: Используйте двойные кавычки для имен таблиц, столбцов, индексов и тд, чтобы сохранить регистр."])</script><script>self.__next_f.push([1,"33:T125a,"])</script><script>self.__next_f.push([1,"Ссылка на [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/14%20%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20ORM/Task.md)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Подготовка моделей для описания структуры БД\n - Подключите в проект последную версию nuget пакета `linq2db.PostgreSQL`\n - Удалить все конструкторы и сделайте все свойства открытыми (get; set;) в классах в Core/Entities. Будем использовать анемичную модель, для этого нужны чистые классы\n - Создать классы модели для таблиц в Core/DataAccess/Models\n - `ToDoItemModel`\n - `ToDoListModel`\n - `ToDoUserModel`\n - Через атрибуты отпределите имена таблиц([Table(\"...\")]), первичные ключи ([PrimaryKey]), колонки ([Column]), внешние ключи ([Association(ThisKey = nameof(), OtherKey = nameof())]). Подробную информацию можно найти в [документации](https://linq2db.github.io/#define-poco-class)\n2. Создание DataContext\n - Создайте класс `ToDoDataContext` в Infrastructure/DataAccess. \n - Наследуется от DataConnection\n - Конструктор public ToDoDataContext(string connectionString) : base(ProviderName.PostgreSQL, connectionString)\n - Иметь свойства, которые отражают таблицы в БД (ToDoUsers, ToDoLists, ToDoItems)\n - Пример из [документации](https://linq2db.github.io/#dataconnection-class)\n - Создать интерфейс IDataContextFactory\u003cTDataContext\u003e. Нужно чтобы создавать `DataConnection` на каждую сессию https://linq2db.github.io/articles/general/Managing-data-connection.html\n ```csharp\n public interface IDataContextFactory\u003cTDataContext\u003e where TDataContext : DataConnection\n {\n TDataContext CreateDataContext();\n }\n ```\n - Создать класс `DataContextFactory`, который реализует интерфейс `IDataContextFactory\u003cToDoDataContext\u003e`\n3. Создание маппера\n - Создать статический класс `ModelMapper` в Infrastructure/DataAccess. Через него будем делать маппинг между Infrastructure/DataAccess/Models и Core/DataAccess/Models\n ```csharp\n internal static class ModelMapper\n {\n public static ToDoUser MapFromModel(ToDoUserModel model);\n public static ToDoUserModel MapToModel(ToDoUser entity);\n public static ToDoItem MapFromModel(ToDoItemModel model);\n public static ToDoItemModel MapToModel(ToDoItem entity);\n public static ToDoList MapFromModel(ToDoListModel model);\n public static ToDoListModel MapToModel(ToDoList entity);\n }\n ```\n - Реализовать все методы\n4. Реализация SqlToDoRepository\n - Создать класс `SqlToDoRepository`, который реализует интерфейс `IToDoRepository`\n - В конструкторе получать IDataContextFactory\u003cToDoDataContext\u003e factory\n - Реализовать все методы интерфейса. Создавать dbContext в каждом методе. using var dbContext = factory.CreateDataContext();\n - Использовать `ModelMapper`\n - Не забудь добавлять LoadWith, чтобы загружать связанные сущности(eager loading)\n ```csharp\n .LoadWith(i =\u003e i.User)\n .LoadWith(i =\u003e i.List)\n .LoadWith(i =\u003e i.List!.User)\n ```\n5. Аналогично создать класс `SqlToDoListRepository`, который реализует интерфейс `IToDoListRepository`\n6. Аналогично создать класс `SqlUserRepository`, который реализует интерфейс `IUserRepository`\n7. Добавление использовать SQL репозиториев\n - Добавить использование этих репозиториев вместо File реализаций\n - Указать connectionString до БД, которая разрабатывалась в ДЗ \"Модель базы данных\""])</script><script>self.__next_f.push([1,"34:T1bb3,"])</script><script>self.__next_f.push([1,"Ссылка на [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/tree/main/Homeworks/15%20%D0%A4%D0%BE%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Построение механизма фоновых задач\n - Создать в проекте папку `BackgroundTasks`\n - Создать интерфейс `IBackgroundTask`\n ```csharp\n public interface IBackgroundTask\n {\n Task Start(CancellationToken ct);\n }\n ```\n - Создать класс `BackgroundTaskRunner`\n ```csharp\n public class BackgroundTaskRunner : IDisposable\n {\n private readonly ConcurrentBag\u003cIBackgroundTask\u003e _tasks = new();\n private Task? _runningTasks;\n private CancellationTokenSource? _stoppingCts;\n\n /// \u003csummary\u003e\n /// Регистрирует задачу для последующего запуска.\n /// \u003c/summary\u003e\n /// \u003cexception cref=\"InvalidOperationException\"\u003eTasks are already running\u003c/exception\u003e\n public void AddTask(IBackgroundTask task)\n {\n if (_runningTasks is not null)\n throw new InvalidOperationException(\"Tasks are already running\");\n\n _tasks.Add(task);\n }\n\n /// \u003csummary\u003e\n /// Запускает зарегистрированные задачи\n /// \u003c/summary\u003e\n /// \u003cexception cref=\"InvalidOperationException\"\u003eTasks are already running\u003c/exception\u003e\n public void StartTasks(CancellationToken ct)\n {\n if (_runningTasks is not null)\n throw new InvalidOperationException(\"Tasks are already running\");\n\n _stoppingCts = CancellationTokenSource.CreateLinkedTokenSource(ct);\n\n // Отдельная обёртка для логирования и корректной обработки отмены\n static async Task RunSafe(IBackgroundTask task, CancellationToken ct)\n {\n try\n {\n await task.Start(ct);\n }\n catch (OperationCanceledException) when (ct.IsCancellationRequested)\n {\n // нормально завершаемся при отмене\n }\n catch (Exception ex)\n {\n Console.Error.WriteLine($\"Error in {task.GetType().Name}: {ex}\");\n }\n }\n\n // Собираем все таски в один\n _runningTasks = Task.WhenAll(_tasks.Select(t =\u003e RunSafe(t, _stoppingCts.Token)));\n }\n\n /// \u003csummary\u003e\n /// Останавливает запущенные задачи и и ожидает из завершения\n /// \u003c/summary\u003e\n public async Task StopTasks(CancellationToken ct)\n {\n if (_runningTasks is null)\n return;\n\n try\n {\n _stoppingCts?.Cancel();\n }\n finally\n {\n await _runningTasks.WaitAsync(ct).ConfigureAwait(ConfigureAwaitOptions.SuppressThrowing);\n }\n }\n\n public void Dispose()\n {\n _stoppingCts?.Cancel();\n _stoppingCts?.Dispose();\n }\n }\n ```\n2. Добавление вспомогательного класса `BackgroundTask`\n - Добавить абстрактный класс `BackgroundTask`. Он нужен для переиспользоваия общего кода по запуску фоновых задач. От него будут наследоваться фоновые задачи.\n ```csharp\n public abstract class BackgroundTask(TimeSpan delay, string name) : IBackgroundTask\n {\n protected abstract Task Execute(CancellationToken ct);\n\n public async Task Start(CancellationToken ct)\n {\n while (!ct.IsCancellationRequested)\n {\n try\n {\n Console.WriteLine($\"{name}. Execute\");\n await Execute(ct);\n\n Console.WriteLine($\"{name}. Start delay {delay}\");\n await Task.Delay(delay, ct);\n }\n catch (OperationCanceledException) when (ct.IsCancellationRequested)\n {\n // нормально завершаемся при отмене\n }\n catch (Exception ex)\n {\n Console.WriteLine($\"{name}. Error: {ex}\");\n await Task.Delay(TimeSpan.FromSeconds(1), ct);\n }\n }\n }\n }\n ```\n3. Изменение `ScenarioContext`\n - Добавить свойство public DateTime CreatedAt { get; } в `ScenarioContext`\n - Заполнять его нужно при создании `ScenarioContext` как DateTime.UtcNow\n - Добавить метод Task\u003cIReadOnlyList\u003cScenarioContext\u003e\u003e GetContexts(CancellationToken ct); в `IScenarioContextRepository`\n - Реализовать метод GetContexts. Он должен возвращать все контексты\n4. Добавление `ResetScenarioBackgroundTask`\n - Создать класс `ResetScenarioBackgroundTask` в папке BackgroundTasks\n - Наследоваться от BackgroundTask(TimeSpan.FromHours(1), nameof(ResetScenarioBackgroundTask)). Задача будет запускаться раз в час\n - Аргументы конструктора:\n - TimeSpan resetScenarioTimeout //Через какое время после создания отменять сценарий. Будем использовать 1 час\n - IScenarioContextRepository scenarioRepository\n - ITelegramBotClient bot\n - Реализовать метод Execute\n - Использовать scenarioRepository.GetContexts\n - Проверять время контекста\n - Вызывать scenarioRepository.ResetContext\n - Отправлять сообщение пользователю с текстом $\"Сценарий отменен, так как не поступил ответ в течение {resetScenarioTimeout}\" и клавиатурой [\"/addtask\", \"/show\", \"/report\"]\n5. Запуск фоновых задач\n - Добавить в `Program.cs` создание `BackgroundTaskRunner`\n - Добавить нужные фоновые задачи (`ResetScenarioBackgroundTask`) через `AddTask`\n - Запустить фоновые задачи через `StartTasks` до запуска телеграм бота `botClient.StartReceiving`\n - Добавить остановку фоновых задач через `StopTasks` до отмены `CancellationTokenSource`"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"35:T1a2a,"])</script><script>self.__next_f.push([1,"Ссылка на [GitHub](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/16%20%D0%9D%D0%BE%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8/Task.md)\n\nПеред выполнением нужно ознакомится с [Правила отправки домашнего задания на проверку](https://github.com/OTUS-NET/C-Sharp-Basic/blob/main/Homeworks/README.md)\n\n1. Добавление сущности `Notification`\n - Создать класс `Notification` в Core/Entities. Свойства:\n - Guid Id\n - ToDoUser User\n - string Type //Тип нотификации. Например: DeadLine_{ToDoItem.Id}, Today_{DateOnly.FromDateTime(DateTime.UtcNow)}\n - string Text //Текст, который будет отправлен\n - DateTime ScheduledAt //Запланированная дата отправки\n - bool IsNotified //Флаг отправки\n - DateTime? NotifiedAt //Фактическая дата отправки\n - Создать класс `NotificationModel` в Infrastructure/DataAccess/Models. Разметить атрибутами Linq2Db аналогично другим моделям\n - Добавить свойство ITable\u003cNotificationModel\u003e Notifications в ToDoDataContext\n - Создать таблицу Notification в БД. Добавить индекс для UserId\n2. Добавление `NotificationService`\n - Создать интерфейс `INotificationService` в папке Core/Services\n ```csharp\n public interface INotificationService\n {\n //Создает нотификацию. Если запись с userId и type уже есть, то вернуть false и не добавлять запись, иначе вернуть true\n Task\u003cbool\u003e ScheduleNotification(\n Guid userId,\n string type,\n string text,\n DateTime scheduledAt,\n CancellationToken ct);\n\n //Возвращает нотификации, у которых IsNotified = false \u0026\u0026 ScheduledAt \u003c= scheduledBefore\n Task\u003cIReadOnlyList\u003cNotification\u003e\u003e GetScheduledNotification(DateTime scheduledBefore, CancellationToken ct);\n\n Task MarkNotified(Guid notificationId, CancellationToken ct);\n }\n ```\n - Создать класс `NotificationService`, который реализует интерфейс `INotificationService`. В конструкторе принимает IDataContextFactory\u003cToDoDataContext\u003e factory и напрямую работает с БД юез репозиториев. Разместить в папке Infrastructure\n3. Добавление `NotificationBackgroundTask`. Задача будет отправлять запланированные нотификации\n - Создать класс `NotificationBackgroundTask` в папке BackgroundTasks\n - Наследоваться от BackgroundTask(TimeSpan.FromMinutes(1), nameof(NotificationBackgroundTask)). Задача будет запускаться раз в минуту\n - Аргументы конструктора:\n - INotificationService notificationService\n - ITelegramBotClient bot\n - Реализовать метод Execute\n - Получить нотификации, которые нужно отправить. await notificationService.GetScheduledNotification(DateTime.UtcNow, ct);\n - Отправить нотификации через ITelegramBotClient\n - Пометить нотификации отправленными MarkNotified\n - Добавить фоновую задачу через `AddTask` в `BackgroundTaskRunner`\n4. Добавление `DeadlineBackgroundTask`. Задача будет добавлять нотификации по задачам, у которых прошел Deadline \n - Добавить метод в `IToDoRepository`. Возвращает активные задачи, у которых Deadline \u003e= from \u0026\u0026 Deadline \u003c to\n - Task\u003cIReadOnlyList\u003cToDoItem\u003e\u003e GetActiveWithDeadline(Guid userId, DateTime from, DateTime to, CancellationToken ct);\n - Добавить метод в `IUserRepository`. Возвращает всех пользователей\n - Task\u003cIReadOnlyList\u003cToDoUser\u003e\u003e GetUsers(CancellationToken ct);\n - Создать класс `DeadlineBackgroundTask` в папке BackgroundTasks\n - Наследоваться от BackgroundTask(TimeSpan.FromHours(1), nameof(DeadlineBackgroundTask)). Задача будет запускаться раз в час\n - Аргументы конструктора:\n - INotificationService notificationService\n - IUserRepository userRepository\n - IToDoRepository toDoRepository\n - Реализовать метод Execute\n - Получить список всех пользователей\n - Для каждого пользователя получить набор просроченных задач. await toDoRepository.GetActiveWithDeadline(user.UserId, DateTime.UtcNow.AddDays(-1).Date, DateTime.UtcNow.Date, ct);\n - Для каждой задачи создать нотификацию с типом $\"Dealine_{task.Id}\" и текстом $\"Ой\\\\! Вы пропустили дедлайн по задаче {task.Name}\"\n - Добавить фоновую задачу через `AddTask` в `BackgroundTaskRunner`\n5. Добавление `TodayBackgroundTask`. Задача будет добавлять нотификации по задачам, которые запланированы на сегодня\n - Создать класс `TodayBackgroundTask` в папке BackgroundTasks\n - Наследоваться от BackgroundTask(TimeSpan.FromDays(1), nameof(TodayBackgroundTask)). Задача будет запускаться раз в день\n - Аргументы конструктора:\n - INotificationService notificationService\n - IUserRepository userRepository\n - IToDoRepository toDoRepository\n - Реализовать метод Execute\n - Получить список всех пользователей\n - Для каждого пользователя получить набор задач на сегодня\n - Для каждой задачи создать нотификацию с типом $\"Today_{DateOnly.FromDateTime(DateTime.UtcNow)}\". В тексте перечислить списком задач\n - Добавить фоновую задачу через `AddTask` в `BackgroundTaskRunner`"])</script><script>self.__next_f.push([1,"36:T7f9,Team Lead в компании YouDo в Москве.\r\n\r\nПолучил первое высшее образование по специальности «Информационные Системы и Технологии», параллельно работая программистом в Информационно-Вычислительном Центре, председателем факультета в профсоюзе и заместителем председателя в студенческом совете.\r\nПока получал второе высшее образование по специальности «Менеджмент Организации», создал сайт студентов потока, делал сайты на заказ, работал программистом в компании, разрабатывающей сканирующие установки для предприятий лесоперерабатывающей отрасли и старшим лаборантом в Институте Физиологии Коми Научного Центра. В 2013 году отправился покорять Москву, где до YouDo успел поработать в Актион-МЦФЭР, Social Discovery Ventures и Лаборатории Касперского.\r\n\r\nОпыт программирования начинается с 2000 года, который включает в себя 10 лет оплачиваемого опыта работы с C#. Благодаря девизу «Постоянно учиться и расти», помимо двух высших образований, за его плечами большое количество всевозможных курсов и профессиональных переподготовок.\r\n\r\nВ Отус Алексей руководит курсами по направлению С#: \"C# Developer Basic\", \"C# Developer Professional\" и \"C# ASP.NET Core разработчик"])</script><script>self.__next_f.push([1,"\"37:T18a5,"])</script><script>self.__next_f.push([1,"Я прошел курс \"C# Basic\". Крайне рад тому, что рискнул потратить деньги на покупку курса, хоть изначально был стереотип, что все подобные курсы - некие инфоцыгане которые просто берут деньги, но толком не учат. На самом деле учат, еще как учат. \r\nИзначально, я знал c# на крайне примитивном уровне, что-то с ВУЗа, что-то по работе делал на этом языке, но если честно, в основном я пользовался базовыми циклами и массивами и некоторыми специфическими штуками, но понимание как это работает не было, в плане ООП я был полностью 0 (а это и есть база c#). Поэтому смело можно сказать, что я начал ПОЧТИ что с нуля.\r\nСразу скажу о плюсах курса: \r\n1. Преподаватели \r\nНа мое большое удивление после школы и ВУЗА ни один преподаватель, по моим ощущениям, не проводил урок лишь бы рассказать тему и закончить урок. Зачастую преподаватели оставались после урока в положенные 1.5ч, чтобы не только ответить на все вопросы учеников, но и рассказать что-то из своего опыта, может даже не совсем по теме. Преподаватели реально хотят передать свои знания и горят этим. Это очень круто!!! \r\n2. Нет воды! Кроме первого ВВОДНОГО УРОКА все уроки это только чистые знания. Это я пишу к тому, что на моем первом ВВОДНОМ уроке один из студентов начал жаловаться, что это не урок, а вода. Возможно, после этого тот студент не стал продолжать обучение (а может и стал, я не запомнил). Информации очень много! \r\n3. Мне понравились ДЗ. Когда я сам пытался в ООП, я не понимал, правильно ли я делаю, правильно ли я понял задание. Здесь дз раскрывают тему, по ним можно закрепить знания. Все дз проверятся преподавателями. На каждое дз получаешь обратный отзыв по тому, где и как можно улучшить свой код. Я не обучался на других курсах, поэтому не могу сравнивать, но на отусе мне понравилось. \r\n4. Какие это знания! Часто говорят, что в программирование можно всему научиться самому, думаю это правда, просто это гораздо сложнее. Я пытался много раз обучаться самому, но у меня не пошло. Я мог просто не быть уверенным, понял ли я тему правильно, а подсказать и проверить было некому. Иногда я не знал, какую следующую тему изучать или где найти по теме задание, чтобы закрепить материал. В общем, на курсе этих проблем не будет. \r\nМожно и дальше перечислять плюсы, но я думаю, что читающим важнее минусы. Как таковых минусов я не выявил, скорее некоторые предупреждения: \r\nКурс для меня был сложный и напряжённый. Мои уроки начинались в 8 вечера по мск. По идеи урок должен идти 1.5 часа, но как я сказал, зачастую препод хоть и говорит, что на этом весь материал по уроку рассказал, но остается, чтобы рассказать что-то от себя или что-то разобрать более подробно. Да, конечно , можно уйти с урока, но мне всегда было интересно послушать. Поэтому иногда урок длился дольше. Лично для меня это огромный плюс, но может для кого-то и минус. \r\nДомашки для меня тоже были разные по уровню, иногда можно было даже решить за один вечер, но бывало, что и пару недель не хватало. Для меня это тоже плюс, так как простые дз не столь эффективны, но может для кого-то это минус. \r\nЯ сверху подчеркнул, что я имел хоть минимальное представление, что такое язык программирования c#, если Вы такого опыта не имеете, то не переживайте, но будьте готовы, что этот курс, это не лишь бы прослушать лекции и получить сертификат (хотя вроде и так можно), а практические занятие, на которые может уйти много времени, так и еще создание проекта. Будьте готовы уделять курсу много времени. Но это того стоит!!! \r\nP.S сейчас я перешел на c# professional. Надеюсь, что здесь планка будет не ниже!"])</script><script>self.__next_f.push([1,"38:T86e,"])</script><script>self.__next_f.push([1,"Про Отус видел еще на хабре как школу, которая выпускает мидлов. Решил попробовать, смотрел скептически на все это(слышал от знакомых много отзывов про другие школы в формате \"инфоцигане\"). Что точно очень круто - сервис! Если посетить первую лекцию можно понять одну важную установку - Онлайн школа это как спортзал. Говоря про курс, точно 10 из 10. Лекции понятны, но времени мало - тотального разбора в них нет(не считаю минусом, многое все-таки нужно изучать самому). ДЗ интересные. Проект для меня было мало времени, совмещать обучение и работу сложно. Но тут как раз мой скептецизм не оправдал себя и раскрывается причина моей оценки 10 из 10 - сервис. На многие вещи можно постучаться в личку преподователю(мне очень сильно помогал Дмитрий Панкрашов, !!выражаю огромнейшую благодарность!!) и получить помощь. Так же руководство курса идут навстречу( я не успевал, мне предлагали отсрочить сдачу проекта - к слову я воспользовался услугой трансфера). Для начинающих, с должным желанием, рвением и количеством времени(ну и немного теории все-таки надо открыть там VS, сделать метод) лучшее решение. Свой проект я еще не сдал, но уже ощущаю свой опыт и знания приобретенные в рамках курса! 10 из 10!"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"3a:{\"start\":\"#FA6D41\",\"stop\":\"#C94C31\"}\n39:{\"gradient\":\"$3a\",\"secondColor\":\"#FA6D41\",\"textIsBlack\":false}\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$L23\",null,{\"hideOverlayBanner\":true,\"withTopPadding\":false,\"theme\":{\"gradient\":{\"start\":\"#FA6D41\",\"stop\":\"#C94C31\"},\"secondColor\":\"#FA6D41\",\"textIsBlack\":false},\"children\":[\"$\",\"$L24\",null,{\"initialData\":{\"course\":{\"id\":242,\"slug\":\"c-sharp-basic\",\"title\":\"C# Developer. Basic\",\"isSpecialization\":false,\"difficultyLevel\":\"Basic\",\"partnerLink\":null,\"partnerText\":\"\",\"partnerImageUrl\":null,\"partnerHeaderText\":null,\"partnerImageAlt\":\"логотип партнера\",\"category\":{\"title\":\"Программирование\",\"slug\":\"programming\"},\"scheduleGroup\":{\"id\":3780,\"title\":\"C#-basic-2026-04\",\"startDate\":\"2026-04-29\",\"isShowFullDate\":true,\"isShowDays\":false,\"timeFullDays\":null,\"timeFullMonth\":6,\"weekdaysStr\":\"Пн/Ср 20:00 Мск\",\"finishDate\":\"2026-12-10\",\"priceFull\":{\"fullPrice\":80000,\"discount\":0,\"discountCapped\":false},\"priceFullB2b\":{\"fullPrice\":104000,\"discount\":0,\"discountCapped\":false},\"discountValidDate\":null,\"isAssessmentEnabled\":false,\"isEnableRequest\":false,\"status\":\"ready\"},\"headerIconUrl\":\"https://cdn.otus.ru/media/public/a4/9d/a49da9b57d1c4c8db340cac3cd96eaaf.svg\",\"headerIconInvtUrl\":\"https://cdn.otus.ru/media/public/b1/9c/b19caf0117e3463498c6ef38fd3271c3.svg\",\"employers\":[{\"id\":238,\"title\":\"ООО \\\"Примо РПА\\\"\",\"logoUrl\":\"https://cdn.otus.ru/media/public/fc/11/fc113557264c49d7bac5bdd51ca49652.JPG\"}],\"gaGoalDodWithoutAssessment\":\"csharp-basic_claim_event_ok\",\"yaGoalDodWithoutAssessment\":\"csharp-basic_claim_event_ok\",\"isForChildren\":false,\"linkTg\":null,\"linkVk\":null},\"blocks\":[{\"desc\":\"\u003cp\u003eНаучитесь разработке на C# с нуля\u003c/p\u003e\\n\u003cdiv\u003e\u0026nbsp;\u003c/div\u003e\",\"isSpecialPriceShow\":false,\"isCourseUpdateShow\":false,\"specialPriceText\":\"Специальная цена\",\"specialPriceHelpText\":\"\",\"courseUpdateText\":\"Пробный период\",\"courseUpdateHelpText\":\"\",\"id\":6473,\"type\":\"specialization_header\"},{\"desc\":\" \u003ch2\u003eДля кого этот курс?\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cspan\u003eКурс рассчитан на людей без опыта в IT, которые хотят освоить программирование на одном из самых популярных языков С#. \u003c/span\u003e\u003c/li\u003e\\n\u003cli\u003e\u003cspan\u003eВы пройдете путь от основ программирования на языке C# до создания полноценного бота для Telegram. \u003c/span\u003e\u003c/li\u003e\\n\u003cli\u003e\u003cspan\u003eВас ждёт изучение эффективных алгоритмов и структур данных, глубокое погружение в коллекции, а также знакомство с практиками написания чистого и качественного кода.\u0026nbsp;\u003c/span\u003e\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2\u003eНеобходимые знания\u003c/h2\u003e\\n\u003cp\u003eНе обязательно иметь профильные знания. Достаточно быть уверенным ПК пользователем. Программа подходит для новичков.\u003c/p\u003e\",\"visitCardLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456245775\",\"visitCardPreviewUrl\":null,\"verticalBanner\":null,\"horizontalBanner\":null,\"id\":6474,\"type\":\"SPECIALIZATION_COURSE_PRESENTATION\"},{\"title\":\"Что даст вам этот курс?\",\"text\":\"$25\",\"sideText\":\"\u003cp\u003e\u003cstrong\u003eПочему стоит освоить?\u003c/strong\u003e\u003c/p\u003e\\n\u003cp\u003e\u003cspan\u003eЯзык программирования C# является мощным, универсальным и широко применяемым инструментом в мире разработки с богатой библиотекой для разработчиков. Только в официальном менеджере пакетов их более 360 000. C# поддерживает создание разнообразных приложений, включая веб, настольные, мобильные приложения и игры.\u003c/span\u003e\u003c/p\u003e\",\"id\":6475,\"type\":\"SPECIALIZATION_COURSE_GOAL\"},{\"iconUrl\":null,\"title\":\"Процесс обучения\",\"text\":\"\u003cp\u003eКурс состоит из живых вебинаров, домашних заданий и видеозаписей, в качестве дополнительного материала.\u003c/p\u003e\\n\u003cp\u003eНа курсе предусмотрено менторское сопровождение в виде групповых менторских разборов домашних заданий.\u003c/p\u003e\\n\u003cp\u003eЗанятие по групповому разбору ДЗ с ментором проводится раз в месяц в рамках расписания курса.\u003c/p\u003e\\n\u003cp\u003eТакже вы сможете общаться с ментором в чате по домашнему заданию, где он даст качественную обратную связь по итогам проверки и направит вас в нужное русло при выполнении ДЗ.\u003c/p\u003e\",\"id\":6476,\"type\":\"SPECIALIZATION_TEACHING_PROCESS\"},{\"columns\":[{\"imageUrl\":null,\"text\":\"\u003cdiv\u003e\\n\u003ch3\u003e\u003cspan\u003eАвторская программа\u003c/span\u003e\u003c/h3\u003e\\n\u003cspan\u003e\u003c/span\u003e\u003c/div\u003e\\n\u003cdiv\u003e\u0026nbsp;\u003c/div\u003e\\n\u003cdiv\u003e\u003cspan\u003eТренды разработки и актуальные инструменты. Обучение на рабочих кейсах\u003c/span\u003e\u003c/div\u003e\"},{\"imageUrl\":null,\"text\":\"\u003cdiv\u003e\\n\u003ch3\u003eЭксперты\u003cbr\u003e\u003cbr\u003e\u003c/h3\u003e\\n\u003cp\u003eПреподаватели из разных сфер, каждый со своим уникальным опытом.\u003c/p\u003e\\n\u003c/div\u003e\"},{\"imageUrl\":null,\"text\":\"\u003ch3\u003eПроект для портфолио\u003c/h3\u003e\\n\u003cdiv\u003e\u0026nbsp;\u003c/div\u003e\\n\u003cdiv\u003e\u003cspan\u003eПроект в портфолио, с которым вам будет легко произвести впечатление на собеседованиях\u003c/span\u003e\u003c/div\u003e\"}],\"id\":6477,\"type\":\"textcolumns\"},{\"title\":\"Карьерная поддержка\",\"sliderTitle\":\"Работодатели курса\",\"desc\":\"\",\"advantages\":\"\u003cbr /\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eРазместите свое резюме в базе OTUS\u003c/strong\u003e и сможете получать приглашения на собеседования от партнеров\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eКарьерные мероприятия в сообществе\u003c/strong\u003e\u003cbr /\u003eПубличный разбор резюме\u003cbr /\u003eПубличное прохождение собеседования и воркшопы\u003c/li\u003e\\n\u003c/ul\u003e\",\"vacancyDesc\":null,\"id\":6478,\"type\":\"SPECIALIZATION_EMPLOYMENT\"},{\"header\":\"\u003ch5\u003eФормат обучения\u003c/h5\u003e\",\"columns\":[{\"text\":\"\u003ch2\u003eПлавный старт\u003c/h2\u003e\\n\u003cbr /\u003e\u003cspan\u003eДля постепенного погружения в профессию 2 недели - 1 занятие в неделю, далее - 2 занятия в неделю\u003c/span\u003e\",\"imageUrl\":null},{\"text\":\"\u003ch2\u003eПрактика\u003c/h2\u003e\\n\u003cdiv\u003e\u003cbr\u003e\u003cspan\u003eУсильте своё портфолио и компетенции с помощью домашних заданий, проектной работы и интерактивных тренажеров с автопроверкой\u003c/span\u003e\u003c/div\u003e\",\"imageUrl\":null},{\"text\":\"\u003ch2\u003eГрупповое менторство\u003cbr /\u003e\u003cbr /\u003e\u003c/h2\u003e\\n\u003cp\u003e\u003cspan\u003eРазберем возникающие в процессе обучения вопросы и пути решения ДЗ\u003c/span\u003e\u003c/p\u003e\",\"imageUrl\":null}],\"id\":6479,\"type\":\"SPECIALIZATION_EDUCATION_FORMAT\"},{\"id\":6480,\"type\":\"program\",\"program\":{\"data\":{\"id\":3530,\"title\":\"C#-basic-2026-04\",\"duration\":196,\"modules\":[{\"id\":21317,\"number\":1,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Знакомство с C#\",\"description\":\"Вы узнаете из чего обычно состоит программа на языке C#, установите среду разработки Visual Studio и научитесь писать программы, работающие с базовыми коллекциями Array и List, добавите обработку исключений и перегрузку методов в них.\",\"type\":\"common\",\"lessons\":[{\"id\":124457,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с ключевыми особенностями C#;\\nпонять как C# работает с памятью.\",\"title\":\"Вводное занятие // ДЗ\",\"summary\":\"что такое C#?;\\nобъектная ориентация;\\nтипобезопасность;\\nуправление памятью;\\nподдержка платформы;\\nчто такое CLR;\\nintermediate language;\\nпочему именно C#?\",\"likeUser\":null,\"homeworks\":[{\"id\":47393,\"title\":\"Выбор темы для проектной работы\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"выбрать и согласовать тему проектной работу, над которой предстоит работать;\\nописать роли и функции для проекта\",\"likeUser\":null,\"description\":\"1. Выберите название темы\\n2. Напишите список ролей для максимально возможной версии вашего приложения, то есть все ваши, даже самые смелые, пожелания.\\n3. Напишите какие функции будут у каждой роли.\\n4. Напишите список из максимум 4 самых базовых функций.\\n5. Оформите запросы к боту в формате запрос-ответ. Например: \\n- Пользователь отправляет \\\"**/start**\\\"\\n- Бот пишет \\\"**Введите ваше имя**\\\"\\n- Пользователь пишет \\\"**Лёша**\\\"\\n- Бот пишет \\\"**Привет, Лёша! =)**\\\"\"}]},{\"id\":124458,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться со средой разработки VisualStudio и узнать основы работы с ней\",\"title\":\"Среда разработки VisualStudio: интерфейс, базовый функционал\",\"summary\":\"установка среды разработки;\\nбазовая структура проекта;\\nдирективы using;\\nпространства имён;\\nmain() метод;\\nкомментарии.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124459,\"likeDown\":0,\"likeUp\":0,\"description\":\"понять, что такое переменная;\\nпонять, что бывают примитивные и сложные типы;\\nнаучиться работать с примитивными типами.\",\"title\":\"Переменные и операторы\",\"summary\":\"что такое переменная?\\nпримитивные и сложные;\\nint, byte, float, double, decimal, char, bool;\\nnullable типы;\\nнаименование переменных;\\nобъявление и инициализация переменных;\\nбазовые операторы;\\nкакие ещё есть операторы;\\nприведение типов.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124465,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с тем, что такое метод;\\nнаучиться писать свои методы;\\nнаучиться использовать перегрузку методов.\",\"title\":\"Методы, их перегрузка и расширения\",\"summary\":\"основные виды методов: обычные, статические и локальные;\\nвходные, выходные параметры;\\nпараметры по умолчанию, params;\\nсигнатуры и перегрузка методов;\\nметоды-расширения.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124462,\"likeDown\":0,\"likeUp\":0,\"description\":\"Управление потоком выполнения программы\\n if\\n ?:\\n Switch\\n for\\n foreach\\n while\\n do\\n jump statements\\n break\\n continue\\n граничные условия циклов\\\"\",\"title\":\"Добавляем выводы и решения // ДЗ\",\"summary\":\"условные операторы: if, else, тернарный оператор;\\nоператоры цикла: while, for, foreach, break, continue;\\nоператор switch.\\n\",\"likeUser\":null,\"homeworks\":[{\"id\":47395,\"title\":\"Разработка интерактивного меню для Телеграмм бота\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом задании мы закрепим знания, полученные в ходе занятий, и создадим базовое интерактивное меню для будущего бота, используя при этом основные принципы работы с переменными, методами и операторами управления. Результатом выполнения домашнего задания будет простое консольное приложение, имитирующее работу бота.\",\"likeUser\":null,\"description\":\"$26\"}]},{\"id\":124463,\"likeDown\":0,\"likeUp\":0,\"description\":\"использовать структуру Char;\\nиспользовать класс String и StringBuilder;\\nобъяснить назначение кодировок и работать с ними;\\nиспользовать различные функции для обработки строк;\\nобъяснить, что такое иммутабельность и интернирование;\\n\",\"title\":\"Символы и Строки\",\"summary\":\"ASCII, Unicode, UTF-16;\\nChar;\\n@, $;\\nStringBuilder;\\nкодировки;\\nстроковые и символьные функции;\\nиммутабельность.\\nинтернирование.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124461,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться пользоваться библиотеками и инструментами c# для работы с выводом и вводом данных в консоли.\",\"title\":\"Делаем программу интерактивной\",\"summary\":\"класс System.Console;\\nвывод при помощи Console.Write, Console.WriteLine;\\nформатирование вывода для различных типов данных;\\nввод данных при помощи Console.Read, Console.ReadKey, Console.ReadLine;\\nобработка введенных данных при помощи Read*: парсинг в числовое значение;\\nцикл do while.\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124468,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить детали выполнения домашних заданий;\\nполучить ответы на вопросы по проекту;\\nразобрать типовые ошибки и лучшие практики\",\"title\":\"Групповая менторская консультация 1\",\"summary\":\"обсуждение вопросов участников;\\nразбор решений и подходов;\\nрекомендации по улучшению кода;\\nобсуждение практических кейсов\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124467,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с понятием системы контроля версий\\nнаучиться пользоваться ей на примере Git + GitHub\",\"title\":\"Системы контроля версий\",\"summary\":\"системы контроля версий;\\nGit;\\nCLI and GUI;\\nGit + GitHub (Demo).\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124460,\"likeDown\":0,\"likeUp\":0,\"description\":\"изучить базовую работу с коллекциями;\\nпознакомиться с методами работы со списками;\\nрассмотрим типичные кейсы работы со списками и\\nмассивами.\",\"title\":\"Массив и лист // ДЗ\",\"summary\":\"массив, его свойства и методы;\\nлист, его свойства и методы;\\nзначимые и ссылочные типы.\",\"likeUser\":null,\"homeworks\":[{\"id\":47394,\"title\":\"Расширение возможностей бота с помощью списка\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Вам предстоит расширить функционал консольного бота, который вы создали в домашнем задании №1, добавив возможности для работы со структурой данных List\u003cstring\u003e. Бот будет управлять списком задач с помощью трех новых команд.\",\"likeUser\":null,\"description\":\"$27\"}]},{\"id\":124464,\"likeDown\":0,\"likeUp\":0,\"description\":\"произвести парсинг значений из ввода в числа;\\nсовершить вызов исключений;\\nсоздать собственные исключения;\\nобработать исключения.\",\"title\":\"Исключения и их обработка // ДЗ\",\"summary\":\"класс System.Exception;\\nоператоры throw, try, catch, finally;\\nпорядок обработки исключений;\\nусловные исключения.\",\"likeUser\":null,\"homeworks\":[{\"id\":47396,\"title\":\"Обработка ошибок и валидация данных\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущем домашнем задании:\\n\\n- Работа с исключениями\\n- Создание собственного типа исключения\\n- Валидация данных\",\"likeUser\":null,\"description\":\"$28\"}]},{\"id\":124466,\"likeDown\":0,\"likeUp\":0,\"description\":\"синхронизироваться по вопросам учёбы\",\"title\":\"Консультация общая\",\"summary\":\"обратная связь;\\nответы на вопросы\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21318,\"number\":2,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"ООП и анонимные типы с методами\",\"description\":\"В этом модуле вы познакомитесь с основополагающей концепцией языка - Объектно-Ориентированные Программированием, а также тем функционалом, который позволяет реализовать эту концепцию в коде.\",\"type\":\"common\",\"lessons\":[{\"id\":124469,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть понятие класс в языке C#; \\nсоздать классы и объекты из них;\\nдобавить методы и свойства, ограничить доступность к тем или иным свойства класса;\\nизучить, какие средства языка позволяют упрощать работу с классами и делать код понятным.\",\"title\":\"Классы как основа C# // ДЗ\",\"summary\":\"что такое ООП?\\nпишем свой класс\\nполя\\nсвойства\\nметоды\\nконструктор\\n\\nключевые слова static, partial.\",\"likeUser\":null,\"homeworks\":[{\"id\":47397,\"title\":\"ООП классы\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Работа с классами\\n- Добавление новых команд\",\"likeUser\":null,\"description\":\"$29\"}]},{\"id\":124470,\"likeDown\":0,\"likeUp\":0,\"description\":\"изучить механизм наследования в C#;\\nразобраться что такое полиморфизм и как он используется;\\nрассмотреть механизмы языка для работа с ключевыми\\nтерминами ООП.\",\"title\":\"Три кита ООП: Наследование, Полиморфизм и Абстракция\",\"summary\":\"наследование;\\nпишем родительский класс\\nпишем дочерний класс\\nполиморфизм;\\nGetType(), typeof()\\nабстракция;\\nинтерфейс\\nмодификаторы доступа\\npublic, private, protected, internal\\nвиртуальные методы.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124475,\"likeDown\":0,\"likeUp\":0,\"description\":\"правильно описать структуру классов, предоставить доступ другим программистам к вашей структуре;\\nописать свои программы так, что с ними можно будет удобно работать в команде;\\nначать работу с наследованием классов, приведением типов, и применением модификаторов доступа как к классам, так и к полям класса.\\n\",\"title\":\"Объектно-Ориентированное Программирование (продолжение)\",\"summary\":\"полиморфизм;\\nGetType(), typeof();\\nабстракция;\\nинтерфейс;\\nмодификаторы доступа;\\npublic, private, protected, internal;\\nвиртуальные методы.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124471,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с понятием интерфейса;\\nнаучиться применять их на практике.\",\"title\":\"Интерфейсы // ДЗ\",\"summary\":\"понятие интерфейса;\\nсостав интерфейса;\\nдля чего он нужен;\\nреализация интерфейсов;\\nнаследование интерфейсов;\\nреализация интерфейсов с одинаковыми методами;\\nконстанты и реализация методов по умолчанию.\",\"likeUser\":null,\"homeworks\":[{\"id\":47398,\"title\":\"ООП интерфейсы\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Добавление интерфейсов и классов аналогичных Telegram API, чтобы в будущем было легче переключиться на реального Telegram бота\\n- Работа с интерфейсами\",\"likeUser\":null,\"description\":\"$2a\"}]},{\"id\":124476,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить детали выполнения домашних заданий;\\nполучить ответы на вопросы по проекту;\\nразобрать типовые ошибки и лучшие практики\",\"title\":\"Групповая менторская консультация 2\",\"summary\":\"обсуждение вопросов участников;\\nразбор решений и подходов;\\nрекомендации по улучшению кода;\\nобсуждение практических кейсов\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124472,\"likeDown\":0,\"likeUp\":0,\"description\":\"более глубоко изучить перечисления, раскрыть возможности битовых операций с элементами перечислений (флаги);\\nузнать о типе - Структура, и структур отличиях от классов.\",\"title\":\"Структуры и перечисления\",\"summary\":\"сравнение классов и структур;\\nописание перечислений, привидение перечислений и основные операции с ними;\\nосновные булевы операции: И, ИЛИ, НЕ, XOR;\\nфлаги, как опция для перечислений.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124473,\"likeDown\":0,\"likeUp\":0,\"description\":\"использовать анонимные типы;\\nиспользовать кортежи;\\nиспользовать анонимные методы и лямбда-выражения.\",\"title\":\"Анонимные типы, кортежи, лямбда-выражения и анонимные методы // ДЗ\",\"summary\":\"анонимные типы;\\nкортежи;\\nанонимные методы;\\nлямбда-выражения;\\nобъяснение дз.\",\"likeUser\":null,\"homeworks\":[{\"id\":47399,\"title\":\"Расширение функционала бота\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Работа с классами и интерфейсами. Добавление репозиториев\\n- Добавление новых команд\\n- Работа с лямбдами и кортежами\",\"likeUser\":null,\"description\":\"$2b\"}]},{\"id\":124474,\"likeDown\":0,\"likeUp\":0,\"description\":\"синхронизироваться по вопросам учёбы.\",\"title\":\"Консультация общая\",\"summary\":\"обратная связь;\\nответы на вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21321,\"number\":3,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Работа с Telegram API и файлами\",\"description\":\"В этом модуле вы научитесь взаимодействовать с Телеграммом, чтобы создавать полноценных ботов, а также будет затронута тема работы с файлами, как простейший способ хранения чувствительных данных (API ключа).\",\"type\":\"common\",\"lessons\":[{\"id\":124489,\"likeDown\":0,\"likeUp\":0,\"description\":\"разделять приложение на составные части (слои), выделять бизнес-логику, уровень представления, доменный \\\\сервисный слои.\",\"title\":\"Занятие по внутренней организации приложения\",\"summary\":\"антипаттерны организации структуры приложения, что такое BBoM;\\nнекоторые паттерны организации кода, общие принципы - что содержат и за что отвечают Domain\\\\Core, Business Logic, Infrastructure слои.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124490,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с функционалом async и await;\\nузнать, как его обрабатывает .Net;\\nпознакомиться с типовыми ошибками\",\"title\":\"Асинхронное программирование: async/await // ДЗ\",\"summary\":\"ключевые слова async и await;\\nпод капотом: преобразование асинхронного метода;\\nисполнение асинхронного кода в CLR;\\nтипичные ошибки и антипаттерны при работе с async/await\",\"likeUser\":null,\"homeworks\":[{\"id\":47404,\"title\":\"Асинхронность, делегаты и события\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Добавление асинхронности\",\"likeUser\":null,\"description\":\"$2c\"}]},{\"id\":124488,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с возможностями для написания бота для telegram;\\nописать основные шаги для регистрации и управления ботом;\\nнаписать бота, который получает сообщения от пользователя, обрабатывает его и отправляет ответ.\",\"title\":\"Знакомство с Telegram API\",\"summary\":\"знакомство с ботами telegram;\\nзнакомство с Telegram API;\\nнаписание и запуск кода, который управляет зарегистрированным ботом.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124493,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать возможности управления клавиатурой.\\nрассмотреть способы взаимодействия пользователя с ботом: кнопки в сообщении, кнопки во встроенной клавиатуре.\",\"title\":\"Различные виды клавиатур // ДЗ\",\"summary\":\"добавление стандартной/встроенной клавиатуры;\\nудаление стандартной клавиатуры;\\nпрактика.\",\"likeUser\":null,\"homeworks\":[{\"id\":47406,\"title\":\"Создание Telegram бота\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Создать своего Telegram бота\\n- Работа с Telegram Bot API\\n- Работа с Reply кнопками\",\"likeUser\":null,\"description\":\"$2d\"}]},{\"id\":124491,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться работать с файлами и каталогами в своих приложениях\",\"title\":\"Работа с файлами // ДЗ\",\"summary\":\"основные методы работы с файлами и директориями;\\nпотоки для записи в файлы;\\nасинхронная работа с файлами.\",\"likeUser\":null,\"homeworks\":[{\"id\":47405,\"title\":\"Работа с файлами\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Работа с файлами\\n- Работа с json\",\"likeUser\":null,\"description\":\"$2e\"}]},{\"id\":124492,\"likeDown\":0,\"likeUp\":0,\"description\":\"синхронизироваться по вопросам учёбы.\",\"title\":\"Консультация общая\",\"summary\":\"обратная связь;\\nответы на вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21319,\"number\":4,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Работа с коллекциями\",\"description\":\"В этом модуле вы научитесь работать с основным способом взаимодействия с данными - коллекциями. Начав с повторения основ, вы продолжите изучение обобщёнными, наблюдаемыми и неизменяемыми коллекциями, а также с коллекциями, предназначенными для одновременного доступа из нескольких потоков.\",\"type\":\"common\",\"lessons\":[{\"id\":124479,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с основными коллекциями языка C#;\\nпонять из чего состоит класс Array;\\nузнать какие бывают массивы;\\nпознакомиться со списками.\",\"title\":\"Основные коллекции: массив, список, связный список\",\"summary\":\"класс System.Array;\\nвнутреннее содержание массива;\\nвиды массивов;\\nсписки;\\nпрактика.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124477,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с внутренним устройством FIFO, LIFO O(n);\\nразобрать различия в скорости записи и чтения;\\nрассмотреть механизм решения коллизий.\",\"title\":\"Основные коллекции: очередь, стек, словарь, хешсет // ДЗ\\t\",\"summary\":\"внутреннее устройство FIFO, LIFO O(n) нотация;\\nразличие скорости записи и чтения;\\nхеш-функция;\\nмеханизм разрешения коллизий.\",\"likeUser\":null,\"homeworks\":[{\"id\":47400,\"title\":\"Сценарии\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Добавление поддержки сценариев с сохранением промежуточного состояния\\n- Добавление сценария для создания задачи\\n- Работа с Dictionary\",\"likeUser\":null,\"description\":\"$2f\"}]},{\"id\":124484,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить детали выполнения домашних заданий;\\nполучить ответы на вопросы по проекту;\\nразобрать типовые ошибки и лучшие практики\",\"title\":\"Групповая менторская консультация 3\",\"summary\":\"обсуждение вопросов участников;\\nразбор решений и подходов;\\nрекомендации по улучшению кода;\\nобсуждение практических кейсов\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124481,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать, для чего нам нужны Generics;\\nузнать, как создавать собственные Generic классы.\\n\",\"title\":\"Generic коллекции\\t\",\"summary\":\"предназначение Generics;\\nсоздание своей дженерик-коллекции;\\nсоздание Generic интерфейсов;\\nсоздание Generic методов.\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124482,\"likeDown\":0,\"likeUp\":0,\"description\":\"использовать рассмотренные коллекции.\\n\",\"title\":\"Observable, Immutable и Concurrent коллекции // ДЗ\",\"summary\":\"паттерн Observer;\\nObservableCollection;\\nSystems.Collections.Immutable;\\nSystems.Collections.Concurrent;\\nобъяснение дз.\",\"likeUser\":null,\"homeworks\":[{\"id\":47402,\"title\":\"Списки для задач\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Добавление сущности ToDoList\\n- Расширение сценария создания задачи\\n- Добавление сценариев для создания и удаления списков\\n- Работа с CallbackQuery\\n- Работа с ConcurrentDictionary\",\"likeUser\":null,\"description\":\"$30\"}]},{\"id\":124478,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать о LINQ запросах\\n\",\"title\":\"LINQ запросы \",\"summary\":\"fluent syntax;\\nвыражения запросов;\\nотложенное выполнение;\\nподзапросы;\\nдва синтаксиса;\\nподзапросы;\\nстратегии композиций;\\nстратегии проекций;\\n=== LINQ операторы ===\\nфильтрация;\\nпроектирование;\\nобъединение;\\nупорядочивание;\\nгруппировка;\\nпреобразования;\\nагрегация;\\nквантификация;\\nгенерация.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124480,\"likeDown\":0,\"likeUp\":0,\"description\":\"повторить оба синтаксиса LINQ;\\nпознакомиться с возможностями LINQ в C# 9.0;\\nреализовать на практике метод Where.\",\"title\":\"LINQ операторы // ДЗ\",\"summary\":\"применение LINQ-операторов:\\n- Фильтры и проекции\\n- Предикаты\\n- Работа с двумя коллекциями\\n- Атомарный результат\\n- Агрегация\\n- Немедленное выполнение запроса\\nновые возможности LINQ;\\nпрактика.\",\"likeUser\":null,\"homeworks\":[{\"id\":47401,\"title\":\"Постраничная навигация\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Расширение функционала приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Изменение вывода информации о задаче\\n- Добавление сценария удаления задачи\\n- Добавление просмотра выполненных задач\\n- Практики по LINQ\\n- Добавление постраничной навигации при выводе задач\",\"likeUser\":null,\"description\":\"$31\"}]},{\"id\":124483,\"likeDown\":0,\"likeUp\":0,\"description\":\"синхронизироваться по вопросам учёбы.\",\"title\":\"Консультация общая\",\"summary\":\"обратная связь;\\nответы на вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21322,\"number\":5,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\" Работа с базами данных\",\"description\":\"Здесь вы познакомитесь с базами данных, научитесь добавлять, получать, редактировать и удалять данные в них. Также, вы узнаете и о том, из чего состоят базы данных и как с этим взаимодействовать (таблицы, индексы).\",\"type\":\"common\",\"lessons\":[{\"id\":124495,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с SQL (язык структурированных запросов);\\nрассмотреть основные операции по работе с базами данных и данными в этих базах, закрепить материал на практике.\",\"title\":\"Введение в базы данных\\t\",\"summary\":\"из чего состоит SQL (DDL, TCL, DCL, DML);\\nоперации над таблицами (CRUD);\\nоперации со столбцами (CRUD);\\nтипы данных в SQL;\\nзапрос insert;\\nзапрос select *\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124500,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить детали выполнения домашних заданий;\\nполучить ответы на вопросы по проекту;\\nразобрать типовые ошибки и лучшие практики\",\"title\":\"Групповая менторская консультация 4\",\"summary\":\"обсуждение вопросов участников;\\nразбор решений и подходов;\\nрекомендации по улучшению кода;\\nобсуждение практических кейсов\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124496,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с графическими клиентами для СУБД;\\nнаучиться восстанавливать БД;\\nнаучиться выполнять SQL запросы.\",\"title\":\"Выборки данных\",\"summary\":\"PostgreSQL;\\nграфические клиенты для СУБД;\\nбесплатный хостинг PostgreSQL;\\nвосстановление БД на локальном компьютере;\\nоператоры запросов SQL: SELECT, JOIN, GROUP BY, HAVING;\\nпорядок выполнения SQL запросов.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124497,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть хранимые процедуры и функции;\\nразобрать кастомные типы данных и временные таблицы;\\nразобрать представления и материализованные представления;\\n\",\"title\":\"Хранимые процедуры и функции\\t\",\"summary\":\"хранимые процедуры и функции; \\nтриггеры;\\nкастомные типы данных;\\nвременные таблицы;\\nпредставления и материализованные представления.\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124498,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассказать, зачем нужны индексы;\\nрассказать о разнице между кластерным и некластерным индексами;\\nиспользовать индексы на практике.\",\"title\":\"Индексы: кластерный и не кластерный // ДЗ\",\"summary\":\"индексы и зачем они нужны;\\nкак добавить индекс;\\nсоставной индекс;\\nкластерный и некластерный индекс.\",\"likeUser\":null,\"homeworks\":[{\"id\":47407,\"title\":\"Модель базы данных\",\"likeUp\":0,\"likeDown\":0,\"goal\":\" \\nПроектирование модели базы данных для приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Проектировать модель БД\\n- Писать DDL скрипты\\n- Писать DML скрипты\\n- Создавать индексы\",\"likeUser\":null,\"description\":\"$32\"}]},{\"id\":124499,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться к технологией ORM;\\nрассмотреть примеры кода, выполняющие запросы к БД и с использованием библиотек Dapper и Linq2db;\\nизучить различия в применении и возможностях подходов, которые заложены в этих библиотеках.\\n \",\"title\":\"Linq2DB, Dapper // ДЗ\",\"summary\":\"описание технологии ORM, поговорим об объектно-реляционном разрыве;\\nна примере библиотеки Dapper продемонстрируем как работает механизм отображения, как выполняются запросы и какие преимущества появляются у разработчика;\\nпознакомимся с Linq2SQL, покажем как методы LINQ позволяют разработчику упростить написание запросов и взаимодейсвие с БД.\",\"likeUser\":null,\"homeworks\":[{\"id\":47408,\"title\":\"Подключение ORM\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Подключение ORM для приложения, разработанного в предыдущих домашних заданиях:\\n\\n- Использовать linq2db.PostgreSQL\\n- Описывать модель БД через классы\\n- Выполнять запросы в БД через linq2db\",\"likeUser\":null,\"description\":\"$33\"}]},{\"id\":124494,\"likeDown\":0,\"likeUp\":0,\"description\":\"синхронизироваться по вопросам учёбы.\",\"title\":\"Консультация общая\",\"summary\":\"обратная связь;\\nответы на вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21323,\"number\":6,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Алгоритм и стили кодирования\",\"description\":\"Этот модуль позволит вам по-новому взглянуть на программирование, на этот раз в разрезе производительности, как кода (анализ сложности алгоритмов, рекурсии, деревья), так и самих программистов и команд (системы контроля версия, стили кодирования).\",\"type\":\"common\",\"lessons\":[{\"id\":124502,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с О-нотацией;\\nпонять, зачем она нужна и как можно сравнивать алгоритмы;\\nпосмотреть разницу в различных алгоритмах сортировок.\",\"title\":\"Анализ сложности алгоритмов и сортировка\",\"summary\":\"сложность алгоритма;\\nсортировка;\\nпрактика.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124506,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить детали выполнения домашних заданий;\\nполучить ответы на вопросы по проекту;\\nразобрать типовые ошибки и лучшие практики\",\"title\":\"Групповая менторская консультация 5\",\"summary\":\"обсуждение вопросов участников;\\nразбор решений и подходов;\\nрекомендации по улучшению кода;\\nобсуждение практических кейсов\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124501,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с видами рекурсии\\nпонять в каких случаях эффективнее применять циклы, а в каких - рекурсии\\nсравнить алгоритмическую сложность циклов и рекурсий\",\"title\":\"Взаимосвязь циклов и рекурсии // ДЗ\",\"summary\":\"как эффективнее писать циклы;\\nвнутренняя оптимизация работы циклов;\\nотличие циклов от рекурсии;\\nкакие есть нюансы работы с рекурсиями;\\nкакие рекурсии можно заменить циклами;\\nстоит ли заменять рекурсии циклами;\\nкогда без рекурсии не обойтись;\\nи т.д.\",\"likeUser\":null,\"homeworks\":[{\"id\":47409,\"title\":\"Фоновые задачи\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Добавление фоновых задач в приложение, разработанное в предыдущих домашних заданиях:\\n\\n- Проектировать механизм запуска фоновых задач\\n- Добавлять фоновые задачи\\n- Сбрасывать сценарии пользователей по таймауту\",\"likeUser\":null,\"description\":\"$34\"}]},{\"id\":124503,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассказать базовую теорию работы с деревьями и кучей;\\nпостроить и обойти дерево в C#;\\nпостроить на C# бинарное дерево поиска и найти в нем значение.\",\"title\":\" Деревья и кучи // ДЗ\",\"summary\":\"общая теория деревьев;\\nпредставление деревьев;\\nобход дерева;\\nбинарное дерево поиска;\\nкуча.\\n\",\"likeUser\":null,\"homeworks\":[{\"id\":47410,\"title\":\"Нотификации\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Добавление нотификаций в приложение, разработанное в предыдущих домашних заданиях:\\n\\n- Отправлять нотификации пользователям через фоновые задачи\\n- Добавлять новые фоновые задачи\\n- Создавать регулярные нотификации\",\"likeUser\":null,\"description\":\"$35\"}]},{\"id\":124507,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить детали выполнения домашних заданий;\\nполучить ответы на вопросы по проекту;\\nразобрать типовые ошибки и лучшие практики\",\"title\":\"Групповая менторская консультация 6\",\"summary\":\"обсуждение вопросов участников;\\nразбор решений и подходов;\\nрекомендации по улучшению кода;\\nобсуждение практических кейсов\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124504,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с наиболее популярными конвенциями и подходами написания кода на C#\",\"title\":\"Code style от Майкрософт, DRY/DIE, Yagni, KISS\",\"summary\":\"Text formatting;\\nMicrosoft coding convention;\\nDRY/DIE, boilerplate, KISS;\\nзаключение.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124505,\"likeDown\":0,\"likeUp\":0,\"description\":\"синхронизироваться по вопросам учёбы.\",\"title\":\"Консультация общая\",\"summary\":\"обратная связь;\\nответы на вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21320,\"number\":7,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Итоговый модуль\",\"description\":\"В этом модуле вы получите заключительную групповую консультацию по проектным работам, а также предоставите к защите свою проектную работу.\",\"type\":\"project\",\"lessons\":[{\"id\":124487,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться анализировать рынок вакансий;\\nнаучиться писать сопроводительное письмо;\\nразобрать структуру написания резюме;\\nразобрать специфику soft-skills и hard-skills интервью.\",\"title\":\"Карьерное консультирование\",\"summary\":\"поиск работы и рынок труда;\\nсопроводительное письмо;\\nрезюме;\\nsoft-skills интервью и техническое интервью.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":124485,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы по проекту, ДЗ и по курсу.\",\"title\":\"Консультация по проектам\",\"summary\":\"вопросы по улучшению и оптимизации работы над проектом;\\nзатруднения при выполнении ДЗ;\\nвопросы по программе.\",\"likeUser\":null,\"homeworks\":[{\"id\":47403,\"title\":\"Телеграмм бот \",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом проекте вы создадите приложение-бота, спроектируете базу данных для него, а также подключите его к Телеграмм API. \",\"likeUser\":null,\"description\":\"1. Определитесь с темой.\\n2. Напишите какие в вашем боте будут роли и их функции.\\n3. Выпишите все запросы и ответы для функций из пункта 2.\\n4. Составьте минимальный набор ролей, функций и запросов (MVP).\\n5. Реализуйте все запросы из минимального списка с помощью тех инструментов, что вы уже прошли (может не быть базы данных (вместо неё List\u003c\u003e) и подключения к телеграмму, достаточно ввода данных пользователем через консоль.\\n6. С помощью интерфейсов добавьте реализации классов, позволяющих работать с базами данных вместо списков и телеграмм API вместо консоли.\\n7. Реализуйте полностью по одному все запросы из списка, составленного в пункте 3.\"}]},{\"id\":124486,\"likeDown\":0,\"likeUp\":0,\"description\":\"защитить проект и получить рекомендации экспертов.\",\"title\":\"Защита проектов\",\"summary\":\"презентация проектов перед комиссией;\\nвопросы и комментарии по проектам.\\n\\n*В защите могут участвовать и студенты, не выполняющие собственного проекта, но желающие принять участие в обсуждении проектов своих коллег. \",\"likeUser\":null,\"homeworks\":[]}]}]},\"error\":null}},{\"text\":\"\u003ch2\u003eПроектная работа\u003c/h2\u003e\\n\u003cbr /\u003eНа протяжении всего курса вы будете разрабатывать своего собственного Телеграмм бота, который объединит в себе все знания, полученные на курсе. Выполнение проектной работы помогает укреплению практических навыков. \u003cbr /\u003e\u003cbr /\u003eГотовый проект будет служить в качестве портфолио при устройстве на работу, а тема проекта отдельно выносится в сертификат.\",\"imageUrl\":null,\"id\":6482,\"type\":\"SPECIALIZATION_PROJECT_WORK\"},{\"id\":6483,\"type\":\"teachers\",\"teachers\":[{\"id\":678,\"fullName\":\"Алексей Ягур\",\"company\":null,\"companyRole\":null,\"photoUrl\":\"https://cdn.otus.ru/media/public/cf/53/cf53417e8938414790ba770641062316.jpg\",\"description\":\"$36\",\"years\":9,\"lessonsCount\":538,\"studentsCount\":4017,\"courses\":[\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer\",\"C# Developer. Basic\",\"C# Developer. Advanced\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"superteacher\"},{\"id\":9857,\"fullName\":\"Павел Нилов\",\"company\":null,\"companyRole\":null,\"photoUrl\":\"https://cdn.otus.ru/media/public/c9/ce/c9ce95ec53414e938dbf96983cb0472f.jpg\",\"description\":\"Более 10 лет в разработке ПО. Более 6 лет из них посвятил разработке для CAD-систем.\\r\\nОкончил СПбГУАП по специальности \\\"ПОВТиАС\\\" в 2015г. На текущий момент работаю Fullstack-разработчиком в ПК \\\"Волховец\\\" на стеке C#(.NET) и Javascript (React).\",\"years\":3,\"lessonsCount\":41,\"studentsCount\":1142,\"courses\":[\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\",\"C# Developer. Advanced\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":3950,\"fullName\":\"Михаил Дмитриев\",\"company\":\"НИПК Электрон\",\"companyRole\":\"инженер-программист\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ec/11/ec118f6f41ab46cebc015c6a34cca66f.jpg\",\"description\":\"• Более 20 лет работы в IT-сфере на различных позициях;\\r\\n • Последние 5 лет - промышленная разработка на платформе .Net (C#);\\r\\n • Выпускник СПбГУ факультета Прикладной математики - Процессов Управления.\",\"years\":4,\"lessonsCount\":122,\"studentsCount\":1668,\"courses\":[\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\",\"NoSQL\",\"C# Developer. Advanced\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":2020,\"fullName\":\"Эдгар Пилипсон\",\"company\":null,\"companyRole\":null,\"photoUrl\":\"https://cdn.otus.ru/media/public/db/ac/dbac30f367ab438b9ebb3d4cf7a56c9b.png\",\"description\":\"Работает c .Net около 10 лет. Начинал с десктопа (WPF), Silverlight. Сейчас основной инструмент - ASP.Net Core, на фронте использую Angular 2+, React.\\r\\n\\r\\nОпыт работы с БД: SQL Server, Postgres. Также доводилось использовать Camunda, RabbitMQ.\\r\\n\\r\\nСертифицирован по MCSD: App Builder, MCSA: SQL 2016 Database Development.\\r\\n\\r\\nОбразование:\\r\\nМосковский Авиационный Институт\\r\\n\\r\\nOtus Sertificated Educator\",\"years\":6,\"lessonsCount\":277,\"studentsCount\":2416,\"courses\":[\"JavaScript Developer. Professional\",\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":1967,\"fullName\":\"Антон Герасименко\",\"company\":null,\"companyRole\":null,\"photoUrl\":\"https://cdn.otus.ru/media/public/b4/c8/b4c8f844565b4be0b9fa0de33ed9b20c.jpg\",\"description\":\".net developer + lead\\r\\n\\r\\nКоммерческой продуктовой разработкой занимаюсь с 2013.\\r\\nСейчас разрабатываю решения для системы (включающей более 10 продуктов) видеонаблюдения и видеоаналитики в компании \\\"Интелком лайн\\\". До этого разрабатывал информационную системы для порталов РПГУ, ЕПГУ, госуслуг.\\r\\nОпыт работы с .net: от десктопных wpf приложения до микросервисов на asp.net. Есть опыт в построении микросервисов на node.js.\\r\\nПоследнее 2 года занимаюсь развитием и ростом команды на dotnet и фронта.\\r\\n\\r\\nОбразование: ВолгГТУ, факультет электроники и вычислительной техники\",\"years\":6,\"lessonsCount\":529,\"studentsCount\":3173,\"courses\":[\"PostgreSQL для администраторов баз данных и разработчиков\",\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\",\"Системный аналитик. Team Lead\",\"Администрирование PostgreSQL. Продвинутый уровень\",\"Базы данных\",\"System Design\",\"C# Developer. Advanced\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":2372,\"fullName\":\"Виктор Дзицкий\",\"company\":\"SolarLab\",\"companyRole\":\"Тимлид, full-stack .NET Developer\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f3/be/f3be62163aa746b9963bd49ba7971b53.png\",\"description\":\"\u003cb\u003eОбразование\u003c/b\u003e\\r\\nОкончил факультет автоматики и вычислительной техники СевГУ\\r\\n\\r\\n\u003cb\u003eОпыт\u003c/b\u003e\\r\\nВ промышленной разработке на C# более 10 лет.\\r\\nНачал профессиональный путь в качестве C#-разработчика тестовой инфраструктуры в «Лаборатории Касперского», в дальнейшем увлёкся веб-разработкой.\\r\\nCейчас работает в компании SolarLab, в проекте, связанном с полным циклом разработки крупной тендерной площадки. \\r\\n\\r\\n\u003cb\u003eДостижения\u003c/b\u003e\\r\\nСдал несколько экзаменов Microsoft по .NET, ASP.NET и Azure\\r\\nCertified Solutions Developer (MCSD).\",\"years\":5,\"lessonsCount\":361,\"studentsCount\":3146,\"courses\":[\"IT-Recruiter\",\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\",\"C# Developer. Advanced\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":1090,\"fullName\":\"Евгений Тюменцев\",\"company\":null,\"companyRole\":null,\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\",\"description\":\"Директор компании по разработке программного обеспечения. 20 лет преподаю компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП. Технологии программирования.\\r\\nВ прошлом занимался профессионально разработкой многопоточных кросс-платформенных приложений на С++. Код, написанный 14 лет назад, до сих пор работает в составе IBM Watson.\\r\\nОдин из результатов - успешная разработка технически сложного коммерческого проекта командой из 7 студентов.\",\"years\":7,\"lessonsCount\":745,\"studentsCount\":4752,\"courses\":[\"Microservice Architecture\",\"Архитектура и шаблоны проектирования\",\"Software Architect\",\"C# Developer. Professional\",\"C# Developer. Basic\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":3175,\"fullName\":\"Дмитрий Гурьянов\",\"company\":\"SKL Group\",\"companyRole\":\"Senior Developer\",\"photoUrl\":\"https://cdn.otus.ru/media/public/15/47/15478133bb014fb0a4aeb2687c6c9c76.jpg\",\"description\":\"Аспирант кафедры \\\"Системы обработки информации и управления\\\" в МГТУ им. Н.Э. Баумана\\r\\n\\r\\nИмеет более 6 лет опыта разработки на платформе .NET, занимается разработкой в области систем автоматизации продаж с 2016 года. \\r\\nСпециализируется на внедрении решений на базе платформы Microsoft Dynamics, консультирует системных интеграторов по вопросам внедрения корпоративных систем на базе решений Microsoft.\\r\\nВ своей профессиональной карьере также работал в Российском офисе компании работал в Microsoft над продуктом Bing, где занимался разработкой системы сравнения релевантности поисковой выдачи с конкурирующими решениями.\",\"years\":5,\"lessonsCount\":197,\"studentsCount\":2747,\"courses\":[\"Инфраструктура высоконагруженных систем\",\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\",\"NoSQL\",\"Базы данных\",\"C# Developer. Advanced\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":1752,\"fullName\":\"Роман Приходько\",\"company\":\"Ozon\",\"companyRole\":\"Senior SDET\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9a/93/9a93e389c2f14d63ae66f99d01076b37.jpg\",\"description\":\"Кандидат технических наук\\r\\n\\r\\nБолее 14 лет в промышленной разработке (C# dev \u0026 SDET) \\r\\nБолее 10 лет опыта преподавания в ВУЗах\\r\\n\\r\\nБыл отмечен благодарностью губернатора г. Севастополя за воспитание и обучение стобалльника по математике (2024 г.)\\r\\n\\r\\nСертифицированный Microsoft специалист по направлениям:\\r\\n- Язык программирования C#\\r\\n- Разработка Asp.Net MVC приложений\\r\\n- Программирование в HTML5 с Javascript и CSS\\r\\n\\r\\nОбразование:\\r\\nОдесский национальный университет имени И.И. Мечникова, специальность - математика\",\"years\":6,\"lessonsCount\":246,\"studentsCount\":2083,\"courses\":[\"C# Developer. Professional\",\"C# ASP.NET Core разработчик\",\"C# Developer. Basic\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"}]},{\"desc\":null,\"header\":\"\u003ch2\u003eПрошедшие мероприятия\u003c/h2\u003e\",\"id\":6486,\"type\":\"SPECIALIZATION_PAST_WEBINARS\",\"events\":[{\"id\":1659,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/ztKzIWHEk3M/0.jpg\",\"eventTitle\":\"Классы как основа С#\",\"recordLink\":\"https://www.youtube.com/embed/ztKzIWHEk3M\",\"teacher\":{\"fullName\":\"Эдгар Пилипсон\",\"photoUrl\":\"https://cdn.otus.ru/media/public/db/ac/dbac30f367ab438b9ebb3d4cf7a56c9b.png\"}},{\"id\":1660,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/pjZZafWpyS8/0.jpg\",\"eventTitle\":\"Demo Day онлайн-курса «C# Developer. Basic»\",\"recordLink\":\"https://www.youtube.com/embed/pjZZafWpyS8\",\"teacher\":{\"fullName\":\"Алексей Ягур\",\"photoUrl\":\"https://cdn.otus.ru/media/public/cf/53/cf53417e8938414790ba770641062316.jpg\"}}]},{\"id\":6487,\"type\":\"EMPLOYEE_REQUEST\"},{\"title\":\"Отзывы\",\"id\":6488,\"type\":\"SPECIALIZATION_REVIEW\",\"reviews\":[{\"id\":3660,\"dateCreated\":\"2026-03-01T14:32:31+00:00\",\"text\":\"Очень давно мечтала повысить свою квалификацию и пройти курс по разработке. Среди множества образовательных платформ долго сомневалась, какую выбрать, пока наконец не остановилась на «Отус». Ни разу не пожалела!\\r\\n\\r\\nЗанятия всегда были интересными, задания порой непростые, однако на помощь приходили опытные преподаватели, внимательные менторы и даже однокурсники. Особенно понравилось большое количество практических занятий и четкий контроль выполнения домашних работ. Видно было, что организаторы курса и преподаватели искренне стремятся научить студентов всему необходимому, и это ценится особенно высоко.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Анастасия Иващенко\",\"socials\":[]},\"name\":\"Анастасия\"},{\"id\":3368,\"dateCreated\":\"2025-10-01T08:29:19+00:00\",\"text\":\"Работаю старшим инженером технической поддержки\\r\\nХочу развиваться в рамках компании в которой работаю с дальнейшим переходом на позицию разработчика. Курс посоветовал мой коллега\\r\\nОтличная подача материала, интересные задачи\\r\\nОбучение мне дало понимание того, что разработка мне действительно интересна. Так же, как я отвечал ранее - я планирую и дальше работать в текущей компании, но уже на другой позиции\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Денис Никитич\",\"socials\":[{\"id\":331795,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Денис Никитич\"},{\"id\":3366,\"dateCreated\":\"2025-10-01T08:27:48+00:00\",\"text\":\"До обучения в Отус я занимался созданием сайтов, и настройкой рекламы.\\r\\nКурс выбрал т.к. хочу расширить свои знания в разработке ПО с помощью C#\\r\\nМне понравился формат обучения, доступность материалов, а также отзывчивость преподавателей.\\r\\nПока в компанию мечты я не устроился, но я очень расширил свой кругозор и область знаний.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Кирилл Стариков\",\"socials\":[]},\"name\":\"Кирилл Стариков\"},{\"id\":3337,\"dateCreated\":\"2025-09-18T07:23:18+00:00\",\"text\":\"Пошел на курс, чтобы систематизировать знания по c#. Понравилась форма обучения и обратная связь от преподавателей. Обучение дало мне возможность решить ряд рабочих задач, которые до этого было решить значительно труднее. Не хватило библиотеки с материалами, книгами, статьями и модуля работы с web и desktop, хотя бы на базовом уровне.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Алексей Кулаков\",\"socials\":[{\"id\":363532,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Алексей Кулаков\"},{\"id\":3225,\"dateCreated\":\"2025-07-24T08:57:23+00:00\",\"text\":\"Курс не легкий, не a+b=c\\r\\nПоэтому рекомендую курс, но с оговоркой, что там требуют и даже иногда вызывают к доске ))\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Никита Изотов\",\"socials\":[]},\"name\":\"Никита Изотов\"},{\"id\":3226,\"dateCreated\":\"2025-07-23T08:58:05+00:00\",\"text\":\"Конкретно по обучению на этом курсе вопросов нет. Все качественно\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Загир Валитов\",\"socials\":[{\"id\":294993,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Загир Валитов\"},{\"id\":1956,\"dateCreated\":\"2023-10-31T22:03:38+00:00\",\"text\":\"$37\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Сергей Жданов\",\"socials\":[]},\"name\":\"Сергей\"},{\"id\":1782,\"dateCreated\":\"2023-05-30T16:13:13+00:00\",\"text\":\"$38\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Николай Скурков\",\"socials\":[{\"id\":189634,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Николай Скурков\"}]},{\"header\":\"\u003ch2\u003eДиплом о профессиональной переподготовке\u003c/h2\u003e\",\"desc\":\"\u003cdiv\u003eOTUS осуществляет лицензированную образовательную деятельность. \u0026nbsp;\u003c/div\u003e\\n\u003cdiv\u003eВы получите сертификат о прохождении обучения, а также можете получить удостоверение о повышении квалификации.\u003c/div\u003e\",\"sideDesc\":\"\u003ch2\u003eПосле обучения:\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli class=\\\"list_item\\\"\u003e\\n\u003cp class=\\\"\\\"\u003eУдостоверение о повышении квалификации: если вы успешно защитили выпускной проект и готовы предоставить копию документа о высшем или среднем профессиональном образовании\u003c/p\u003e\\n\u003c/li\u003e\\n\u003cli class=\\\"list_item\\\"\u003e\\n\u003cp class=\\\"\\\"\u003eДоступ к учебным материалам курса\u003c/p\u003e\\n\u003c/li\u003e\\n\u003cli class=\\\"list_item\\\"\u003e\\n\u003cp class=\\\"\\\"\u003eВаш личный проект, который поможет проходить собеседования\u003c/p\u003e\\n\u003c/li\u003e\\n\u003c/ul\u003e\",\"id\":9306,\"type\":\"SPECIALIZATION_CERTIFICATE\"},{\"id\":13870,\"type\":\"PRICE_INFORMATION\",\"isEnableInstallmentPercentageFeature\":true,\"installmentInfo\":{\"full\":6666.67,\"discount\":0,\"isMaxDiscount\":false,\"discountPercent\":0}},{\"id\":9308,\"type\":\"SPECIALIZATION_FAQ\",\"items\":[{\"name\":146,\"title\":\"Что понадобится для обучения?\",\"description\":\"Программа предусмотрена для новичков и дает все необходимые базовые знания. Поэтому для занятий вам понадобится только компьютер.\"},{\"name\":147,\"title\":\"Что, если в середине курса я не смогу продолжать обучение?\",\"description\":\"У вас есть право одного бесплатного трансфера в другую группу.\"},{\"name\":148,\"title\":\"Обязательно ли защищать все проектные работы?\",\"description\":\"Для получения диплома о переквалификации необходимо сдать проекты. В остальном — это часть по вашему желанию. Кроме того, проекты не обязательно защищать при аудитории, а можно сдать в чате с преподавателем.\"},{\"name\":149,\"title\":\"Я могу вернуть деньги?\",\"description\":\"Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.\"}]}],\"theme\":\"$39\",\"button\":{\"nextAttempt\":null,\"assessmentId\":null,\"state\":\"course_without_test_request_required\",\"userCourseId\":null,\"courseTitle\":\"C# Developer. Basic\",\"courseSlug\":\"c-sharp-basic\",\"groupId\":3780,\"showFastbuyButton\":true},\"structuredData\":{\"@context\":\"http://schema.org\",\"@type\":\"Course\",\"name\":\"C#-разработчик. Базовый уровень\",\"url\":\"https://otus.ru\",\"logo\":\"https://otus.ru/__new_static__/img/meta-image.png\",\"sameAs\":[\"https://vk.com/otusru\",\"https://t.me/Otusjava\"],\"description\":\"Курс рассчитан на людей без опыта в IT, которые хотят освоить программирование на одном из самых популярных языков С#. Вы пройдете путь от изучения синтаксиса C# до разработки своего первого десктопного приложения.\\nНа курсе вы:- научитесь …\",\"provider\":{\"@type\":\"Organization\",\"name\":\"OTUS\",\"sameAs\":\"https://otus.ru\"},\"image\":\"https://otus.ru/__new_static__/img/meta-image.png\",\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"4.7\",\"ratingCount\":\"150\"},\"offers\":{\"@type\":\"Offer\",\"priceCurrency\":\"RUB\",\"price\":80000,\"availability\":\"https://schema.org/InStock\",\"url\":\"https://otus.ru/lessons/c-sharp-basic\"},\"hasCourseInstance\":{\"@type\":\"CourseInstance\",\"name\":\"C#-разработчик. Базовый уровень (Онлайн)\",\"courseMode\":\"Online\",\"startDate\":\"2026-04-29\",\"endDate\":\"2026-12-10\",\"duration\":\"P6M\"}}}}]}]\n"])</script><style data-styled="" data-styled-version="5.3.10"></style></body></html><style data-styled="" data-styled-version="5.3.10"></style>