شناخت و تعریف مسائل رایانشی
توانایی تشخیص فرصتهای مناسب و ارزشمند برای بهکارگیری رایانش، مهارتی است که در طول زمان توسعه مییابد و یک مهارت کلیدی در حیطهی رایانش محسوب میشود. حل یک مسئله با رویکرد رایانشی مستلزم تعریف مسئله، تقسیم آن به بخشهای کوچکتر و ارزیابی هر بخش است برای تعیین اینکه آیا یک راهحل رایانشی مناسب است یا خیر.
تا پایان پایهی دوازدهم، دانشآموزان باید بتوانند:
1. مسائل پیچیده، بین رشتهای و مسائل دنیای واقعی را که میتوان با رویکردهای رایانشی حل کرد، شناسایی کنند.
در تمام سطوح تحصیلی، دانشآموزان باید قادر به شناسایی مسائلی باشند که به صورت رایانشی حل شدهاند. به عنوان مثال، دانشآموزان در سنین پایین میتوانند در مورد یک فناوری که جهان را تغییر داده است، مانند ایمیل یا تلفنهای همراه صحبت کنند. در طول مسیر پیشرفتشان، دانشآموزان باید سؤالات روشنکنندهای بپرسند تا بفهمند که آیا یک مسئله یا بخشی از یک مسئله را میتوان با استفاده از یک رویکرد رایانشی حل کرد. برای مثال، قبل از تلاش برای نوشتن الگوریتمی برای مرتبسازی فهرست بزرگی از اسامی، دانشآموزان ممکن است سؤالاتی در مورد نحوهی وارد کردن نامها و نوع مرتبسازی مورد نظر بپرسند. دانشآموزان سالهای بالاتر باید قادر باشند مسائل پیچیدهتری را که دربرگیرندهی معیارها و محدودیتهای متعددی هستند، شناسایی کنند. در نهایت، دانشآموزان باید بتوانند مسائل دنیای واقعی را در زمینهها و رشتههای مختلف که میتوانند به صورت رایانشی حل شوند، شناسایی کنند.
2. مسائل پیچیدهی دنیای واقعی را به زیرمسئلههای قابل مدیریتی تجزیه کنند که برای حلشان میتوان از راهحلها یا رویههای موجود استفاده کرد.
در هر مقطعی، دانشآموزان باید بتوانند مسائل بزرگ را به اجزای کوچکتری تقسیم کنند. در سطوح ابتدایی، دانشآموزان باید بر حل مسائل ساده تمرکز کنند. برای مثال، در یک محیط برنامهنویسی بصری، دانشآموزان میتوانند مراحل مورد نیاز برای ترسیم یک شکل را به گامهای کوچکتری بشکنند (یا تجزیه کنند). در طول مسیر پیشرفتشان، دانشآموزان باید بتوانند مسائل بزرگتر را به مسائل کوچکترِ قابل مدیریت تجزیه کنند. به عنوان مثال، دانشآموزان جوان میتوانند یک پویانمایی را به عنوان مجموعهای از صحنههای متعدد تصور کنند و بنابراین هر صحنه را به طور مستقل ایجاد کنند. دانشآموزان همچنین میتوانند یک برنامه را به اهداف فرعی تقسیم کنند: دریافت ورودی از کاربر، پردازش دادههای دریافتشده و نمایش نتیجه به کاربر. در نهایت، از آنجایی که دانشآموزان با مسائل پیچیدهی دنیای واقعی مواجه میشوند که عموماً چندین رشته یا سیستمهای اجتماعی را در بر میگیرند، باید بتوانند مسائل پیچیده را به مسائل فرعی قابل مدیریتی تجزیه کنند که به طور بالقوه میتوانند با برنامهها یا رویههایی که از قبل وجود دارند، حل شوند. به عنوان مثال، دانشآموزان میتوانند یک برنامه برای حل یک مسئلهی اجتماعی ایجاد کنند که از طریق یک رابط برنامهنویسی (API) به یک پایگاه دادهی آنلاین متصل میشود.
3. ارزیابی کنند که آیا حل یک مسئله به صورت رایانشی مناسب و امکانپذیر است یا خیر.
پس از اینکه دانشآموزان تجربهی شکستن مسائل و شناسایی زیرمسئلههایی را که میتوان آنها را به صورت رایانشی حل کرد، به دست آوردند، باید بتوانند شروع به ارزیابی کنند که آیا یک راهحل رایانشی مناسبترین راهحل برای یک مسئلهی خاص است یا خیر. برای مثال، دانشآموزان ممکن است بپرسند که «استفاده از رایانه برای تعیین اینکه آیا کسی حقیقت را میگوید مفید است یا خیر». در طول مسیر پیشرفتشان، دانشآموزان باید به طور نظاممندی امکان استفاده از ابزارهای رایانشی را برای حل مسائل یا زیرمسئلهها، از جمله با استفاده از تجزیه و تحلیل هزینه- فایده، ارزیابی کنند. در نهایت، دانشآموزان باید عوامل بیشتری را در ارزیابیهای خود لحاظ کنند، مانند اینکه چگونه کارایی بر امکانسنجی تأثیر میگذارد یا اینکه آیا یک رویکرد پیشنهادی نگرانیهای اخلاقی را ایجاد میکند.