تمرین برنامهنویسی با کدبزن، از حل مسئله تا ساخت پروژه
تا وقتی مدرس پای تخته است، معمولاً میدانیم قدم بعدی چیست. او سؤال را خوانده، مثال مناسبی انتخاب کرده و حتی جای مکث کردن را هم بلد است. اما عصر همان روز که لپتاپ را باز میکنیم، دیگر کسی نیست بگوید «حالا این را امتحان کن». چند دقیقه بین ویدیوها میگردیم و گاهی دست آخر درس بعدی را پخش میکنیم. آنچه در این فاصله کم داریم، اغلب فرصتی است که خودمان اولین تصمیم را بگیریم.
فرض کنید جمعه با دو دوست به گردش رفتهاید. یک نفر پول صبحانه را داده، دیگری بلیتها را خریده و شما کرایه را حساب کردهاید. شب در گروه میپرسند «بالاخره سهم هر کس چقدر شد؟» احتمالاً اولین بار با ماشینحساب جواب میدهید. اما اگر این قرار هر هفته تکرار شود، شاید دلتان بخواهد ابزاری داشته باشید که حساب را برایتان مرتب کند. همین خواستهٔ معمولی میتواند به تمرین برنامهنویسی جهت بدهد.
تمرین برنامهنویسی چه چیزی به یادگیری اضافه میکند؟
وقتی کسی حساب سفر را برایمان توضیح میدهد، بهراحتی سر تکان میدهیم. وقتی خودمان مسئول حساب میشویم، تازه جزئیات به چشم میآیند. بلیت نفر سوم را چه کسی خریده بود؟ کسی که فقط برای صبحانه آمده، باید در کرایهٔ برگشت هم شریک باشد؟ تمرین این فرصت را میدهد که تصمیمهای پنهان در یک مثال ساده را ببینیم. حتی پیش از نوشتن اولین خط، دربارهٔ کاری که میخواهیم انجام دهیم چیز تازهای فهمیدهایم.
برای شروع میشود فقط دربارهٔ صبحانه تصمیم گرفت. سه نفر غذایی با قیمت یکسان خوردهاند و قرار است هزینه را مساوی تقسیم کنند. چنین تمرینی پایان روشنی دارد. وقتی سهم هر نفر را دیدید و توانستید برای دوستانتان توضیح دهید عدد از کجا آمده، کار آن روز تمام است. باقی ماجرای سفر میتواند تا جلسهٔ بعد صبر کند.
وقتی میدانیم باید تمرین کنیم، اما سؤال پیدا نمیکنیم
پیدا کردن موضوع خودش گاهی تمام وقت آزاد روز را میگیرد. یک طرف ایدهای مثل ساخت فروشگاه اینترنتی است که معلوم نیست از کجایش باید شروع کرد. طرف دیگر مثالی است که جوابش را همین حالا از روی ویدیو به یاد داریم. برای این فاصله، مجموعهای از سؤالهای آماده به کار میآید. در بخش تمرینهای برنامهنویسی کدبزن میتوانید سراغ سؤالهای مقدماتی بروید و یکی را که برایتان قابل فهم است انتخاب کنید.
یک معیار خوب برای انتخاب این است که بتوانید سؤال را برای کسی که برنامهنویسی بلد نیست تعریف کنید. در مورد صبحانه کافی است بگویید «میخواهم مبلغی را بین سه نفر تقسیم کنم». اگر خواندن خود سؤال از حل کردنش بیشتر انرژی میگیرد، آن را برای بعد نگه دارید. در یک روز شلوغ، سؤالی که با علاقه تا آخر دنبالش میکنید ارزش بیشتری دارد تا مسئلهای که فقط عنوان چشمگیری دارد.
بعد از اولین تلاش، خواندن راه دیگران هم مزهٔ دیگری پیدا میکند. حالا میدانید خودتان کجا مکث کردید و دوست دارید ببینید نفر بعد همان تصمیم را چطور گرفته است. شاید کسی برای توضیح مسئله از مثالی استفاده کرده باشد که موضوع را برایتان روشنتر کند. آن نکته را به زبان خودتان یادداشت کنید تا دفعهٔ بعد فقط تصویری مبهم از یک جواب آشنا در خاطرتان نماند.
تمرین آسان را چه وقت کنار بگذاریم؟
بعضی سؤالها آنقدر آشنا هستند که هنوز جملهٔ آخرشان را نخواندهاید و جواب در ذهنتان حاضر است. حل کردن یکی از آنها در شروع جلسه میتواند خوشایند باشد، بهخصوص روزی که خستهاید. اما اگر چند روز پیاپی فقط همان سؤال را انتخاب میکنید، یک جزئیاتش را عوض کنید. در مثال صبحانه، این بار تصور کنید دوستی مهمان شماست. هنوز با همان حساب آشنا سروکار دارید، ولی باید دربارهٔ تعداد کسانی که پول میدهند دوباره فکر کنید.
از آن طرف، بعضی تغییرها اندازهٔ کار را ناگهان چند برابر میکنند. اگر همین امروز بخواهید حساب یک سفر چندروزه با چند خانواده را تحویل دهید، احتمال دارد وسط کار فراموش کنید اصلاً برای یاد گرفتن چه چیزی آمده بودید. اندازهٔ مناسب تمرین را از تجربهٔ خودتان پیدا کنید. سؤال خوب معمولاً یک جای آشنا برای شروع دارد و یک نکتهٔ تازه که واقعاً کنجکاوید جوابش را بدانید.

چطور فاصلهٔ بین تماشای درس و دستبهکار شدن را کم کنیم؟
گاهی مسئله را خوب انتخاب کردهاید، اما هنوز برای شروع به یک همراه نیاز دارید. مثلاً میدانید آخر کار باید مبلغی روی صفحه ببینید، ولی یادتان نیست چطور از کاربر چیزی بپرسید. برگشتن به ابتدای یک دورهٔ طولانی برای پیدا کردن همین نکته میتواند دلسردکننده باشد. وقتی سؤال مشخصی دارید، یک درس کوتاه که اجازه بدهد همانجا چیزی بنویسید به کارتان میآید.
در درسهای تعاملی کدبزن میتوانید توضیح را بخوانید و همان موقع آموختهتان را امتحان کنید. برای اینکه درس به مسئلهٔ خودتان مربوط بماند، یک سؤال همراه داشته باشید. مثلاً «بعد از این درس میتوانم کاری کنم که برنامه بهجای یک مبلغ ثابت، هزینهٔ صبحانهٔ امروز را از من بپرسد؟» با این روش از قبل میدانید کجای درس ارزش مکث دارد و چه زمانی میتوانید به کار خودتان برگردید.
گاهی هم کل مانع، یک کلمه است. فرض کنید در توضیح درس نوشتهاند «ورودی» و نمیدانید منظور همان عددی است که باید بنویسید یا جوابی که قرار است ببینید. اگر این تفاوت روشن نباشد، حتی یک توضیح ساده هم دشوار به نظر میرسد. در چنین لحظهای واژهنامهٔ برنامهنویسی کدبزن به کار میآید. معنی واژه را بخوانید و بعد به مثال برگردید. مبلغ صبحانه را شما به برنامه میدهید و سهم هر نفر را برنامه به شما نشان میدهد.
وقتی برای امتحان یک ایده فقط چند دقیقه وقت داریم
شاید ظهر سر کار به فکرتان برسد که حساب صبحانهٔ دونفره را هم امتحان کنید. تا خانه چند ساعت فاصله دارید و روی کامپیوتر محل کار هم ابزار شخصیتان نصب نیست. اگر یک مرورگر در دسترس دارید، محیط اجرای آنلاین کد در کدبزن به شما امکان میدهد همان مثال کوتاه را بنویسید و نتیجه را ببینید. گاهی همین فاصلهٔ کم بین به ذهن رسیدن یک سؤال و دیدن جوابش، اشتیاق ادامه دادن را زنده نگه میدارد.
برای چنین فرصتی یک کار کوچک انتخاب کنید. مثلاً ببینید آیا با عوض شدن تعداد دوستان، سهم هر نفر همانقدر میشود که روی کاغذ حساب کردهاید. وقتی جواب را دیدید، یک جمله دربارهاش بنویسید. این جمله عصر که فرصت بیشتری دارید سرنخ خوبی است. دیگر لازم نیست چند دقیقهٔ اول را صرف به یاد آوردن این کنید که ظهر چه چیزی توی ذهنتان بود.
برنامهٔ تمرین در یک هفتهٔ واقعی چه شکلی دارد؟
اگر شنبه پرانرژی باشید، نوشتن برنامهای برای هفت شب هفته آسان است. اما سهشنبه شاید دیر به خانه برسید و پنجشنبه هم مهمان داشته باشید. بهتر است از همان ابتدا برای دو جور روز جا بگذارید. در روز خلوت میتوانید یک سؤال تازه انتخاب کنید و با حوصله راه خودتان را پیدا کنید. در روز شلوغ شاید فرصت فقط در حد خواندن یادداشت دیروز و امتحان کردن یک تغییر باشد.
برای نمونه، شنبه سهم صبحانه را حساب کنید. دوشنبه ببینید اگر یک نفر مهمان جمع باشد، دوستانش از قبل چه توافقی باید بکنند. چهارشنبه از کسی که آن روز همراهتان بوده بخواهید مبلغ واقعی را بگوید و نتیجه را با هم ببینید. این سه نوبت ادامهٔ یک گفتوگو هستند. هر بار که برمیگردید، دلیل مشخصی دارید که همان کار نیمهتمام را دوباره باز کنید.
بعد از چند روز وقفه از کجا ادامه بدهیم؟
گاهی هفته آنطور که انتظار داشتید پیش نمیرود. وقتی بعد از چند روز فایل قبلی را باز میکنید، ممکن است حتی یادتان نیاید آخرین بار چرا تعداد نفرات را عوض کردید. وسوسهانگیز است که همهچیز را ببندید و دوباره از اولین ویدیو شروع کنید. پیش از این کار، آخرین چیزی را که ساختهاید یک بار اجرا کنید. دیدن همان پرسش آشنای «هزینهٔ صبحانه چقدر شد؟» گاهی برای به یاد آوردن ماجرا کافی است.
برای آسانتر کردن بازگشت، آخر هر جلسه برای خودتان یک یادداشت واقعی بگذارید. جملهٔ «دفعهٔ بعد ادامه بدهم» سرنخ چندانی ندارد. بنویسید «امروز سهم سه نفر درست درآمد. دفعهٔ بعد میخواهم ببینم اگر مهمان داشته باشیم چه میشود.» حالا حتی پس از یک هفته، اولین قدم از قبل معلوم است. مجبور نیستید بابت روزهایی که فرصت نداشتید، یک روز کامل را صرف جبران کنید.

اگر وسط تمرین گیر کردیم چه کنیم؟
فرض کنید عددی که روی صفحه دیدهاید با حساب دوستتان فرق دارد. پیش از اینکه دوباره دنبال آموزش بگردید، کمی از صفحه فاصله بگیرید و خود اختلاف را تعریف کنید. ممکن است شما هزینهٔ سه صبحانه را تقسیم کرده باشید و دوستتان پول انعام را هم حساب کرده باشد. اینجا سؤال خوبی پیدا کردهاید که اصلاً به زبان برنامهنویسی وابسته نیست. قرار بوده برنامه دقیقاً کدام هزینه را حساب کند؟
اگر هنوز سردرگم هستید، از یک نفر راهنمایی کوچکی بخواهید. گفتن «هیچچیز را نفهمیدم» کار طرف مقابل را هم سخت میکند. میتوانید بگویید «وقتی همه یک غذا سفارش دادهاند، حسابم درست است. نمیدانم وقتی یکی فقط چای خورده، باید از کجا شروع کنم.» حالا ممکن است دوستتان فقط یک سؤال بپرسد و شما خودتان راه بعدی را پیدا کنید. همین تجربه دفعهٔ بعد کمک میکند زودتر بفهمید در چه بخشی به همراهی نیاز دارید.
از کجا بفهمیم تمرینها اثر داشتهاند؟
آخر هفته ممکن است حس کنید بیشتر وقتتان صرف پرسیدن و دوباره خواندن شده است. برای دیدن تغییری که اتفاق افتاده، سراغ اولین یادداشتتان بروید. شنبه تنها چیزی که نوشته بودید «حساب گردش را انجام بدهم» بود. حالا میتوانید به کسی که تازه به جمع پیوسته توضیح دهید کدام هزینهها مشترک بوده و برای حساب کردن سهمش چه چیزی را باید بداند. این دقت تازه بخشی از مهارتی است که دارید میسازید.
گاهی دلتان میخواهد بیرون از مثال آشنای خودتان هم ببینید چه چیزی در خاطرتان مانده است. یکی از آزمونهای برنامهنویسی کدبزن را متناسب با موضوعی که خواندهاید انتخاب کنید. پس از پاسخ دادن، به سؤالی برگردید که بین دو گزینهاش مردد بودید. اگر بتوانید دلیل تردید را برای خودتان روشن کنید، برای جلسهٔ بعد موضوعی پیدا کردهاید که واقعاً ارزش مرور کردن دارد.
اولین پروژه از کدام تمرین بیرون میآید؟
یک جمعه احتمالاً دوستی در گروه مینویسد «همان چیزی که دفعهٔ قبل باهاش حساب کردی هنوز داری؟» این درخواست معیار خوبی برای انتخاب اولین پروژه است. کسی کاری دارد که قبلاً یک بار انجام دادهاید و حالا میخواهد دوباره از نتیجه استفاده کند. نسخهٔ اول میتواند به همان صبحانهٔ سهنفره محدود باشد. اسم روشنی برایش انتخاب کنید و جایی نگهش دارید که قرار بعدی پیدایش کنید.
بگذارید این بار دوستتان خودش با آن کار کند. شاید اولین سؤالش این باشد که مبلغ را باید به ریال وارد کند یا تومان. برای شما که برنامه را نوشتهاید جواب بدیهی بوده، اما او اولین بار است که صفحه را میبیند. اضافه کردن کلمهٔ «تومان» کنار مبلغ، تغییری کوچک و بهدردبخور است. حالا تمرین بعدیتان را یک نیاز واقعی تعیین کرده و میتوانید همان روز نتیجهاش را از کسی که درخواستش را داشته بشنوید.
در قرار بعدی از دوستانتان بپرسید کدام قسمت حساب برایشان گنگ بود. شاید بخواهند علاوه بر سهم هر نفر، جمع هزینهها را هم یکجا ببینند. پیشنهادها را یادداشت کنید و یکی را برای بار بعد انتخاب کنید. آن وقت میتوانید هر بار که دور هم جمع میشوید، نتیجهٔ کارتان را با همان آدمها بسنجید.
وقتی با یک دوست تمرین میکنیم
برای تمرین دونفره لازم نیست هر دو نفر تجربهٔ یکسانی داشته باشند. میتوانید نقشها را عوض کنید. یک بار شما صاحب مسئله باشید و تعریف کنید که در گردش چه اتفاقی افتاده، بار دیگر دوستتان دربارهٔ یک خرید مشترک مثال بزند. طرف مقابل اجازه دارد پیش از شروع هر سؤالی بپرسد. معمولاً همین پرسشها چیزهایی را روشن میکنند که گوینده بدیهی فرض کرده و به زبان نیاورده است.
برای کسی که تنها یاد میگیرد، ضبط یک پیام صوتی کوتاه هم میتواند چنین کاری بکند. نتیجه را طوری تعریف کنید که انگار دوستتان در گروه منتظر شنیدن حساب است. اگر وسط توضیح مکث کردید و گفتید «صبر کن، این یکی را چطور حساب کردم؟» همانجا موضوع جلسهٔ بعد را پیدا کردهاید. پیام را برای خودتان نگه دارید و چند روز بعد دوباره گوش کنید.
برای شروع امروز به همان یک سؤال فکر کنید که دوست دارید جوابش را ببینید. ممکن است حساب صبحانه باشد، شاید هم پیدا کردن کتابی که به دوستی امانت دادهاید. اگر موضوع برای خودتان معنی داشته باشد، حتی وقتی جواب اشتباه از آب درمیآید، دلیلی دارید که فردا برگردید و یک بار دیگر امتحان کنید.
نظرات
0 دیدگاه
اشتراک گذاری مطلب
جدیدترین نوشته ها
دوره های آموزشی
تخفیف!
آموزش ساخت برنامه اندروید پروژه محور، ساخت اپلیکیشن برای اندروید
قیمت اصلی 3,000,000 تومان بود.2,700,000 تومانقیمت فعلی 2,700,000 تومان است.
تخفیف!
دوره متخصص اندروید | پکیج کامل آموزش برنامه نویسی اندروید
قیمت اصلی 11,000,000 تومان بود.8,800,000 تومانقیمت فعلی 8,800,000 تومان است.
تخفیف!
آموزش ساخت اپلیکیشن فروشگاهی اندروید دیجی کالا + سورس
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
تخفیف!
دوره آموزش کاتلین پروژه محور | آموزش Kotlin از صفر تا صد
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
تخفیف!
دوره متخصص فلاتر (Flutter) | دوره آموزش فلاتر پروژه محور از مبتدی تا پیشرفته
قیمت اصلی 6,000,000 تومان بود.5,400,000 تومانقیمت فعلی 5,400,000 تومان است.
تخفیف!
دوره جامع آموزش طراحی رابط کاربری (UI) و تجربه کاربری (UX) در اندروید
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
تخفیف!
دوره آموزش Asp.Net Core صفر تا صد، یادگیری ای اس پی دات نت کور، آموزش .net core
قیمت اصلی 8,000,000 تومان بود.7,200,000 تومانقیمت فعلی 7,200,000 تومان است.
تخفیف!
آموزش ساخت اپلیکیشن اندروید فیلیمو همراه با سورس کد مشابه فیلیمو
قیمت اصلی 11,000,000 تومان بود.990,000 تومانقیمت فعلی 990,000 تومان است.
تخفیف!
دوره جامع آموزش زبان برنامه نویسی سی شارپ #C، آموزش سی شارپ پروژه محور
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
تخفیف!
آموزش معماری mvp با rxjava در اندروید
قیمت اصلی 2,000,000 تومان بود.1,800,000 تومانقیمت فعلی 1,800,000 تومان است.
تخفیف!
دوره ساخت اپلیکیشن فروشگاهی اندروید با معماری MVVM و کاتلین
قیمت اصلی 5,500,000 تومان بود.4,950,000 تومانقیمت فعلی 4,950,000 تومان است.

















