اولین کارگاه داده‌کاویِ مدرسه‌ٔ تابستانه‌ٔ علوم کامپیوتر

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

آورده‌ٔ کارگاه:

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

عناوین کارگاه:

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

  1. آشنایی کلی با داده، روش‌های مختلف جمع‌آوری داده، پیش‌بینی از طریق رگرسیون: پیش از برگزاری کارگاه، در هنگام ثبت نام، حدود ۱۰۰ تیله به شرکت‌کنندگان نشان دادیم و از آن ها خواستیم که تعداد تیله‌ها را حدس بزنند. در اولین قسمت کارگاه، نمودار فراوانی حدس‌هایشان را به آن‌ها نشان داده، میانگین حدس‌هایشان را بیان می‌کردیم که تا حد زیادی به مقدار واقعی تیله‌ها نزدیک بود. این اولین برخورد دانش‌آموزان با جمع‌آوری داده و استفاده از آن برای پیش‌بینی یک مقدار در واقعیت بود و هدف از انتخاب چنین مسئله‌ای برای آغاز کار، احساس نزدیکی بچه‌ها به موضوع کارگاه بود. در این مرحله از کارگاه، برای آشنایی شرکت‌کنندگان با نحوه‌ٔ جمع‌آوری داده، از آن‌ها خواسته شد که آزمایش مربوط به رابطه‌ٔ طول آونگ و دوره تناوب آن را انجام دهند. داده‌هایی که توسط همه‌ٔ تیم‌ها در کارگاه‌های برگزار شده در تهران و اصفهان به دست آمد، از طریق این لینک قابل دسترسی است. در طی این آزمایش، شرکت‌کنندگان با خطا در هنگام جمع‌آوری داده و راه‌های کاهش آن روبه‌رو می‌شدند. هم‌چنین به کمک رابطه‌ٔ خطی که بین جذر طول آونگ و دوره‌ٔ تناوب آن قابل مشاهده بود، مفهوم رگرسیون (بدون توضیح نحوه‌ٔ دقیق به‌ دست آوردن خط مورد نظر) شرح داده می‌شد. به کمک داده‌های این قسمت، شتاب گرانش قابل پیش‌بینی بود که تقریبا در همه‌ٔ کارگاه‌های اجرا شده، عددی بین ۹ تا ۱۰ به‌ عنوان شتاب‌ گرانش به‌ دست‌ آمد. در انتهای این بخش، برای شهود بیشتر شرکت‌کنندگان، دو ویدیو تهیه کردیم که از طریق این لینک و این لینک قابل دسترسی هستند.
  2. تقویت حس کنجکاوی دانش‌آموز در نقش یک دانشمند علوم داده، طرح سوال از یک دیتاست و تلاش برای پیدا کردن پاسخ سوالات: در این قسمت، دیتاست مربوط به فیلم‌های سایت IMDB در اختیار تیم‌ها قرار گرفت. سوالات توسط خود دانش‌آموزان مطرح می‌شد تا جذابیت موضوع برایشان حفظ شود. شرکت‌کنندگان به کمک ماژول‌هایی که برای آن‌ها تهیه کرده بودیم، از روی دیتاست اطلاعات مورد نیاز برای پاسخ دادن به سوالات را به‌دست می‌آوردند.
  3. درک لزوم استفاده از نمودار جهت کسب شهود بهتر نسبت به داده، آشنایی با مفهوم هم‌بستگی، درک تمایز بین هم‌بستگی و رابطه‌ٔ علی-معلولی.
  4. آشنایی با اشتباهات ممکن در فرآیند نمونه‌گیری، تست فرضیه (تست جایگشت به دلیل ساده‌تر بودن انتخاب شد) با کمک دیتاست مربوط به «مصرف سیگار و تاثیر آن بر سرطان ریه».
  5. دسته‌بندی داده‌ها، تشخیص دسته‌ٔ داده‌ی مجهول، الگوریتم KNN، لزوم استفاده از داده آزمون.
  6. مشاهده چند نمونه از کاربردهای جذاب علوم داده با استفاده از پروژه های موجود در Experiments with Google


ابزار کارگاه: ماژول‌ها:

یکی از چالش‌های پیش روی تیم برگزاری از همان ابتدا، لزوم استفاده از کد و به طور خاص کتابخانه pandas یا R برای پردازش داده‌ها بود. اما پیچیدگی‌های سینتکس برای مخاطب ما، او را از هدف اصلی کارگاه دور می‌کرد. ایده‌ٔ اولیه، طراحی ماژول‌هایی گرافیکی برای استفاده‌ٔ دانش آموزان بود اما به دلیل مشکل کمبود وقت، نهایتاً ماژول‌هایی طراحی کردیم که گرافیکی نبودند اما پیچیدگی‌های pandas یا R را نداشتند و کار کردن با آنها بسیار راحت‌تر بود.


نحوه‌ٔ برگزاری کارگاه:

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


چالش‌‌ها و چشم‌انداز کارگاه‌های آتی:

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

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


نتایج نظرسنجی:

بازخوردهای زیر از میان بازخوردهای موجود در فرم نظرسنجی به دست آمده‌اند:

  • این موضوع که توی بخش اول خود بچه‌ها سوال پیشنهاد می‌دادن و بعد همون سوال‌ها رو حل می‌کردیم خیلی خوب بود، چون باعث می‌شد خودمون به این فکر کنیم که چه چیز‌هایی رو می‌تونیم بهشون برسیم با استفاده از چیز‌هایی که یاد گرفتیم؛ نه این که کس دیگه‌ای این مرزها رو برامون مشخص کنه. منتورها کاملا حواسشون به همه بود، و حس رقابتی هم که بین گروه‌ها ایجاد شده بود سر سرعت حل سوالات خیلی خوب بود:)) ایده‌ٔ آزمایشی که با آونگ انجام می‌دادیم و همین‌طور حدس زدن تعداد تیله‌ها برای اینکه باعث بشه این مبحث رو از مباحث دیگه و حتی از زندگی روزمره جدا نبینیم خیلی خوب بود، و این که داده‌ها از طریق خود ما به دست اومده بودن همه چیز رو جذاب می‌کرد:))
  • ایدهٔ تیله ها خیلی خوب بود و خب جنبهٔ عملی کارگاه (مثل آونگ‌ها) خیلی جالب بود. کلاً کارگاه هیجان‌انگیزی بود و مفاهیمش هم جدید بود و سایتی که طراحی شده بود و دستورهایی که برای سوال‌ها می‌زدیم رو توش وارد می‌کردیم خیلی خفن بود!

سخن پایانی:

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