یادگیری علوم کامپیوتر بدون کامپیوتر

تا حالا اسم cs unplugged به گوشتون خورده؟
cs unplugged یه مجموعه از فعالیتهای آموزشی تو حوزه علوم کامپیوتره که از طریق بازی و پازل سعی میکنه مفاهیم ابتدایی علوم کامپیوتر رو بدون اینکه دانش‌آموزا دست به کد بشن بهشون آموزش بده.

بیایین یه نگاه به لیست فعالیتهای این مجموعه بندازیم :

  • اعداد دودویی (Binary Numbers)
  • بازنمایی تصاویر (Image Representation)
  • تشخیص و تصحیح خطا (Error Detection)
  • نظریه اطلاعات (Information Theory)
  • الگوریتم های جستجو (Search Algorithms)
  • الگوریتم های مرتب سازی (Sorting Algorithms)
  • شبکه های مرتب سازی (Sorting Networks)
  • درخت پوشای کمینه (Minimum Spanning Tree)
  • مسیریابی و بن بست (Routing & Deadlock)
  • ماشینهای حالت متناهی (Finite State Automata)
  • زبان های برنامه نویسی (Programming Languages)
  • رنگ آمیزی گراف (Graph Coloring)
  • مجموعه های چیره (Dominating Sets)
  • درخت اشتاینر (Steiner Tress)
  • مخفی کردن اطلاعات (Information Hiding)
  • پروتکلهای رمزنگاری (Cryptographic Protocols)
  • رمزگذاری کلید عمومی (Public Key Encryption)
  • طراحی رابط کاربری (User Interface Design)
  • تست تورینگ (The Turing Test) [هوش مصنوعی]
  • دسته‌بندی با درخت تصمیم (Classification with Decision Tree) [هوش مصنوعی]
  • یادگیری عمیق (Deep Learning) [هوش مصنوعی]
  • یادگیری تقویتی (Reinforcement Learning) [هوش مصنوعی]
  • و کلی فعالیت (بازی) دیگه ...

شاید اسم این مباحث رو تا حالا نشنیده باشید و یا حتی با اونها آشنا باشید ولی با خودتون بگید که آخه چطور میخوان این مباحث سخت رو به دانش آموزا یاد بدن؟ این مباحث اکثرش تو دانشگاه به دانشجوها آموخته میشه!! ولی باید بگیم که میشه همین مباحث سخت رو به دانشمند کوچولوها یاد داد فقط کافی سر نخ این بازی رو بدیم دستشون!

ما تو «مدرسه الگوریتمیک» دوست داریم تا یه زنگ علوم کامپیوتر با دانش‌آموزا داشته باشیم و با هم دیگه بازی کنیم و کلی چیز یاد بگیریم.

تفکر رایانشی

برگرفته از سایت ببراس
برگرفته از سایت ببراس

و اما computational thinking !
دنیایی که ما تو اون زندگی می کنیم به دنیایی دیجیتال تبدیل شده که توسط علوم کامپیوتر هدایت میشه. فناوری دیجیتال در همه جا وجود داره. نسل بعدی دانش‌آموزا برای اینکه شهروندای آگاه و توانمندی بشن، باید دنیای دیجیتالی را که در اون زندگی می‌کنن، درک کنن. به همین دلیله که تفکر رایانشی، مجموعه مهارت های قرن بیست و یکم نامیده میشه و یادگیری اون برای همه مهمه. برای درک نحوه عملکرد دنیای دیجیتال، استفاده از قدرت کامپیوترها برای حل مشکلات بزرگ بسیار مهمه!! همچنین میتونیم در مورد آسیب‌های احتمالی، پیامدهای اخلاقی یا پیامدهای ناخواسته هم به طور انتقادی فکر کنیم.

تفکر رایانشی رو میتونیم به عنوان «فکر کردن مانند یک دانشمند کامپیوتر» توصیف کنیم، اما حالا یک مهارت مهم برای همه هست، چه بخواهند یک دانشمند کامپیوتر بشن چه نه! جالبه که توجه کنیم که تفکر رایانشی و علوم کامپیوتر کاملاً در مورد رایانه نیستن، بلکه بیشتر در مورد افراد هستن. ممکنه فکر کنین که ما برای رایانه ها برنامه می نویسیم، اما در واقع ما برنامه هایی را برای انسانها می نویسیم - برای کمک به آنها در برقراری ارتباط، یافتن اطلاعات و حل مشکلات.

تفکر رایانشی از طریق فعالیت های CS Unplugged به دانش آموزان یاد میده که چطوری:

  • یک مشکل رو توصیف کنین.
  • جزئیات مهم مورد نیاز برای حل مشکل رو شناسایی کنین.
  • مشکل رو به مراحل کوچک و منطقی تقسیم کنین.
  • از این مراحل برای ایجاد یک فرآیند (الگوریتم) استفاده کنین که مشکل رو حل کنه.
  • و در آخر این فرآیند را ارزیابی کنین.

تعاریف متعددی از تفکر رایانشی وجود داره، اما اکثر اونها دارای مجموعه ای از 5 یا 6 مهارت حل مسئله هستن. برای پروژه CS Unplugged پنج مهارت زیر شناسایی شده:

۱. تفکر الگوریتمی (Algorithmic Thinking)

طراحی و چینش گام‌ به‌ گام راه‌ حل‌های کوچک تا رسیدن به راه‌ حل نهایی

۲. پیرایش (Abstraction)

تمرکز بر جزئیات مهم و نادیده گرفتن اطلاعات غیر ضروری

۳. تجزیه (Decomposition)

شکستن یک مسئلۀ پیچیده به چند مسئلۀ کوچک‌تر و ساده‌تر

۴. تعمیم‌دادن و الگویابی (Generalizing and patterns)

یافتن الگوهای مشترک در مسئله‌

۵. ارزیابی (Evaluation)

بازبینی فرآیند حل مسئله و تلاش برای بهبود راه‌ حل




اصول مدرسه الگوریتمیک


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

  • هیچ کامپیوتری نیاز نیست!

فعالیت ها به کامپیوتر نیاز ندارند. پس یادگیری علوم کامپیوتر با برنامه نویسی فرق داره!
کسانی که نمیتونن یا نمیخوان با کامپیوتر کار کنن هم میتونن ایده بزنن و بازی کنن و علوم کامپیوتر رو یاد بگیرن!! ?
در واقع میخواهیم بگیم که برنامه نویسی یک وسیله است نه هدف؛‌ البته امیدواریم که دانش‌آموزا فرصت یادگیری برنامه‌نویسی رو داشته باشن تا بتونن فعالیتهایی رو که قبلاً انجام دادن به کار بگیرن.

  • یادگیری علوم کامپیوتر با روش اکتشافی!

فعالیت‌ها معمولاً شامل کار گروهی هستن. فعالیت‌ها به دانش‌آموزا اجازه می‌دن تا پاسخ‌ها رو خودشون پیدا کنن، نه اینکه فقط راه‌حل‌ها یا الگوریتم‌هایی به آنها داده بشه تا دنبال کنن. یعنی رویکرد اکتشافی اجرا میشه (معلم از پرسیدن سؤالاتی استفاده می‌کنه تا بچه‌ها رو به کشف دانش توسط خودشون هدایت کنه) ما میخواهیم دانش‌آموزا متوجه بشن که قادر به یافتن راه‌حل برای مشکلات هستن به جای اینکه راه حلی برای اعمال مشکل به اونها داده بشه. برای مثال، دانش‌آموزا واقعاً نیازی ندارن که بتونن اعداد را به دودویی تبدیل کنن، اما برای اونها ارزشمنده که الگوهای دو برابر شدن مقدار بیت‌ها، شمارش باینری و چگونگی افزایش نمایی دامنه ها رو کشف کنن.

  • سرگرم کننده!

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

  • بدون تجهیزات تخصصی و عجیب و غریب!

فعالیتها با استفاده از تجهیزاتی که معمولاً در کلاس های درس وجود دارن انجام میشن و عملا کم هزینه هستن. بیشتر اونها فقط به کاغذ و مداد، و شاید گچ، تخته سفید، توپ یا موارد مشابه نیاز دارن.


خب این بود از اصول مدرسه! ما خیلی دوست داریم تا این زنگ علوم کامپیوتر تو برنامه هر مدرسه ای باشه! ولی فعلا این اتفاق نیفتاده پس شما سفیر این ماجرا باشین! بیایین با هم زنگ علوم کامپیوتر رو به مدرسه ها بیاریم. برنامه‌ای که متصوره:

  1. با هم دیگه تو کلاسا علوم کامپیوتر رو حرفه ای یاد میگیریم.
  2. حالا که لذت دونستن علم کامپیوتر رو چشیدین، مدرسه خودتون رو تشویق کنین که آموزش علوم کامپیوتر رو شروع کنه تا بقیه دوستانتون هم از این علم لذت ببرن! برای این کار، «مدرسه الگوریتمیک» در نظر داره دوره‌هایی رو برای مقطع دبستان تا دبیرستان ارائه کنه و معلمای شما بتونن تو کارگاه های آموزشی ما که به صورت آنلاین و آفلاین در سراسر ایران ارائه میشه ثبت نام کنن و بتونن تو مدرسه، خودشون زنگ علوم کامپیوتر رو برگزار کنن! این جوری تمام مدارس ایران میشن مدرسه الگوریتمیک!

این هم یک قالب برای ارسال نامه رسمی به مدیران مدارس و درخواست از اونها که زنگ علوم کامپیوتر رو برگزار کنن:

                                                                             به نام خدا
معلم / مدیر محترم

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

با احترام
والدین مدرسه

و در آخر

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

راه ارتباطی

کانال بله : @algo_school