بررسی فرادرس برای یادگیری برنامه نویسی به زبان فارسی
شاید تعجب کنید که وبسایت ما که تمامی کتابها و فیلمهای آموزشی برنامه نویسی که به اشتراک میگذارد به زبان انگلیسی هستند، بیاید در مورد یادگیری برنامه نویسی از طریق آموزشهای فارسی صحبت کند. دلیل اینکه این سایت، کتابها و فیلمهای آموزش برنامه نویسی فارسی را منتشر نمیکند، مربوط به رعایت حقوق مولفان داخل کشور است و دلیل بر بی کیفیت بودن تمامی تالیفات و آموزشهای فارسی زبان نیست. در این پست هم قصد دارم که یکی از منابع یادگیری برنامه نویسی به زبان فارسی به نام فرادرس را بررسی کنم، که آیا میشود برای یادگیری برنامه نویسی روی آن حساب کرد یا نه.
چگونگه من برنامه نویسی را یاد گرفتم؟
قبلا از اینکه به بررسی وبسایت آنلاین یادگیری برنامه نویسی فرادرس بپردازم، بگذارید نحوهی شروع به یادگیری برنامه نویسی خودم (صاحب وبسایت EBooksWorld) را برای شما تعریف کنم. من چون از بچگی به ور رفتن با کامپیوتر علاقه داشتم، فکر میکردم که رشتهی تحصیلی مناسب من برای دانشگاه، کامپیوتر است تا بتوانم بدون اینکه کسی به من گیر بدهد که چرا ساعتها پای کامپیوتر نشستی و به درس و مشقت نمیرسی، شب و روز پای آن بنشنیم و کسی هم نتواند به من گیر بدهد، چرا که کامپیوتر درس و مشق من شده بود! از آن جایی که دانش آموز درس خوانی هم نبودم ولی به لطف دانشگاه آزاد! توانستم وارد رشته کامپیوتر گرایش نرم افزار شوم.
که عشق آسان نمود اول ولی افتاد مشکلها
تصورم قبل از ورود به دانشگاه این بود که از لحظهی اولی که وارد دانشگاه شوم کلی بهم برنامه نویسی یاد میدهند و میتوانم کلی برنامهی به درد بخور بنویسم و با برنامه نویسی پول پارو کنم و زندگی ام را بگذرانم و خلاصه بشوم بیل گیتس بعدی. اما خب همان طور که میدانید آواز دهل از دور خوش است! یکی دو جلسه ای که از کلاس مبانی برنامه نویسی گذشت، من همش منتظر بودم که استاد این کد هایی که سر کلاس توضیح میدهد را توی کامپیوتر بزند تا واقعا برنامه ای اجرا شه. بالاخره صبرم لبریز شد و از استاد پرسیدم که کی این کدها را توی کامپیوتر اجرا میکنید؟ استاد با خونسردی گفت که ما فقط آموزش میدیم و اجرا را خودتون میتونید بگیرید.
آستین بالا زدن برای اجرا کردن کدهای سی پلاس پلاس
از آنجایی که برای مبانی به ما سی پلاس پلاس درس میدادند، من هم آستینها را زدم بالا و گوگل کردم «دانلود سی پلاس پلاس». شاید خنده دار باشد ولی واقعا نمیدوستم این کدها را باید کجا زد و چگونه اجرا کرد. از هر استادی هم در دانشگاه میپرسیدم یا میپیچوند یا اگر هم بلد بود، من را به کلاسهای آموزشی بیرون از دانشگاه خودش که هزینههای گزافی هم طلب میکردند دعوت میکرد. بالاخره با کلی جستجو توی گوگل و شخم زدن اینترنت، نرم افزاری به نام Dev-C++ را پیدا کردم و کار خودم را راه انداختم. همچنین در همان ترم اول، آزمایشگاه کامپیوتر هم به من داده بودن که فقط دو نفر از دانشجویان آن کلاس، ترم اولی بودیم و بقیه اصطلاحا ترم بالایی بودن. جلسه اول، استاد برای محک زدن سطح سواد دانشجوها گفت یه برنامه ساده با سی پلاس پلاس بنویسید و اجرا کنید. هیچکس نتوانست! استاد هم تصمیم گرفت که به آموزش HTML و جاوا اسکریپت بپردازد. ظاهرا استاد از روی یک سری دست نوشته هایی که مربوط به زمان دانشجویی خودش بودند و به زمان اختراع WWW بر میگشتند، به آموزش HTML و جاوا اسکریپت پرداخت و دیگه خودتون حدس بزنید کیفیت آموزشش در چه حدی بود.
یادگیری از روی منابع آموزشی برنامه نویسی فارسی به صورت خود آموز
از آن زمان تصمیم گرفتم که راه خودم را از کلاسهای دانشگاه جدا کنم و خودم برم سراغ یاد گرفتن برنامه نویسی. از هر چیزی برای یادگیری استفاده میکردم. از اینترنت گرفته تا کتابهای قدیمی کتابخانه دانشگاه. از اینترنت یک سری فیلم و جزوه آموزشی برنامه نویسی به زبان فارسی پیدا میکردم. آن موقع، هنوز جسارت رفتن به سراغ منابع انگلیسی را نداشتم. عمده مشکل جزوات و فیلمهای آموزش برنامه نویسی فارسی موجود در اینترنت، قدیمی بودن، کیفیت پایین و عدم انسجام بین مطالب ارائه شده بود. از آنجایی که به برنامه نویسی وب علاقه مند شده بودم، خودم به سراغ یادگیری PHP رفتم. یه فیلم آموزشی فارسی در اینترنت پیدا کردم و کد هایی که مدرس میزد را بر اساس ایدهی خودم تغییر میدادم و مینوشتم. هیچ انسجامی بین مطالبی که تدریس میشد وجود نداشت. مثلا من نمیدانستم که ستون دیتابیس را Identity قرار دادن یعنی چی؟! بدون اینکه شی گرایی را تدریس کند حرف از شی گرایی میزد. من هم دوباره توی اینترنت درمورد شی گرایی سرچ میکردم و دست و پا شکسته از توی یه سری وبلاگ، مطالبی درباره آن پیدا میکردم. کم کم که سر نخ را پیدا کردم جسارتم برای مطالعه و دیدن مطالب انگلیسی بیشتر شد و همین مسیر را برای یادگیری سی شارپ و ASP.NET طی کردم.
اما چرا جسارت رفتن به سراغ مطالب انگلیسی را نداشتم با اینکه زبانم به قدر کافی خوب بود؟ چون من واقعا هیچ اطلاعاتی در مورد آن موضوع نداشتم. کسی که به فارسی مطالبی را توضیح میداد بیشتر با آن ارتباط بر قرار میکردم و اگر مطالب کلیدی را در اختیار من میگذاشت و اصطلاحا سر نخ را به من میداد اعتماد به نفسم برای خواندن مطالب انگلیسی بیشتر میشد.
الان هم که چندین ساله که از این قضیه گذشته و از مطالب انگلیسی برای یادگیری موضوعات استفاده میکنم، اما برای یادگیری موضوعی که هیچ پیش زمینه ای در مورد آن ندارم، ابتدا سری به منابع فارسی زبان میزنم. برای مثال اگر بخواهم پردازش تصویر یاد بگیرم، ابتدا به سراغ آموزشهای پردازش تصویر فرادرس میروم. سر فصلها را بررسی میکنم و پیش نمایش آنها را مشاهده میکنم. نظرات دانشجویانی که این دورهها را قبلا تهیه کرده اند را هم مطالعه میکنم. به نظرم فرادرس واقعا بستر خوبی برای یادگیری آنلاین ایجاد کرده است.
مزایای فیلمهای آموزشی برنامه نویسی انگلیسی زبان
قبل از اینکه به بررسی فرادرس بپردازم، اجازه بدهید که مزایای فیلمهای آموزشی برنامه نویسی انگلیسی زبان را بررسی کنم:
- بروز بودن: بله، دنیای برنامه نویسی با سرعت زیادی رو به جلو حرکت میکند و هر روز فناوری جدیدی معرفی میشود و فناوریهای قدیمی منسوخ میشوند. هنوز چند روز از انتشار جدیدترین نسخه فلان زبان برنامه نویسی یا فریمورک نگذشته که فیلمی برای آموزش قابلیتهای جدید آن منتشر میشود.
- تسلط مدرس به مبحث مورد تدریس: یکی از نقاط قوت آموزشهای زبان انگلیسی، سعی مدرس در انتقال مفاهیم است و نه ترجمهی آن. اکثر مدرسان موسسات مطرح بین المللی، افرادی با تجربه و با دانش در آن زمینه هستند.
- با کیفیت بودن: هم در زمینه سر فصلها و مطالب ارائه شده و هم از نظر کیفیت صدا و فیلم، بسیار با کیفیت هستند.
- رایگان بودن در ایران: به دلیل اینکه امکان خرید این دورهها در ایران وجود ندارد، اغلب این دورهها برای دانلود در دسترس هستند. جدا از اینکه آیا این مساله اخلاقی است یا نه، ولی به خودی خود، مزیتی برای ایرانیان حساب میشود، چون که آن موسسه محصولاتش را در ایران نمیفروشد، امکان پیگیری تخلفات کپی رایت در ایران را هم ندارد.
معایب فیلمهای آموزشی برنامه نویسی انگلیسی:
- فارسی نبودن: در این شکی وجود ندارد که اگر مطلبی به زبان مادری شما و به شکلی روان تدریس شود، آن را بهتر یاد میگیرید. تجربه نشان داده که برای یادگیری مطالبی که به انگلیسی تدریس میشوند اگر حواستان را شش دانگ جمع نکنید، ممکن است نفهمید که داستان چی شد. حال اگر مدرس از چند کلمه قلمبه سلمبه هم استفاده کند که معنایش را ندانید که دیگر هیچ. اول باید ببینید که معنای آن کلمات چیست، بعد بفهمید که مفهوم چه بود و اینجوری هدف اصلی که یادگیری موضوع است، در بین کلمات ناشناخته انگلیسی گم میشود.
- رقابت شدید در ارائه مطالب: البته به دلیل رقابت شدید در ارائه مطالب جدید، متاسفانه بعضی از مدرسان فقط مستندات آن فناوری را مطالعه کرده اند و شروع به آموزش آن میکنند و مطالبی که تدریس میکنند حاصل تجربه کار خودشان با آن فناوری نیست و فقط مستندات را نظم بخشیده و با بیان خودشان بازگو میکنند که باعث میشود کیفیت کار کمی پایین بیاید.
- در دسترس نبودن به صورت قانونی: این مورد همان طور که در مزایا به آن اشاره کردم میتواند یک مزیت باشد چون میتوانید به صورت غیر قانونی آنها را دانلود کنید. ولی اگر حتی هم به صورت قانونی در دسترس بودند نیز با این قیمت ارز، قیمت زیادی داشتند.
حالا اگر موسسه ای آمده باشد فیلمهای آموزشی برنامه نویسی تولید کرده باشد که مزایای فیلمهای انگلیسی زبان را داشته باشد و معایب آنها را نیز تا حد امکان نداشته باشد چی؟
ویژگیهای فرادرس برای یادگیری برنامه نویسی:
- فارسی بودن زبان تدریس: همان طور که گفتم فارسی بودن زبان مدرس، یک مزیت رقابتی نسبت به سایر آموزشیهای انگلیسی زبان است. البته اینکه مدرس بیاید متنی انگلیسی را به فارسی ترجمه و بیان کند اصلا خوب نیست و کل لطف فارسی بودن آموزش را زیر سوال میبرد. اینکه برای تک تک لغات تخصصی هم بیاید معادلهای فارسی بکار ببرد و از همه بدتر به انگلیسی آن هم اشاره ای نکند، خیلی بدتر است. ایجاد تعادل در استفاده از لغات معادل فارسی تخصصی که عموما پذیرفته شده اند خوب است و در آموزشهای فرادرس سعی شده که این نکات لحاظ شوند و مطالب حالت قرائت از روی متن یا ترجمه واو به واو نداشته باشد و هدف اصلی که انتقال مفاهیم آموزشی به شکلی روان است، برآورده شود.
- قیمت بسیار مناسب دوره ها: قیمتی که برای دورهها در نظر گرفته شده اند بسیار مناسب هستند. در مناسبتهای مختلف نیز تخفیفهای بسیار خوبی برای دورهها لحاظ میشوند و حتی دوره هایی نیز رایگان میشوند. بعضی از دورهها هم که به کل رایگان هستند. با قیمتی که برای دورهها ارائه میشوند، الان به سختی یک پیتزا میتوان تهیه کرد. در صورتی که شما با تهیه چند دوره برنامه نویسی، میتوانید با هزینهی خیلی کمی به درآمد زایی از طریق برنامه نویسی برسید.
- تضمین کیفیت و گارانتی بازگشت وجه: یکی از ویژگیهای خیلی خوب فرادرس این هست که در صورتی که از دوره راضی نبودید، طبق شرایط اعلامی از 70 تا 100 درصد پول پرداختی خود را میتوانید پس بگیرید. البته شرایطی برای این موضوع اعلام شده است که منطقی به نظر میرسند.
- نمایش پیش نمایش دوره پیش از تهیه آن: قابلیت خوب دیگر فرادرس این است که پیش از تهیه دوره، میتوانید بخشی از آن را به راحتی و آنلاین مشاهده کنید تا با سبک، لحن و کیفیت تدریس مدرس آشنا شوید.
- امکان مشاهده نظرات ثبت شده برای هر دوره و ثبت نظر: یکی از قابلیتهای خوبی که خرید آنلاین در اختیار مشتریان گذاشته، مشاهده نظرات سایر خریداران در مورد آن محصول است. خوشبختانه فرادرس هم این قابلیت را دارد و شما قبل از اینکه دوره ای را تهیه کنید میتوانید نظرات سایر دانشجویان را مشاهده کنید تا به کم و کیفیت دوره از زبان دانشجویان آن پی ببرید. بالاخره هیچ ماست فروشی نمیگه ماست من ترشه! ولی نظرات چندین و چند نفر که واقعا از آن دوره استفاده کرده اند، دروغ نمیگویند.
- دریافت و نمایش بدون دردسر دوره ها: دورهها تا حد امکان و با حداکثر کیفیت فشرده شده اند و به راحتی به صورت آنلاین میتوان آنها را مشاهده کرد و حتی دانلود کرد تا بتوانید در کامپیوتر یا تلفن همراه خود به صورت آفلاین مشاهده کنید. یادمه در زمانی که من به دنبال آموزش برنامه نویسی بودم، یک آموزش ویدیویی برنامه نویسی تهیه کرده بودم که فایلها رمزنگاری شده بودند و فقط با یک پخش کننده اختصاصی برای کامپیوتر که احتیاج به قفل سخت افزاری! هم داشت قابل پخش بود.
- استادید مجرب: اکثر دورههای پایه ای برنامه نویسی را اساتید و اعضای هیئت علمی دانشگاههای معتبر تدریس کرده اند. شما به راحتی میتوانید اطلاعات و سوابق هر مدرس را در صفحه پروفایلش مشاهده کنید تا دید بهتری نسبت به مدرس دوره به دست آورید.
انتقاد هایی که از فرادرس دارم:
بالاخره هیچ چیزی بی عیب و نقص نیست و فرادرس هم قطعا از این قاعده مستثنی نیست و بیان انتقادها میتوانند به بالا بردن کیفیت کار کمک کنند.
- سیستم بازخورد دهی ناقص: سیستم بازخورد دهی هنوز هم به نظرم جای کار دارد. مثلا من جایی پیدا نکردم که ببینم دورهی مورد نظر چند امتیاز دریافت کرده است که سریع با یک نگاه از کیفیت دوره آگاهی پیدا کنم. درست است که امکان مشاهده نظرات سایر دانشجویان وجود دارد، اما خواندن همهی آنها وقت گیر است. اگر امکان این بود که بتوان از یک تا پنج، امتیازی به دوره داد بسیار عالی میشد. حتی اگر امکان این بود که به صفحهی پروفایل هر مدرس مراجعه کرد و متوسط امتیازهای دریافتی او را مشاهده کرد، میتوان همان جا به کیفیت تدریس مدرس پی برد.
- پرداخت مالی نامناسب برای مدرسان برنامه نویسی: فرادرس برای پرداخت حق التالیف آموزشها یک جدول امتیاز بندی دارد که به نظر من برای آموزشهای برنامه نویسی حرفه ای، چندان مناسب نیست چرا که هر چقدر برنامه نویس حرفه ای باشید، معیارهای امتیاز دهی فرادرس برای پرداخت، یک سری معیارهای دانشگاهی هستند. با یک مثال این را توضیح میدهم: فرض کنید شخصی در توسعه ASP.NET Core در GitHub مشارکت دارد ولی مدرک دانشگاهی لیسانس یا فوق دیپلم دارد؛ یا شخصی ۱۰ سال سابقه کار قابل اثبات در فلان فناوری دارد. سیستم امتیاز دهی به مدرسان فرادرس به نظرم خیلی بر اساس تحصیلات و امتیازهای دانشگاهی تنظیم شده است و معیار تجربه و مشارکت در توسعهی تکنولوژیها را نادیده گرفته است. به نظرم این سیستم امتیاز دهی، انگیزه لازم به افراد خیلی حرفه ای در زمینه برنامه نویسی را نمیدهد. خود من ترجیح میدهم که از شخصی که تعدادی پروژهی متن باز قابل دفاع در گیت هاب دارد آموزش ببینم تا فلان مدرس دانشگاه با فلان مدرک.
- بروز نبودن دوره ها: همان طور که قبلا هم اشاره کرده بودم، سرعت بروزرسانی فناوریها در دنیای برنامه نویسی و کامپیوتر بسیار بالاست و با توجه به این سرعت بالای تغییر، خیلی خوب میشد که برای دورهها به روز رسانی نیز ارائه میشد. مثلا، فلان قابلیت که در سی شارپ ۹ اضافه شده را به عنوان یک به روز رسانی به دوره اضافه کنند تا کسانی که دوره را نیز قبلا تهیه کرده اند نیز بتوانند از آن بهره مند شوند. این باعث میشه که دوره به روزتر دیده شه. بالاخره عقل مردم به چشمشونه! و انتظار دارند که جدیدترین قابلیتهای جدید جاوا اسکریپت را یاد بگیرند، حال هرچقدر کیفیت دورهی قدیمی بالا باشه.
سخن پایانی
اینکه فرادرس را با بزرگان بین المللی مقایسه کنیم به نظرم از اساس اشتباه است. بازار هدف موسسههای آموزشی بین المللی، کل انگلیسی زبانان در سطح دنیا را در بر میگیرند و مخاطبان فرادرس، فقط فارسی زبانان هستند. پس اصلا مقایسه اینها صحیح نیستند و انصافا کاری که فرادرس برای آموزش برنامه نویسی و موضوعات دیگر دارد انجام میدهد، کار بزرگی است. فرض کنید که شما الان میخواهید که جاوا اسکریپت یاد بگیرید؛ خیلی راحت به سراغ آموزشهای جاوا اسکرپیت فرادرس برید و شروع کنید به یادگیری JavaScript. خود من به شخصه هیچ اطلاعی در مورد هوش مصنوعی ندارم و برای اینکه در آن راه بیفتم و مفاهیم را یاد بگیرم ترجیح میدم تا با آموزشهای فارسی هوش مصنوعی که فرادرس ارائه میدهد شروع کنم و اگر مطالب برایم کافی نبود به سراغ آموزشهای انگلیسی زبان بروم. اگر در زمان دانشجویی خودم، آموزشهای فرادرس وجود داشتند، حتما از آنها برای یادگیری سی پلاس پلاس، طراحی وب، PHP و سی شارپ استفاده میکردم.
در پایان هم بد نیست که اشاره کنم که برای نوشتن این نقد و بررسی هزینه دریافت شده است؛ ولی انصافا فرادرس آموزشهای برنامه نویسی خیلی زیادی ارائه کرده است و حتی برای آموزش هایی برای دروس مهندسی کامپیوتر مثل طراحی الگوریتم ها، ساختمان داده ها، سیستم عامل، طراحی کامپایلر، مدار منطقی، نظریه زبانها و ماشین ها، معماری کامپیوتر، ریاضیات گسسته، مهندسی نرم افزار، پایگاه دادهها ارائه داده است. شاید آن زمان که من برای پاس کردن درس طراحی الگوریتمها به در و دیوار میزدم اگر از آموزش طراحی الگوریتم فرادرس کمک میگرفتم انقدر زجر نکشیده بودم.
البته قطعا فرادرس بی عیب و نقص هم نیست و امیدوارم که روز به روز برا تعداد و کیفیت آموزش هایشان افزوده شود. اگر موضوعی را میخواهید یاد بگیرید، پیشنهاد میکنم اول سری به وبسایت فرادرس برای یادگیری آنلاین بزنید.