فلسفه طراحی کورس در سی‌اس اینترنشیپ

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

فلسفه یادگیری

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

برای مثال در کورس سی‌شارپ تاکید بر آموزش عمیق مفاهیم بنیادین زبان سی‌شارپ است و ما به ندرت در آن سراغ معرفی تکنولوژی‌ها و یا کتابخانه‌هایی مانند Entity Framework، ASP.NET Core، Blazor، Maui و غیره می‌رویم. چون اعتقاد داریم اگر فردی سی‌شارپ را عمیق یاد بگیرد، اصولا باید بتواند هر کدام از این تکنولوژی‌ها را در موقعی که نیاز پیدا کرد در زمان معقولی یاد بگیرد و اصولا یاد گرفتن آنها وابسته به شرکتی است که برای کارآموزی وارد آن می‌شوند. به این معنی که آموزش این تکنولوژی‌ها و کتابخانه‌ها به عنوان بخشی از فرایند آنبوردینگ در شرکت‌ها قرار داد. خود فرد هم هر زمان علاقه داشت می‌تواند آن را یاد بگیرد.

یا به عنوان مثالی دیگر، در کورس وب هدف ما آموزش مفاهیم بنیادین HTML, CSS و JavaScript بوده و سعی کردیم وارد آموزش فریم‌ورک‌هایی مانند Angular, React و Vue نشویم. اصولا پس از پایان مطالعه محتوای دوره افراد به سطحی می‌رسند که اگر بخواهند هر کدام از این کتابخانه‌ها را می‌توانند در مدت معقولی بخوانند و کار با آن را شروع کنند. با این روش افراد نیز کمتر تعصب خاصی به یک تکنولوژی پیدا می‌کنند و در آینده خود را آزاد می‌بینند که بنا به نیازشان هر تکنولوژیی را که لازم است یاد بگیرند.

فرایند طراحی دوره‌ها

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