الگوریتمها و برنامهنویسی
الگوریتم مجموعهای از مراحل است که برای انجام یک کار خاص طراحی شده است. الگوریتمها به برنامهها یا کُدها ترجمه میشوند تا دستورالعملهایی را برای دستگاههای رایانشی ارائه کنند. الگوریتمها و برنامهنویسی تمام سامانههای رایانشی را کنترل میکنند و افراد را قادر میسازند تا به روشهای جدید با جهان ارتباط برقرار کنند و در حل مسائل دنیای واقعی مشارکت داشته باشند. فرآیند توسعه برای ایجاد برنامههای معنادار و کارآمد شامل انتخاب اطلاعات مورد استفاده و نحوهی پردازش و ذخیرهی آنها، شکستن مسائل بزرگ به مسائل کوچکتر، ترکیب مجدد راهحلهای موجود و تجزیه و تحلیل راهحلهای مختلف است.
الگوریتمها
(Algorithms)
الگوریتمها به گونهای طراحی شدهاند که هم توسط انسان و هم توسط رایانه انجام شوند. در مراحل اولیه، دانشآموزان با الگوریتمهای مناسبِ سنشان از دنیای واقعی آشنا میشوند. در مسیر پیشرفتشان، دانشآموزان توسعه، ترکیب و تجزیهی الگوریتمها و همچنین ارزیابی الگوریتمهای رقیب را یاد میگیرند.
متغیرها
(Variables)
برنامههای رایانهای دادهها را با استفاده از متغیرها ذخیره و دستکاری میکنند. در مراحل اولیه، دانشآموزان میآموزند که انواع مختلف دادهها، مانند کلمات، اعداد یا تصاویر را میتوان به روشهای مختلف مورد استفاده قرار داد. در مسیر پیشرفتشان، دانشآموزان انواع متغیرها و روشهای سازماندهی مجموعههای بزرگ داده در ساختارهای داده با پیچیدگی فزاینده را یاد میگیرند.
کنترل
(Control)
ساختارهای کنترل ترتیب اجرای دستورات در یک الگوریتم یا برنامه را مشخص میکنند. در مراحل اولیه، دانشآموزان اجرای متوالی و ساختارهای کنترل ساده را یاد میگیرند. در مسیر پیشرفتشان، دانشآموزان درکشان از ساختارهای کنترلی را به ترکیبی از ساختارهایی که از اجرای پیچیده را پشتیبانی میکنند، گسترش میدهند.
پودمانگی / ماژولاریتی
(Modularity)
پودمانگی (ماژولاریتی) دربرگیرندهی تقسیم وظایف به کارهای سادهتر و ترکیب کارهای ساده برای ایجاد چیزی پیچیدهتر است. در مراحل اولیه، دانشآموزان یاد میگیرند که الگوریتمها و برنامهها را میتوان با تقسیم وظایف به بخشهای کوچکتر و ترکیب مجدد راهحلهای موجود طراحی کرد. در مسیر پیشرفتشان، دانشآموزان چگونگی شناخت الگوها را بهمنظور بهکارگیری راهحلهای عمومی و قابل استفادهی مجدد برای سناریوهای رایج و توصیف واضحِ وظایف را به روشهایی که به طور گسترده قابل استفاده هستند یاد میگیرند.
توسعهی برنامههای رایانهای
(Program Development)
برنامههای رایانشی از طریق یک فرآیند طراحی ایجاد میشوند که اغلب تا زمانی که برنامهنویس از راهحلی که ارائه کرده راضی شود، بارها تکرار میشود. در مراحل اولیه، دانشآموزان یاد میگیرند که چگونه و چرا مردم برنامههای رایانشی را توسعه میدهند. در مسیر پیشرفتشان، دانشآموزان مصالحههای (بده بستانهای) طراحی برنامه را که مرتبط با تصمیمات پیچیده از جمله در خصوص محدودیتهای کاربر، کارایی، اخلاقیات و آزمایشها است، یاد میگیرند.