در درس برنامه‌سازی پیشرفته شریف چه گذشت؟ قسمت ۱

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

می خواستیم کاری کنیم تا میانگین کسانی که این درس را در ترم دوم یا سوم می‌گذرانند با کیفیت بالایی مفاهیم برنامه‌سازی پیشرفته را یادگرفته باشند و آمادگی خوبی برای برنامه‌نویسی پروژه‌های متوسط دانشگاه و همچنین پروژه‌های کوچک صنعتی به صورت گروهی داشته باشند.

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

راهکار مرسوم دانشگاه برای دانشجو هایی که دغدغه بهبود ارائه درس دارند، به عهده گرفتن مسئولیت دستیار آموزشی (اصطلاحاً TA یا Teacher Assistant) بود. می‌دانستم این کار در یک ترم محقق نمی‌شود بنابراین ۴ ترم (۱ ترم آزمایشی و ۳ ترم هم به صورت متوالی) دستیار آموزشی درس برنامه‌سازی پیشرفته شدم و در این راه همراه تعداد زیادی از دانشجویان دغدغه‌مند توانستیم شیوه‌ی ارائه‌ی درس برنامه‌سازی پیشرفته را با کمک اساتید محترم متحول کنیم.

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

یکی از دوستان پیشنهاد داد این گزارش این اتفاقات را منتشر کنیم که ایده‌ی این نوشته چند قسمتی است و امیدوارم مفید باشد.

قسمت دوم این نوشته به گزارش بهبود‌های ارائه درس برنامه‌سازی پیشرفته در ترم بهار ۹۷ (ورودی‌های ۹۶) می‌پردازد.