کتاب معماهای ببراس در مفاهیم علوم رایانه و تفکر رایانشی (گام دوم): چالش ببراس (ببراس در زبان لیتوانیایی به معنی سگ آبی است)، یک مسابقهی برخط آنلاین) بینالمللی با هدف ترویج مفاهیم بنیادی علوم رایانه و تفکر رایانشی میان مخاطبان، به ویژه دانشآموزان است و میکوشد در قالب چالشی انگیزشی، فرصت توجه به علوم رایانه و تفکر رایانشی را برای طیف گستردهای از مخاطبان سراسر جهان فراهم کند. این چالش اولین بار در کشور لیتوانی با حضور ۳۴۷۰ دانشآموز شرکتکننده در سال ۲۰۰۴ برگزار شد. این رویداد رفته رفته مورد توجه سایر کشورها قرار گرفت. هماکنون چالش ببراس در بیش از ۶۰ کشور جهان برگزار میشود. کشور ایران از سال ۲۰۱۵ رسما به عضویت انجمن جهانی ببراس در آمده است و این چالش را برای دانشآموزان برگزار میکند.
چالش ببراس شامل مجموعهای از مسئلههای کوتاه و نیمهبلند چندگزینهای با تعاملی است که به اصطلاح معماهای ببراس نامیده میشوند. این معماها ارتباط تنگاتنگی با مفاهیم علوم رایانه دارند، با این حال میتوان آنها را بدون داشتن دانش قبلی در علوم رایانه حل کرد. در واقع شرکتکنندگان برای حل معماهای این چالش باید دربارهی موضوعاتی چون اطلاعات، ساختارهای گسسته، محاسبات و پردازش دادهها بیندیشند و از مفاهیم الگوریتمی استفاده کنند.
هر سال کشورهای عضو انجمن جهانی ببراس معماهایی را طرح میکنند. تعدادی از این معماها برای استفاده در چالش ببراس در همایشی که هر سال در یکی از کشورهای عضو برگزار میشود، انتخاب میشوند. مجموعهی سه جلدی معماهای ببراس، گزیدهای از معماهای چالش براس در سالهای اخیر است. برای پیمودن مسیری مناسب در جهت تقویت مهارت رایانشی، این مجموعه در سه کتاب (گام اول، گام دوم و گام سوم) تنظیم شده است. کتابها (گامها) متناسب با سن افراد نیستند، بلکه متناسب با میزان دانش و معلومات فرد و میزان پیچیدگی معماها هستند. هر فصل هر یک از این کتابها شامل گزیدهای از معماهای یک سال چالش ببراس است. پرچم کشوری که معما را طرح کرده است نیز در صفحهی همان معما آمده است. همچنین هر معما با توجه
به محتوا و راهحل آن، یک یا چند برچسب دارد. برچسبها بیانگر برخی از زمینهها و مفاهیم کلی در علوم رایانه هستند که در معماهای ببراس توجه ویژهای به آنها شده است. در ادامه نگاهی به برچسبها (تنوع محتوای این کتابها میاندازیم):
اطلاعات و تحلیل: در جهان امروز، حجم اطلاعات بسیار زیاد است؛ مثلا اطلاعات موجود در اینترنت، اطلاعات مربوط به تراکنشهای بانکی و اطلاعات مربوط به رفت و آمدهای درون شهری که نقشههایی مانند نقشهی گوگل از آن استفاده میکنند. در نتیجه طبقهبندی، تحلیل و ارزیابی اطلاعات روزبهروز دشوارتر میشود. در شاخهای از ریاضیات و علوم رایانه به نام «آمار و تحلیل داده»، روشهای طبقهبندی و تحلیل دادههای بزرگ بررسی میشوند. برای استفاده از این حجم اطلاعات، لازم است آنها را ذخیرهسازی و طبقهبندی کنیم و با استفاده از مدلسازیهای ریاضی و آماری، آنها را تحلیل کنیم. تحلیل داده، بیشتر یک مهارت ذهنی و فکری است تا دانشی. معماهای ببراس به گونهای طراحی شدهاند که شما بدون نیاز به داشتن دانش تخصصی در این زمینه، بتوانید این مهارت ذهنی را پرورش دهید. معماهای ببراسی که با برچسب «اطلاعات و تحلیل» مشخص شدهاند، معمولا بدین گونهاند که اطلاعات زیاد و گاهی گوناگون میدهند و از شما میخواهند که با تجزیه تحلیل آنها، خواستهای را برآورده کنید. برای حل این گونه معماها باید ببینید از میان اطلاعات داده شده، کدامها لازم و کدامها اضافهاند، سپس با استفاده از اطلاعات مورد نیاز و پردازش و تحلیل آنها، پاسخ نهایی را بیابید.
الگوریتم: دونالد کنوث یکی از بزرگترین دانشمندان علوم رایانه میگوید: «علم رایانه چیزی جز مطالعهی الگوریتمها نیست.» الگوریتم مجموعهای متناهی از دستورالعملهاست که به ترتیب مشخصی اجرا میشوند و هستهای را حل میکنند. هر الگوریتم حتما ورودی و خروجی دارد، دستورهای واضح و بدون ابهام دارد و پایانپذیر است. حل بسیاری از مسئلههایی که تا پیش از این بسیار وقتگیر بودهاند بهوسیلهی الگوریتمها ممکن شدهاند. برای مثال یافتن بهترین روش برای جا دادن بستههای کوچک در جعبههای بزرگ یا مرتب کردن کتابها در کتابخانه و… . نام الگوریتم از کلمهی الخوارزمی، دانشمند مشهور ایرانی گرفته شده است. با توجه به اهمیت الگوریتم در علوم رایانه، در بسیاری از معماهای ببراس این مفهوم به صورت یک فرایند گام به گام در مسئله ظاهر میشود. برای حل این گونه معماها باید فرایند مورد نظر را شناسایی و ترتیب گامها را در آن به دقت مشخص کنیم. سپس با حرکت بر اساس گامهای الگوریتم، به دنبال خواستهی معما باشیم.
بازی و معما: برخی از معماهای ببراس حالت عمومیتری دارند؛ یا به صورت بازی هستند که میتوانید با دوستانتان آنها را بازی کنید یا چیستان هستند و میتوانید آنها را در مهمانیها و محافل دوستانه مطرح کنید.
حل کردن این گونه معماها علاوه بر توجه به همهی فرضیات، نیازمند خلاقیت و داشتن ذهنی آزاد است. اغلب، در معماهایی که به شکل بازی دو یا چند نفره هستند، به دنبال کشف روشی برای بردن بازی با کسب امتیاز بیشتر هستیم. برای حل چنین معماهایی بهتر است ابتدا با موقعیتهای مختلف بازی بیشتر آشنا شویم، سپس حالتهای مختلف بازی را که منتهی به برد میشوند، تصور کنیم و راهبردهای برنده شدن را بیابیم.
برنامه و دستورالعمل: برای پیادهسازی الگوریتمها از مجموعهای از دستورالعملها استفاده میکنیم. دستورالعملها با توجه به نزدیکی به زبان ماشین (رایانه یا روبات یا هر موجود برنامهپذیر)، گاهی با محدودیتهایی مانند نوع و تعداد دستورات مواجهاند. در نتیجه برای استفاده از آنها باید الگوریتم را نیز تغییر دهیم. بنابراین برنامه مجموعهای از دستورالعملها برای پیادهسازی یک الگوریتم است. با استفاده از برنامهها میتوانیم دستورات لازم را به ماشین بدهیم. برای حل چنین معماهایی در چالش ببراس، ابتدا باید به طور کامل طرز کار هر دستور را بفهمیم و سپس با توجه به محدودیت دستورات، برنامهی مورد نیاز برای حل معما را بنویسیم یا با حرکت گام به گام بر روی دستورات برنامهی داده شده، خروجی آن را به دست آوریم.
کدگذاری و کلمات: ذخیرهسازی حجم زیاد اطلاعات، نیازمند فشردهسازی آنهاست. بنابراین لازم است آنها را به کلمات و کدهای کوتاهتری تبدیل کنیم. ممکن است در فرایند ذخیرهسازی، نگهداری و انتقال اطلاعات خطاهایی رخ دهد. این کدگذاریها باید به گونهای باشند که دست کم بتوان خطاهای کوچک را تشخیص داد. لزوم امنیت اطلاعات موجب میشود برای کدگذاری از الگوریتمهایی استفاده کنیم که دسترسی به اطلاعات برای دیگران کار سختی باشد. مثل گذرواژههای کارتهای بانکی، عکسها و فایلهای شخصی باید دور از دسترس دیگران باشند. امروزه الگوریتمهای متعددی برای کدگذاری، رمزنگاری و رمزگشایی اطلاعات ارائه شدهاند. کدگذاری و رمزنگاری، شاخههای مهم و پرکاربردی از علوم رایانهاند. برای حل این معماها، باید الگوریتم مورد استفاده برای رمزنگاری را به طور کامل بشناسیم و سپس از گامهای آن الگوریتم برای رمزنگاری، یا از معکوس آن گامها برای رمزگشایی استفاده کنیم.
گراف: گراف تعریف سادهای دارد: «تعدادی نقطه که برخی از آنها با پاره خط به یکدیگر وصل شدهاند.» با وجود چنین تعریف سادهای، گراف یکی از مفاهیم اساسی در ریاضیات و علوم رایانه به شمار میآید. گراف کاربردهای گستردهای در شبکههای اجتماعی، شبکهی راهها و مسیرها، مدارهای الکترونیکی، خواص مولکولها و… دارد. مثلا برای بررسی سرعت انتشار یک خبر در شبکههای اجتماعی لازم است گروههای بزرگ افراد مرتبط به هم و افرادی را که مخاطبان زیادی دارند، شناسایی کنیم.
یک شبکهی اجتماعی را در نظر بگیرید؛ افراد، نقطهها (رأسهای گراف) و دوستیهای بین آنها، پارهخطها (یالهای گراف) هستند. اگر بخواهیم یک خبر را منتشر کنیم یا اگر بخواهیم جلوی انتشار یک خبر را بگیریم، باید چهکاری انجام دهیم؟ نظریهی گراف با مدلسازی مناسب از شبکههای اجتماعی، به یافتن پاسخ این سؤالها کمک میکند.
اهمیت ویژهی گراف موجب شده است تا در چالش ببراس به معماهایی از این دست بپردازیم. در این گونه معماها، ابتدا باید مدل مناسبی از معما را به وسیلهی گراف ارائه کنیم و سپس با توجه به قضیهها و حقایقی که دربارهی گرافها وجود دارد، در گراف حاصل، خواستهی معما را جستجو کنیم.
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.