با عشق از Stepik: پلت فرم آموزشی Hyperskill

می‌خواهم با شما صحبت کنم که چرا لوله‌کشی را بیشتر از اینکه پایان‌نامه‌ای درباره آن بنویسیم، در مورد روش‌های مختلف آموزش برنامه‌نویسی، و اینکه چگونه می‌خواهیم یکی از آنها را در محصول جدید Hyperskill به کار ببریم، صحبت کنم.

اگر مقدمه های طولانی را دوست ندارید، مستقیماً به پاراگراف مربوط به برنامه نویسی بروید. اما لذت کمتری خواهد داشت.

با عشق از Stepik: پلت فرم آموزشی Hyperskill

فریاد لیریک

بیایید یک خانم جوان ماشا را تصور کنیم. امروز ماشا قرار بود میوه بشوید و فیلمی را با آرامش تماشا کند، اما بدشانسی: ناگهان متوجه شد که سینک آشپزخانه مسدود شده است. هنوز مشخص نیست با این چه باید کرد. شما می توانید این موضوع را به طور نامحدود به تعویق بیندازید، اما اکنون زمان آزاد وجود دارد، بنابراین ماشا تصمیم می گیرد فورا با مشکل مقابله کند. عقل سلیم دو گزینه را پیشنهاد می کند: الف) با یک لوله کش تماس بگیرید ب) خودتان آن را مدیریت کنید. خانم جوان گزینه دوم را انتخاب می کند و شروع به مطالعه دستورالعمل های YouTube می کند. به توصیه کاربر Vasya_the_plumber، ماشا به زیر سینک نگاه می‌کند و یک لوله پلاستیکی متشکل از چند قسمت را می‌بیند. دختر با احتیاط یک تکه از پایه سینک را باز می کند و چیزی پیدا نمی کند. معلوم می شود که یک قطعه پایین لوله به شدت با ماده ناشناخته مسدود شده است و حتی یک چنگال که روی میز یافت می شود نمی تواند با انسداد مقابله کند. کارشناسان اینترنت پیش بینی های ناامید کننده ای ارائه می دهند: قسمت باید تغییر کند. روی نقشه، ماشا نزدیکترین فروشگاه را پیدا می کند، تکه لوله بدبخت را با خود می برد و همان لوله را می خرد، فقط نو. به توصیه فروشنده، ماشا همچنین برای پیشگیری یک صافی جدید می گیرد. تلاش کامل شد: سینک دوباره همانطور که باید کار می کند و شخصیت اصلی آن در عین حال موارد زیر را یاد گرفته است:

  • می توانید خودتان لوله های زیر سینک را باز کرده و سفت کنید.
  • نزدیکترین فروشگاه لوله کشی در یک و نیم کیلومتری آپارتمان ماشینا است.

به احتمال زیاد ، ماشا حتی متوجه نشد که چقدر چیزهای جدیدی یاد گرفته و یاد گرفته است ، زیرا نگران راحتی خود در آینده و در عین حال تماشای فیلم و شستن سیب خود بود. دفعه بعد که مشکل مشابهی پیش می آید، دختر چندین برابر سریعتر آن را حل می کند. در واقع، ماشا فقط دنیا را به حالت معمول خود بازنگرداند. او مطالعه کرد به صورت استقرایییعنی در موارد خاص و تمرین محوریعنی با انجام کارها به جای مطالعه دقیق و پیشاپیش.

همه چیز می توانست طور دیگری رقم بخورد. فرض کنید ماشا عصر روی صندلی نشسته است و ناگهان متوجه می شود که از نظر روحی و جسمی برای گرفتگی در سینک آماده نیست. او به سرعت در یک آکادمی لوله کش ثبت نام می کند و انواع سینک ها، لوله ها و اتصالات احتمالی، طبقه بندی مشکلات لوله کشی و راه حل های ممکن برای آنها را مطالعه می کند. ماشا شب ها نمی خوابد و اصطلاحات و نام ها را حفظ می کند. شاید او حتی در حال نوشتن یک پایان نامه دکترا در مورد علم لوله نظری است، جایی که او در مورد واشرهای لاستیکی بحث می کند. سرانجام با دریافت گواهی، ماشا با افتخار به اطراف آشپزخانه با اطمینان کامل نگاه می کند که اکنون حتی کوچکترین مشکل سینک با یک ضربه انگشت حل می شود. در این سناریو، دختر مطالعه کرد به صورت قیاسی، از عام به خاص حرکت کرد و بیشتر روی آن متمرکز شد تئوری.

بنابراین کدام رویکرد بهترین است؟ در مورد سینک و گرفتگی - اولین و به این دلایل:

  1. اگر فقط یک سینک در حال کار مهم است، کافی است فقط بدانید که چه چیزی به این منطقه خاص مربوط می شود. وقتی ماشا متوجه می شود که او فاقد دانش است، قطعا راهی برای یادگیری بیشتر پیدا می کند.
  2. دانش دایره المعارفی ممکن است در یک موقعیت واقعی فعال نشود زیرا این عادت ایجاد نشده است. برای یادگیری توالی اعمال، منطقی است که در مورد آنها نخوانیم، بلکه آنها را انجام دهیم.

بیایید ماشا بیچاره را به حال خود رها کنیم و به روند یادگیری ادامه دهیم.

برنامه نویسی: یادگیری یا انجام دادن؟

ما عادت داریم فکر کنیم که برای توسعه و تبدیل شدن به یک متخصص در یک رشته ناآشنا، ابتدا باید به دانشگاه برویم یا حداقل در دوره ها ثبت نام کنیم. ما مرتباً به آنچه آنها به ما می گویند گوش می دهیم و وظایف را انجام می دهیم. وقتی دیپلم یا گواهینامه مورد علاقه را در دست داریم، فوراً گم می‌شویم، زیرا هنوز نمی‌دانیم که چرا به اطلاعات زیادی نیاز داریم و به طور خاص چگونه آن را اعمال کنیم. اگر برنامه های بعدی شما نوشتن مقالات علمی و سفر با آنها به کنفرانس ها باشد، مشکلی نیست. در غیر این صورت، تلاش برای مهارت‌ها، یعنی انجام دادن و انجام دوباره کارهای خاص، تلاش و اشتباه کردن ارزش دارد تا برای مدت طولانی به یاد داشته باشید که چه کاری بهتر است انجام نشود.

یکی از زمینه‌هایی که در آن «دست سخت» یا «چشم الماس» با چشم‌اندازی گسترده همراه است، برنامه‌نویسی است. اگر با توسعه دهندگان باتجربه صحبت کنید، داستان های شجاعانه ای خواهید شنید که در آن فردی از سنین جوانی ریاضیات/فیزیک/تدریس خوانده است و سپس خسته شده و به باطن نقل مکان کرده است. برنامه نویسانی بدون تحصیلات عالی هم خواهند بود! اول از همه، آنچه در یک توسعه دهنده ارزش دارد گواهی یا مدرک نیست، بلکه کمیت و کیفیت برنامه ها، اسکریپت ها و وب سایت های نوشته شده است.

"اما صبر کن!"، شما اعتراض می کنید، "زیبا به نظر می رسد - آن را بردارید و انجامش دهید!" اگر قبلا برنامه نویسی نکرده باشم نمی توانم به راحتی برای خودم برنامه بنویسم! برای من مهم است که بفهمم کجا باید بنویسم، چگونه اساساً در یک زبان برنامه نویسی با یک کامپایلر صحبت کنم. مثل پیدا کردن شماره تلفن یک لوله کش در گوگل نیست.»

حقیقت تلخی هم در این مورد نهفته است. یک جنبه ناآشنا به دیگری منتهی می شود که به نوبه خود منجر به سومی می شود و به زودی این روند به نمایش شعبده باز تبدیل می شود که همچنان دستمال های بسته را بیرون می کشد و نمی تواند آنها را از کلاه بالایی بیرون بیاورد. این روند، صادقانه بگویم، ناخوشایند است؛ با پنجمین "دستمال" به نظر می رسد که عمق جهل به سنگر ماریانا نزدیک است. یک جایگزین برای این، همان سخنرانی‌هایی درباره 5 نوع متغیر، 10 نوع حلقه و 3 کتابخانه بالقوه مفید است. با ناراحتی.

فوق مهارت: ساختیم، ساختیم و در نهایت ساختیم

ما مدت زیادی به این مشکل فکر کردیم. تاریخ آخرین پست در وبلاگ ما گویای مدتی است که فکر می کنیم. پس از تمام بحث ها و تلاش ها برای ادغام رویکرد جدید در استپیک، ما به یک سایت متفاوت رسیدیم. ممکن است قبلاً در مورد آن به عنوان بخشی از آکادمی JetBrains شنیده باشید. ما آن را Hyperskill نامیدیم که در یادگیری مبتنی بر پروژه ساخته شده است، پایگاه دانش جاوا را به آن پیوند دادیم و از پشتیبانی تیم EduTools استفاده کردیم. و اکنون جزئیات بیشتر

با عشق از Stepik: پلت فرم آموزشی Hyperskill

هدف مشخص ما یک "منو" از پروژه ها را ارائه می دهیم، به عنوان مثال. برنامه هایی که می توانید با کمک ما بنویسید. از جمله آنها می توان به tic-tac-toe، دستیار شخصی، بلاک چین، موتور جستجو و غیره اشاره کرد. پروژه ها شامل 5-6 مرحله است. نتیجه هر مرحله یک برنامه تمام شده است. "پس چرا ما به مراحل دیگر نیاز داریم اگر همه چیز در مرحله اول درست شده است؟" ممنون بابت سوال با هر مرحله برنامه کاربردی تر یا سریعتر می شود. در ابتدا کد 10 خط می گیرد، اما در نهایت ممکن است حتی به 500 هم نرسد.

کمی تئوری. بدون دانستن یک کلمه در مورد برنامه نویسی، نمی توان نشست و حتی Hello World را نوشت. بنابراین، در هر مرحله از پروژه، می بینید که باید به چه مبانی نظری تسلط داشته باشید و از همه مهمتر از کجا می توانید آنها را بدست آورید. اصول اولیه نیز در Hyperskill در بخش "نقشه دانش" قرار دارد. اگر برای مرحله اول پروژه، دانش آموزان مجبور به خواندن داده ها از یک فایل نباشند، ممکن است نتوانند ادامه دهند. آنها بعداً برای توسعه عمومی آن را یاد خواهند گرفت یا در مرحله بعد به آن نیاز خواهند داشت.

با عشق از Stepik: پلت فرم آموزشی Hyperskill

نقشه دانش این به شما نشان می دهد که چه موضوعاتی را قبلاً مطالعه کرده اید و چگونه آنها با یکدیگر ارتباط دارند. هر تاپ ناز را باز کنید. می توانید از آن عبور کنید، اما توصیه می کنیم کارهای کوچک را انجام دهید تا مطمئن شوید که اطلاعات در ذهن شما جا می گیرد. ابتدا پلتفرم تست هایی به شما می دهد و پس از آن چند کار برنامه نویسی به شما ارائه می دهد. اگر کد کامپایل می شود و تست ها را می گذراند، آن را با راه حل مرجع مقایسه کنید، گاهی اوقات این کمک می کند تا راه بهینه تری برای پیاده سازی آن پیدا کنید. یا مطمئن شوید که راه حل شما در حال حاضر عالی است.

هیچ چیز اضافی. ما منتظر کاربران "سبز" و توسعه دهندگان با تجربه هستیم. اگر قبلاً برنامه‌هایی نوشته‌اید، مهم نیست، ما شما را مجبور نمی‌کنیم 2+2 اضافه کنید یا یک خط را دوباره برگردانید. برای رسیدن سریع به سطح مورد نظر، هنگام ثبت نام، آنچه را که قبلاً با آن آشنا هستید مشخص کنید و پروژه دشوارتری را انتخاب کنید. از دست بالا گرفتن خود نترسید: اگر اتفاقی بیفتد، همیشه می توانید به موضوع فراموش شده در نقشه دانش بازگردید.

با عشق از Stepik: پلت فرم آموزشی Hyperskill

سازها نوشتن قطعات کوچک کد در یک پنجره خاص در سایت عالی است، اما برنامه نویسی واقعی با کار در محیط توسعه شروع می شود (Iتلفیق Dتوسعه Eمحیط). برنامه نویسان با تجربه نه تنها می دانند که چگونه کد بنویسند، بلکه می دانند چگونه یک رابط گرافیکی طراحی کنند، فایل های مختلف را در یک پروژه جمع آوری کنند، از ابزارهای توسعه اضافی استفاده کنند و IDE برخی از این فرآیندها را بر عهده می گیرد. چرا زمانی که در حال یادگیری برنامه نویسی هستید این مهارت ها را یاد نمی گیرید؟ اینجاست که JetBrains به کمک می آید و نسخه ویژه IntelliJ IDEA Community Educational با افزونه EduTools از پیش نصب شده است. در چنین IDE می توانید دوره های آموزشی را بگذرانید، مشکلات حل شده را بررسی کنید و اگر چیزی را فراموش کردید به نکات پروژه نگاه کنید. اگر این اولین بار است که کلمه "پلاگین" یا "IDE" را می شنوید نگران نباشید: ما به شما می گوییم که چیست و چگونه آن را روی رایانه یا لپ تاپ خود با حداقل رنج نصب کنید. تئوری را درک کنید و سپس به IDE بروید و مرحله بعدی پروژه را همانجا تکمیل کنید.

مهلت ها هیچ کدومشون نیست! ما کی هستیم که بکوبیم و بگوییم با چه سرعتی برنامه بنویسید؟ وقتی از نوشتن کد لذت می برید و می خواهید آن را تمام کنید، امروز یا فردا آن را تمام می کنید. توسعه را برای لذت خود انجام دهید.

خطاها همه آنها را می پذیرند، بنابراین شما در یکی از مراحل پروژه، و سپس این مرحله از آزمون های خودکار عبور نمی کند. خوب، شما باید خودتان بفهمید که چه مشکلی رخ داده است. ما می‌توانیم به شما بگوییم که خطا کجاست، اما آیا این به شما یاد می‌دهد که چگونه با دقت کد بنویسید؟ نکاتی از IDEA یا یک مبحث نظری در مورد اشکالات را بخوانید، و زمانی که برنامه بالاخره کار کرد، به احتمال زیاد دوپامین زیاد طول نخواهد کشید.

یک نتیجه واضح بنابراین، شما پیش نویس اول را تکمیل کردید، بعد چه؟ از ثمره زحمات خود لذت ببرید! با دوستان خود تیک تاک بازی کنید و در عین حال به موفقیت خود ببالید. پروژه را در GitHub آپلود کنید تا آن را به کارفرمای آینده نشان دهید، خودتان توضیحی بنویسید و دانشی را که اعمال کرده اید در آنجا مشخص کنید. 4-5 پروژه پیچیده، و اکنون، یک نمونه کار کوچک برای یک توسعه دهنده مبتدی آماده است.

فرصت رشد. فرض کنید به Hyperskill نگاه می کنید و هیچ موضوع مهم یا پروژه مفیدی را در آنجا نمی بینید. به ما در مورد آن اطلاع دهید! اگر سابقه شما گسترده تر و غنی تر از نقشه دانش است، در فرم برای ما بنویسید مشارکت. تیم ما نکات و ترفندهای خود را با شما به اشتراک می گذارد، بنابراین ما خوشحال خواهیم شد که به شما کمک کنیم دانش خود را به محتوای مفیدی تبدیل کنید که برای کاربران در سنین و سطوح مختلف قابل درک باشد. شاید حتی پرداخت کنیم، اما این قطعی نیست.

خوش آمدی: hi.hyperskill.org وارد شوید، نگاه کنید، امتحان کنید، پیشنهاد دهید، تعریف کنید و انتقاد کنید. ما همچنین در حال آموزش به شما هستیم.

منبع: www.habr.com

اضافه کردن نظر