<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GIGA School on kenji.blog</title><link>http://kenji.blog/ar/tags/giga-school/</link><description>Recent content in GIGA School on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ar</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 12 Sep 2026 12:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/ar/tags/giga-school/index.xml" rel="self" type="application/rss+xml"/><item><title>الوضع الحالي والتحديات في تعليم تكنولوجيا المعلومات في اليابان: ما بعد إلزامية تعليم البرمجة</title><link>http://kenji.blog/ar/p/japan-it-education-aftermath/</link><pubDate>Sat, 12 Sep 2026 12:00:00 +0900</pubDate><guid>http://kenji.blog/ar/p/japan-it-education-aftermath/</guid><description>&lt;img src="http://kenji.blog/p/japan-it-education-aftermath/img/eyecatch.jpg" alt="Featured image of post الوضع الحالي والتحديات في تعليم تكنولوجيا المعلومات في اليابان: ما بعد إلزامية تعليم البرمجة" />&lt;h2 id="1-المقدمة-النور-والظلام-اللذان-جلبهما-إلزامية-تعليم-البرمجة">1. المقدمة: النور والظلام اللذان جلبهما إلزامية تعليم البرمجة
&lt;/h2>&lt;p>مع جعل تعليم البرمجة إلزاميًا في المدارس الابتدائية في السنة المالية 2020، والتوسع في مناهج التكنولوجيا والاقتصاد المنزلي في المدارس الإعدادية في السنة المالية 2021، وجعل المادة الجديدة &amp;ldquo;المعلومات 1&amp;rdquo; إلزامية في المدارس الثانوية في عام 2022، شهد تعليم تكنولوجيا المعلومات والمعلومات في اليابان في السنوات الأخيرة نقلة نوعية غير مسبوقة. في أساس هذه السلسلة من السياسات توجد متطلبات وطنية ملحة للغاية لتعزيز التفكير المنطقي (التفكير البرمجي) اللازم للبقاء في عصر المجتمع 5.0 (المجتمع فائق الذكاء) وحل النقص المزمن في الموارد البشرية المتقدمة في مجال تكنولوجيا المعلومات في الصناعة.&lt;/p>
&lt;p>ومع ذلك، وبالنظر إلى الخطوط الأمامية للتعليم، أصبح من الواضح أن هناك فجوة هائلة بين المثالية التي رسمتها الدولة والواقع. المشكلة الأكثر خطورة هي الخلط التام بين &amp;ldquo;تعلم البرمجة كوسيلة&amp;rdquo; و &amp;ldquo;إتقان علوم الحاسوب كتخصص أكاديمي&amp;rdquo;. علاوة على ذلك، هناك جبل من التحديات الهيكلية التي يجب حلها، مثل القيود التقنية بسبب القيود في مواصفات البنية التحتية لتكنولوجيا المعلومات التي تم إنشاؤها في وقت واحد على الصعيد الوطني، ونقص مجموعة المهارات المتخصصة بين المعلمين الذين هم في جانب التدريس.&lt;/p>
&lt;p>في هذا المقال، سنلخص &amp;ldquo;ما بعد&amp;rdquo; جعل تعليم البرمجة إلزاميًا في اليابان، ونحلل التحديات الأساسية والهيكلية التي يواجهها تعليم تكنولوجيا المعلومات حاليًا بتفصيل كبير وتقنيًا من منظور نظريات علوم الحاسوب، وقيود بنية الأجهزة، والتنافسية الصناعية العالمية. هذا ليس مجرد نقاش تعليمي، بل مقال يتكون من 10000 حرف يتأمل في مستقبل اليابان من منظور هندسة البرمجيات.&lt;/p>
&lt;h2 id="2-فخ-البرمجة-المرئية-الفجوة-العميقة-والوعرة-من-scratch-إلى-كتابة-الأكواد-النصية">2. فخ البرمجة المرئية: الفجوة العميقة والوعرة من Scratch إلى كتابة الأكواد النصية
&lt;/h2>&lt;p>لغات البرمجة المرئية (البرمجة القائمة على الكتل) التي تمثلها &amp;ldquo;Scratch&amp;rdquo;، والتي طورها مختبر MIT Media Lab، تسود كمعيار واقعي في تعليم البرمجة في المدارس الابتدائية. باستخدام واجهة رسومية بديهية ودمج الكتل مثل الألغاز، يمكن للطلاب تعلم هياكل التحكم الأساسية الثلاثة للخوارزميات بشكل مرئي وبديهي: &amp;ldquo;التسلسل&amp;rdquo;، و &amp;ldquo;الاختيار&amp;rdquo;، و &amp;ldquo;التكرار&amp;rdquo;، وهو اختراع عظيم يجب تقييمه بشدة كتعليم تمهيدي.&lt;/p>
&lt;p>ومع ذلك، هناك فخ خطير هنا، وهو ما يسمى بـ &amp;ldquo;فخ التجريد&amp;rdquo;. إنها الحقيقة القاسية المتمثلة في أنه &amp;ldquo;من الصعب للغاية الانتقال من البرمجة المرئية إلى لغات البرمجة النصية الكاملة (مثل Python و JavaScript و C++ و Rust وغيرها)، ويفشل العديد من المتعلمين في هذه المرحلة&amp;rdquo;.&lt;/p>
&lt;h3 id="حاجز-التجريد-وتحويل-علوم-الحاسوب-إلى-صندوق-أسود">حاجز التجريد وتحويل علوم الحاسوب إلى صندوق أسود
&lt;/h3>&lt;p>تقوم بيئات البرمجة المرئية، بما في ذلك Scratch، بتجريد وإخفاء (تغليف) العناصر المهمة التي تشكل أساس علوم الحاسوب، مثل البنية المعقدة للبرمجة (Syntax)، ونظام الأنواع الصارم (Type system)، وإدارة دورة حياة الذاكرة، عن قصد. هذا ممتاز لتقليل العبء المعرفي للمبتدئين، ولكنه يصبح عقبة ضخمة عند الانتقال إلى الخطوة التالية وهي الهندسة الحقيقية. ففي موقع تطوير البرمجيات الفعلي، يعد فهم نطاق المتغيرات (المتغيرات المحلية والعامة)، وهياكل البيانات المعقدة (المصفوفات، والقوائم المرتبطة، وجداول التجزئة، وأشجار البحث الثنائية، والرسوم البيانية)، وعمليات المؤشرات، ومناطق الكومة والمكدس للذاكرة أمرًا ضروريًا تمامًا.&lt;/p>
&lt;p>يوضح مخطط Mermaid التالي بصريًا العقبات التعليمية ونقاط التسرب التي يواجهها المبتدئون في عملية الانتقال من البرمجة المرئية إلى علوم الحاسوب الكاملة.&lt;/p>
&lt;pre class="mermaid">
flowchart TD
A[&amp;#34;المدرسة الابتدائية: Scratch (يعتمد على الكتل والمرئيات)&amp;#34;] --&amp;gt; B{&amp;#34;المدرسة الإعدادية: حاجز الانتقال إلى اللغات النصية&amp;#34;}
B --&amp;gt;|&amp;#34;الإحباط بسبب أخطاء بناء الجملة الصارمة&amp;#34;| C[&amp;#34;التسرب (حساسية بناء الجملة)&amp;#34;]
B --&amp;gt;|&amp;#34;عدم كفاية الفهم المفاهيمي للمتغيرات والأنواع الثابتة&amp;#34;| D[&amp;#34;التسرب (حاجز الأنواع)&amp;#34;]
B --&amp;gt;|&amp;#34;نجاح الانتقال&amp;#34;| E[&amp;#34;المدرسة الثانوية: المعلومات 1 (أساسيات مثل Python/JavaScript)&amp;#34;]
E --&amp;gt; F{&amp;#34;حاجز تصميم الخوارزميات وهياكل البيانات&amp;#34;}
F --&amp;gt;|&amp;#34;عدم فهم التعقيد الزمني والمكاني&amp;#34;| G[&amp;#34;كود غير فعال (تدهور الأداء بسبب كثرة O(N^2))&amp;#34;]
F --&amp;gt;|&amp;#34;تحويل إدارة الذاكرة والمراجع إلى صندوق أسود&amp;#34;| H[&amp;#34;التحول إلى مبرمج يكتفي باستدعاء واجهات برمجة التطبيقات السطحية&amp;#34;]
F --&amp;gt;|&amp;#34;اختراق مفاهيمي&amp;#34;| I[&amp;#34;دراسة علوم حاسوب كاملة (C/C++، Java، معماريات المستوى المنخفض)&amp;#34;]
I --&amp;gt; J[&amp;#34;المحترف المتقدم في تكنولوجيا المعلومات الذي تتوق إليه الصناعة&amp;#34;]
classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px;
classDef error fill:#ffcccc,stroke:#cc0000,stroke-width:2px;
classDef success fill:#ccffcc,stroke:#00cc00,stroke-width:2px;
class C,D,G,H error;
class J success;
&lt;/pre>
&lt;p>كما هو واضح من مخطط التدفق هذا، فإن مجرد اكتساب الخبرة في &amp;ldquo;كتابة التعليمات البرمجية لتحريك شخصية على الشاشة&amp;rdquo; لا يطور مهندسي برمجيات حقيقيين قادرين على تصميم معماريات أنظمة موزعة قابلة للتطوير وتحسين الأداء على مستوى أجزاء من الألف من الثانية. يوجد انقطاع مفاهيمي مطلق بين مهمة دمج كتل Scratch الملونة بالماوس ومهمة قراءة التعليمات البرمجية المصدرية بلغة C لنواة Linux وتتبع سلوك مكدس TCP/IP، والذي لا يمكن رفضه ببساطة كـ &amp;ldquo;اختلاف في اللغة المستخدمة&amp;rdquo;.&lt;/p>
&lt;h2 id="3-حدود-كتابة-الأكواد-بدون-الرياضيات-و-المنطق-المنفصل-نهج-من-نظرية-التعقيد">3. حدود كتابة الأكواد بدون &amp;ldquo;الرياضيات&amp;rdquo; و &amp;ldquo;المنطق المنفصل&amp;rdquo;: نهج من نظرية التعقيد
&lt;/h2>&lt;p>أكبر نقطة ضعف، وربما العيب القاتل في المنهج الياباني لتعليم البرمجة، هو النقص الساحق في الارتباط بين &amp;ldquo;مهارات البرمجة&amp;rdquo; و &amp;ldquo;الرياضيات / الرياضيات المتقطعة (Discrete Mathematics)&amp;rdquo;. في التعليم المتقدم لعلوم الحاسوب في الولايات المتحدة والهند ودول أخرى، ينصب التركيز على كفاءة الخوارزميات، والمنطق الرياضي، والإثباتات الرياضية أكثر من قواعد لغات البرمجة نفسها. لأن الكود ما هو إلا ترجمة للمعادلات الرياضية.&lt;/p>
&lt;h3 id="الهيمنة-المطلقة-للتعقيد-الزمني-والتعقيد-المكاني-big-o-notation">الهيمنة المطلقة للتعقيد الزمني والتعقيد المكاني (Big O Notation)
&lt;/h3>&lt;p>عند تقييم وتصميم أداء البرمجيات، لا يمكن تجنب مفاهيم التعقيد الزمني (Time Complexity) والتعقيد المكاني (Space Complexity). عندما يكون حجم البيانات المدخلة لخوارزمية معينة هو $N$، فإن تدوين لانداو المقارب (Big O Notation) يشير إلى كيفية زيادة وقت التنفيذ واستهلاك الذاكرة.&lt;/p>
&lt;p>كتعريف رياضي، يُعرف $f(x) = O(g(x))$ بشكل صارم على النحو التالي:&lt;/p>
$$
\exists C > 0, \exists x_0 > 0, \forall x > x_0, |f(x)| \le C \cdot |g(x)|
$$&lt;p>في تعليم المعلوماتية الياباني، على سبيل المثال عند تعلم كيفية فرز البيانات (عملية الفرز)، هناك العديد من الحالات التي ينتهي فيها الأمر ببساطة باستدعاء الطريقة المدمجة &lt;code>array.sort()&lt;/code> في Python. ومع ذلك، ما هو مطلوب حقًا كمهندس معلومات هو الفهم والإثبات الرياضي لسبب عدم استخدام خوارزمية الفرز الفقاعي البسيطة أبدًا في المجالات العملية، وسبب اعتماد خوارزميات مثل الفرز السريع (Quick Sort)، وفرز الدمج (Merge Sort)، أو Timsort كمكتبات قياسية.&lt;/p>
&lt;p>فيما يلي متوسط التعقيد الزمني لخوارزميات الفرز التمثيلية.&lt;/p>
&lt;ul>
&lt;li>الفرز الفقاعي (Bubble Sort): $O(N^2)$&lt;/li>
&lt;li>فرز الاختيار (Selection Sort): $O(N^2)$&lt;/li>
&lt;li>فرز الإدراج (Insertion Sort): $O(N^2)$&lt;/li>
&lt;li>فرز الدمج (Merge Sort): $O(N \log N)$&lt;/li>
&lt;li>الفرز السريع (Quick Sort): $O(N \log N)$&lt;/li>
&lt;li>فرز الكومة (Heap Sort): $O(N \log N)$&lt;/li>
&lt;/ul>
&lt;p>على سبيل المثال، يتم التعبير عن التعقيد الزمني لفرز الدمج $T(N)$ من خلال معادلة التكرار التالية من خلال نموذج &amp;ldquo;فرق تسد&amp;rdquo; (Divide and Conquer).&lt;/p>
$$
T(N) = 2T\left(\frac{N}{2}\right) + O(N)
$$&lt;p>من خلال توسيع وحل علاقة التكرار هذه باستخدام المبرهنة الرئيسية (Master Theorem)، يتم اشتقاق التعقيد المثالي $T(N) = O(N \log N)$.&lt;/p>
$$
T(N) = \Theta(N \log_2 N)
$$&lt;p>في تحليلات البيانات الضخمة الحديثة ومعالجة حركة المرور على مستوى الويب، يصبح $N$ طلبًا ضخمًا بمئات الملايين أو المليارات. إذا قام مبرمج جاهل بتنفيذ خوارزمية غير فعالة بقيمة $O(N^2)$، فستتطلب البيانات التي حجمها $N = 10^6$ مقدار $10^{12}$ (تريليون) عملية مقارنة غير مجدية، مما يؤدي إلى تجميد النظام فعليًا وتعطله. من ناحية أخرى، مع $O(N \log N)$، يكتمل الأمر بحوالي $2 \times 10^7$ (20 مليون) عملية. الادعاء بـ &amp;ldquo;أنا أستطيع البرمجة&amp;rdquo; دون هذا الدعم الرياضي القاسي يشبه بناء ناطحة سحاب دون معرفة الميكانيكا الهيكلية، وهو أمر خطير للغاية.&lt;/p>
&lt;h2 id="4-إدارة-الذاكرة-وتحويل-بنية-النظام-إلى-صندوق-أسود">4. إدارة الذاكرة وتحويل بنية النظام إلى صندوق أسود
&lt;/h2>&lt;p>كمشكلة في طبقة أعمق، هناك افتقار كامل لفهم إدارة الذاكرة وبنية وحدة المعالجة المركزية (CPU). لن يدرك المتعلمون الذين تعلموا فقط اللغات عالية المستوى مع جمع القمامة (GC) مثل Python و JavaScript التي يتم تدريسها حاليًا في المدارس أبدًا أين يتم وضع المتغيرات والكائنات في الذاكرة المادية (RAM) (سواء في منطقة الكومة أو منطقة المكدس)، وكيف يتم تخصيصها، ومتى وكيف يتم تحريرها.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// مثال على التخصيص المباشر والصريح للذاكرة وعمليات المؤشر في لغة C
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdio.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdlib.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1000000&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// تخصيص متتالي للذاكرة ديناميكيًا في منطقة الكومة (استدعاء نظام لنظام التشغيل)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">array&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="nf">malloc&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">array&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">fprintf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stderr&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;Memory allocation failed! Out of memory.&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// تهيئة المصفوفة باستخدام حساب المؤشرات
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">array&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// يكافئ array[i] = i * 2
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// تحرير الموارد الصريح لمنع تسرب الذاكرة (Memory Leak)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="nf">free&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">array&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">array&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// منع المؤشرات المعلقة
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>المعرفة بالمؤشرات (الإشارة المباشرة لعناوين الذاكرة)، وتخطيط البيانات (Data Locality) لتعظيم معدل ضربات التسلسل الهرمي لذاكرة التخزين المؤقت لوحدة المعالجة المركزية (ذاكرة التخزين المؤقت L1/L2/L3)، وحالات السباق (Race Condition) والتحكم الحصري (Mutex/Semaphore) في بيئات تعدد الخيوط ضرورية تمامًا عند تطوير أنظمة خلفية عالية الأداء، أو محركات ألعاب ثلاثية الأبعاد، أو أنظمة مضمنة لإنترنت الأشياء (IoT). المنهج الحالي لوزارة التعليم والعلوم والتكنولوجيا يقتصر على &amp;ldquo;تشغيل التطبيقات السطحية&amp;rdquo;، ولا يسعنا إلا أن نقول إنه ينحرف بشكل كبير عن الهدف الأكاديمي الأصلي المتمثل في &amp;ldquo;فهم أعماق علوم الحاسوب&amp;rdquo;.&lt;/p>
&lt;h2 id="5-حاجز-قواعد-البيانات-والاستمرارية-غياب-الجبر-العلائقي">5. حاجز قواعد البيانات والاستمرارية: غياب الجبر العلائقي
&lt;/h2>&lt;p>في التطبيقات الحديثة، يعد حفظ البيانات واسترجاعها (الاستمرارية) موضوعًا لا مفر منه. ومع ذلك، يظل الكثير من التعليم المدرسي يقتصر على &amp;ldquo;معالجة البيانات في الذاكرة&amp;rdquo; التي تختفي بمجرد انتهاء تنفيذ البرنامج. نادرًا ما يتم تدريس النظرية الرياضية وراء قواعد البيانات العلائقية (RDBMS) و SQL، وهي &amp;ldquo;الجبر العلائقي (Relational Algebra)&amp;rdquo; التي اقترحها الدكتور إدغار ف. كود.&lt;/p>
&lt;p>يتم تعريف عمليات قواعد البيانات من خلال العمليات الأساسية التالية القائمة على نظرية المجموعات.&lt;/p>
&lt;ul>
&lt;li>الاختيار (Selection, $\sigma$): استخراج المجموعات (الصفوف) التي تفي بالشرط&lt;/li>
&lt;li>الإسقاط (Projection, $\pi$): استخراج سمات (أعمدة) محددة&lt;/li>
&lt;li>الربط (Join, $\bowtie$): التقاطع المشروط لعلاقات متعددة&lt;/li>
&lt;/ul>
&lt;p>علاوة على ذلك، يعد تعلم بنية &amp;ldquo;فهرس B-Tree&amp;rdquo; للبحث الفوري عن البيانات المطلوبة من سجلات ضخمة هو أفضل ممارسة لتطبيق هياكل البيانات. تضمن أشجار B-Tree سرعة بحث تبلغ $O(\log N)$ مع تقليل عدد عمليات الإدخال / الإخراج للقرص إلى الحد الأدنى. لا يمكنك بناء نظام قوي دون معرفة خصائص ACID (الذرية، والاتساق، والعزل، والمتانة) للمعاملات.&lt;/p>
&lt;h2 id="6-الأمن-ونظرية-التشفير-البنية-التحتية-الاجتماعية-المدعومة-بصعوبة-التحليل-إلى-عوامل-أولية">6. الأمن ونظرية التشفير: البنية التحتية الاجتماعية المدعومة بصعوبة التحليل إلى عوامل أولية
&lt;/h2>&lt;p>في تعليم محو الأمية المعلوماتية، يتم تدريس تعليم أمني سطحي مثل &amp;ldquo;لنجعل كلمات المرور معقدة&amp;rdquo; أو &amp;ldquo;لا تنقر على روابط مشبوهة&amp;rdquo;، ولكن نادرًا ما يتم تدريس رياضيات &amp;ldquo;نظرية التشفير&amp;rdquo; التي تدعم أساس مجتمع الإنترنت.&lt;/p>
&lt;p>تتم حماية اتصالات HTTPS والتوقيعات الرقمية التي نستخدمها يوميًا بواسطة تشفير المفتاح العام مثل تشفير RSA. يعتمد أمان تشفير RSA على الصعوبة الرياضية (التي تعتبر مشكلة NP-intermediate) المتمثلة في أن &amp;ldquo;تحليل الأعداد الصحيحة الضخمة إلى عوامل أولية لا يمكن حله في وقت عملي بواسطة أجهزة الكمبيوتر الكلاسيكية الحالية&amp;rdquo;.&lt;/p>
&lt;p>الصيغ الرياضية التي تشكل أساس تشفير RSA هي تطبيقات جميلة لدالة مؤشر أويلر ونظرية فيرما الصغرى.&lt;/p>
&lt;ol>
&lt;li>اختر عددين أوليين ضخمين $p$ و $q$&lt;/li>
&lt;li>احسب $n = p \times q$ (هذا يشكل جزءًا من المفتاح العام)&lt;/li>
&lt;li>احسب $\phi(n) = (p-1)(q-1)$&lt;/li>
&lt;li>اختر $e$ و $d$ بحيث $e \times d \equiv 1 \pmod{\phi(n)}$&lt;/li>
&lt;li>التشفير: $C \equiv M^e \pmod{n}$&lt;/li>
&lt;li>فك التشفير: $M \equiv C^d \pmod{n}$&lt;/li>
&lt;/ol>
&lt;p>بهذه الطريقة، يُظهر تعليم البرمجة قوته الحقيقية فقط عندما يرتبط ارتباطًا وثيقًا بتعليم الرياضيات. إن عملية ترجمة الصيغ الرياضية إلى تعليمات برمجية وتنفيذها في المجتمع هي متعة العلم الحقيقية.&lt;/p>
&lt;h2 id="7-مبادرة-مدرسة-giga-والقيود-اليائسة-للبنية-التحتية-chromebook-و-cloud-ide">7. مبادرة مدرسة GIGA والقيود اليائسة للبنية التحتية: Chromebook و Cloud IDE
&lt;/h2>&lt;p>عند الحديث عن تعليم تكنولوجيا المعلومات في اليابان، من المستحيل تجاهل &amp;ldquo;مبادرة مدرسة GIGA&amp;rdquo;، التي تم الترويج لها من قبل وزارة التعليم والعلوم والتكنولوجيا بميزانية ضخمة. كان من المتوقع أن يكون هذا المشروع الوطني، الذي يوفر &amp;ldquo;جهازًا واحدًا لكل طالب&amp;rdquo; وبيئة شبكة عالية السرعة لجميع طلاب المدارس الابتدائية والإعدادية في جميع أنحاء البلاد، بمثابة حافز للتعويض عن التأخير في الرقمنة. ومع ذلك، أصبحت مواصفات الأجهزة وهندسة الأجهزة الموزعة بالفعل عقبة خطيرة أمام تعليم البرمجة الكامل.&lt;/p>
&lt;h3 id="الأجهزة-منخفضة-المواصفات-وفقدان-بيئة-التطوير-المحلية">الأجهزة منخفضة المواصفات وفقدان بيئة التطوير المحلية
&lt;/h3>&lt;p>العديد من الأجهزة المقدمة كمواصفات قياسية لمبادرة مدرسة GIGA هي أجهزة Chromebook أو iPad أو أجهزة Windows منخفضة التكلفة للغاية. مواصفاتها القياسية هي كما يلي:&lt;/p>
&lt;ul>
&lt;li>وحدة المعالجة المركزية (CPU): Intel Celeron أو معالج ARM منخفض التكلفة&lt;/li>
&lt;li>الذاكرة (RAM): 4 جيجابايت (سعة بالكاد تكفي لتشغيل نظام تشغيل حديث)&lt;/li>
&lt;li>التخزين (eMMC): 32 جيجابايت إلى 64 جيجابايت (سرعات إدخال / إخراج بطيئة للغاية)&lt;/li>
&lt;/ul>
&lt;p>بسبب قيود الأجهزة الضعيفة هذه، يكاد يكون من المستحيل إعداد &amp;ldquo;بيئة تطوير محلية&amp;rdquo; يستخدمها المهندسون المحترفون يوميًا. إن بدء تشغيل حاويات Linux باستخدام Docker، أو تشغيل بيئات تطوير متكاملة (IDE) ثقيلة مثل Visual Studio Code بكامل ميزاتها، أو بدء تشغيل خوادم محلية لـ Node.js أو Python وتثبيت مكتبات ثقيلة، سيؤدي على الفور إلى استنفاد الذاكرة وتجميد النظام.&lt;/p>
&lt;p>نتيجة لذلك، تُجبر المواقع التعليمية على الاعتماد كليًا على بيئات التطوير المتكاملة السحابية (Cloud IDEs) التي تعمل في المتصفح (مثل Google Colaboratory، و Replit، أو أدوات الويب خفيفة الوزن الخاصة بشركات الكتب المدرسية).&lt;/p>
&lt;pre class="mermaid">
flowchart LR
subgraph &amp;#34;أجهزة GIGA (Chromebook / iPad / Windows منخفض التكلفة)&amp;#34;
A[&amp;#34;متصفح الويب (عرض واجهة المستخدم فقط)&amp;#34;]
end
subgraph &amp;#34;البنية التحتية السحابية البعيدة (AWS / GCP وغيرها)&amp;#34;
B[&amp;#34;خادم الويب لـ Cloud IDE&amp;#34;]
C[&amp;#34;بيئة التنفيذ / التجميع في الخلفية&amp;#34;]
D[&amp;#34;تخزين الملفات الدائم&amp;#34;]
end
A --&amp;gt;|&amp;#34;اتصال HTTP/WebSocket: تأخير خطير بسبب اتصالات المدارس الضعيفة&amp;#34;| B
B &amp;lt;--&amp;gt; C
B &amp;lt;--&amp;gt; D
&lt;/pre>
&lt;p>يؤدي الاعتماد الكامل على Cloud IDEs إلى النواقص الخطيرة التالية من الناحية التعليمية:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>عدم فهم نظام الملفات وبنية نظام التشغيل&lt;/strong>: نظرًا لعدم وجود بيئة محلية، فإن المعرفة الأساسية (محو الأمية بـ UNIX) التي يجب أن يتعامل معها مهندسو تكنولوجيا المعلومات بشكل طبيعي كالتنفس، مثل هياكل الدلائل، ومفاهيم المسارات المطلقة والنسبية، وإعدادات المتغيرات البيئية، وأذونات الملفات، وعمليات نظام التشغيل باستخدام واجهة سطر الأوامر (CLI)، لا يتم اكتسابها على الإطلاق.&lt;/li>
&lt;li>&lt;strong>تأخير الشبكة وهشاشة البنية التحتية&lt;/strong>: نظرًا لأنه يفترض اتصالاً مستمرًا، فعندما يصل جميع الطلاب في المدرسة إلى النظام في نفس الوقت، يتم الضغط على النطاق الترددي لشبكة المدرسة، وتتجمد المتصفحات، وتتوقف عملية التعلم تمامًا - وهي حوادث تحدث بشكل متكرر في جميع أنحاء البلاد.&lt;/li>
&lt;li>&lt;strong>الحرمان من تجربة التحكم في الإصدار (Git)&lt;/strong>: يُحرم الطلاب من فرصة تعلم مفاهيم Git و GitHub من خلال شاشة المحطة الطرفية السوداء (Terminal)، والتي تُستخدم لإدارة تاريخ التغيير في الكود المصدري وتطويره بشكل تعاوني مع فرق في جميع أنحاء العالم.&lt;/li>
&lt;/ol>
&lt;p>عندما يقوم مهندسو البرمجيات المحترفون بالتطوير، فإن العمليات على المحطة الطرفية (الصدفة أو Shell) هي الأساس المطلق. بدون الخبرة العملية المتمثلة في كتابة أوامر مثل &lt;code>ls&lt;/code> و &lt;code>cd&lt;/code> و &lt;code>grep&lt;/code> و &lt;code>chmod&lt;/code> و &lt;code>git rebase&lt;/code> والتفاعل المباشر مع نواة نظام التشغيل (OS Kernel) المحلي، من المستحيل تمامًا تطوير موارد بشرية حقيقية في مجال تكنولوجيا المعلومات. من خلال اللعب فقط في صندوق حماية (Sandbox) لـ Chromebook، لن يولد مهندس متكامل (Full-stack engineer) يمكنه رؤية النظام بأكمله.&lt;/p>
&lt;h2 id="8-الفجوة-اليائسة-مع-العالم-الانفصال-بين-مستويات-متطلبات-الصناعة-والتعليم-المدرسي">8. الفجوة اليائسة مع العالم: الانفصال بين مستويات متطلبات الصناعة والتعليم المدرسي
&lt;/h2>&lt;p>التحدي الأخير، والذي يمكن القول إنه أزمة وطنية تواجه تعليم تكنولوجيا المعلومات في اليابان، هو الانخفاض الساحق في القدرة التنافسية في السياق العالمي.&lt;/p>
&lt;h3 id="التعليم-الشرس-لعلوم-الحاسوب-في-بلدان-أخرى">التعليم الشرس لعلوم الحاسوب في بلدان أخرى
&lt;/h3>&lt;p>في المملكة المتحدة (UK)، كانت مادة &amp;ldquo;الحوسبة (Computing)&amp;rdquo; إلزامية منذ سن الخامسة (المرحلة الأساسية 1) اعتبارًا من عام 2014. لا يقتصر منهجهم الدراسي على مجرد &amp;ldquo;تجربة برمجة&amp;rdquo;، بل يتعامل مع علوم حاسوب أكاديمية ومنهجية وواقعية للغاية، من التصميم المنطقي للخوارزميات وفهم الدوائر المنطقية باستخدام الجبر البولياني (Boolean algebra) إلى طوبولوجيا الشبكات ومعمارية الأجهزة.&lt;/p>
&lt;p>في الولايات المتحدة، يوجد منهج قياسي صارم لـ K-12 (من رياض الأطفال إلى التخرج من المدرسة الثانوية) وضعته CSTA (رابطة معلمي علوم الحاسوب)، وفي مساق AP (التنسيب المتقدم) Computer Science A الذي يأخذه طلاب المدارس الثانوية، يُطلب فهم البرمجة الكائنية الموجهة الحقيقية باستخدام Java، وتعدد الأشكال (Polymorphism)، والمعالجة العودية (Recursion)، وتنفيذ هياكل البيانات، وتقييم تعقيد الخوارزميات بمستوى عالٍ يعادل السنة الأولى في الجامعة. لا حاجة لذكر شراسة تعليم STEM في الهند والصين وسمك طبقة النخبة التي يتم إنتاجها هناك.&lt;/p>
&lt;h3 id="الفجوة-اليائسة-بين-المهارات-المطلوبة-والمهارات-التي-يتم-تدريسها">الفجوة اليائسة بين المهارات المطلوبة والمهارات التي يتم تدريسها
&lt;/h3>&lt;p>تتطور المتطلبات التي تتطلبها الصناعة الحديثة، وخاصة المشاريع الضخمة وعمالقة التكنولوجيا (مثل GAFAM) التي تتوسع عالميًا، من مهندسي البرمجيات حديثي التخرج بسرعة مخيفة عامًا بعد عام. مطلوب خبرة واسعة وعميقة، مثل بناء بنية تحتية سحابية أصلية (AWS، GCP، Kubernetes)، وتصميم أنظمة موزعة لمعمارية الخدمات المصغرة (Microservices)، وتنفيذ خطوط أنابيب التعلم الآلي، والمعرفة الأمنية المتقدمة.&lt;/p>
&lt;p>يوضح الرسم البياني التالي بشكل مفاهيمي الفجوة اليائسة بين مستوى المهارات المقدمة حاليًا في التعليم المدرسي الياباني ومستوى المهارات التي تتطلبها الصناعة في الخطوط الأمامية.&lt;/p>
&lt;pre class="mermaid">
xychart-beta
title المهارات المقدمة في التعليم المدرسي الياباني مقابل مستويات المهارة المطلوبة في الصناعة
x-axis [&amp;#34;اللغات المرئية&amp;#34;, &amp;#34;التركيب الأساسي/المتغيرات&amp;#34;, &amp;#34;الخوارزميات/التعقيد&amp;#34;, &amp;#34;نظام التشغيل/الشبكات&amp;#34;, &amp;#34;قواعد البيانات/تصميم النظام&amp;#34;, &amp;#34;السحابة/المعمارية الموزعة&amp;#34;]
y-axis &amp;#34;مستوى الإنجاز / المتطلبات (%)&amp;#34; 0 --&amp;gt; 100
line &amp;#34;مستوى الإنجاز الحالي في التعليم المدرسي&amp;#34; [95, 60, 15, 5, 2, 0]
line &amp;#34;المستوى المطلوب من قبل الصناعة وشركات التكنولوجيا&amp;#34; [0, 20, 85, 90, 95, 100]
&lt;/pre>
&lt;p>لسد هذه الفجوة الضخمة (وادي الموت أو Death Valley)، هناك حاجة إلى تحول جذري في النموذج التعليمي المدرسي واستثمارات ضخمة. في ظل النقص الشديد في المعلمين المتخصصين في &amp;ldquo;المعلوماتية&amp;rdquo; على الصعيد الوطني، والنظام الحالي حيث يقوم معلمو الرياضيات أو العلوم أو التكنولوجيا/الاقتصاد المنزلي بتدريس البرمجة في أوقات فراغهم من واجباتهم الأصلية مع تدريب غير كافٍ، من المستحيل على الإطلاق إنتاج مهندسين من الدرجة الأولى يمكنهم التنافس على مستوى العالم.&lt;/p>
&lt;h2 id="9-انهيار-قيمة-كتابة-الأكواد-في-عصر-الذكاء-الاصطناعي-llm">9. انهيار قيمة &amp;ldquo;كتابة الأكواد&amp;rdquo; في عصر الذكاء الاصطناعي (LLM)
&lt;/h2>&lt;p>مما يعقد الوضع أكثر هو الانتشار الهائل للنماذج اللغوية الكبيرة (LLMs) الممثلة في ChatGPT ومساعدي برمجة الذكاء الاصطناعي مثل GitHub Copilot. في العصر الحديث حيث يمكن للذكاء الاصطناعي إنشاء كود مثالي على الفور من التعليمات باللغة الطبيعية وحتى كتابة كود الاختبار، تتدهور القيمة السوقية لما يسمى بـ &amp;ldquo;المبرمجين (Coders)&amp;rdquo; الذين &amp;ldquo;يعرفون فقط قواعد لغة Python&amp;rdquo; أو &amp;ldquo;يعرفون كيفية استخدام واجهات برمجة التطبيقات (API)&amp;rdquo; بسرعة.&lt;/p>
&lt;p>ما يُطلب من المهندسين البشريين في عصر الذكاء الاصطناعي ليس القدرة على حفظ قواعد لغات البرمجة. بل هي القدرات التالية:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>تحديد المتطلبات ونمذجة المجال (Domain Modeling)&lt;/strong>: القدرة على استخراج مشاكل العالم الحقيقي المعقدة التي يجب حلها ونمذجتها كنظام.&lt;/li>
&lt;li>&lt;strong>تصميم المعمارية&lt;/strong>: القدرة على رسم مخطط للنظام بأكمله يضمن قابلية التوسع والتوافر وقابلية الصيانة.&lt;/li>
&lt;li>&lt;strong>التحقق الرياضي والمنطقي&lt;/strong>: القدرة على التحقق وإثبات النظريات عما إذا كان الكود الذي تم إنشاؤه بواسطة الذكاء الاصطناعي يحتوي على ثغرات أمنية أو اختناقات في التعقيد الحسابي.&lt;/li>
&lt;/ol>
&lt;p>ومن المفارقات أن كل هذه المجالات تنتمي إلى &amp;ldquo;علوم الحاسوب والرياضيات&amp;rdquo; العميقة والمجردة، وليس &amp;ldquo;البرمجة السطحية&amp;rdquo;. إذا كان التعليم الياباني يعلم فقط &amp;ldquo;مهارات العمليات النهائية التي يسهل على الذكاء الاصطناعي استبدالها&amp;rdquo;، فلا يسعنا إلا أن نقول إنها خسارة وطنية.&lt;/p>
&lt;h2 id="10-نحو-دمج-العلوم-الرياضية-والبرمجة-مقترحات-لتعليم-الجيل-القادم">10. نحو دمج العلوم الرياضية والبرمجة: مقترحات لتعليم الجيل القادم
&lt;/h2>&lt;p>المهمة الملحة في تعليم تكنولوجيا المعلومات في اليابان في المستقبل هي التخلص من &amp;ldquo;جعل البرمجة هدفًا ووسيلة&amp;rdquo; والعودة إلى &amp;ldquo;استكشاف علوم الحاسوب كعلم رياضي&amp;rdquo;. لغات البرمجة ليست سوى أدوات للتعبير عن الأفكار، والهيكل الرياضي والمنطقي الذي يكمن في جذورها هو الذي يحمل قيمة عالمية لا تتلاشى حتى مع تغير الزمن.&lt;/p>
&lt;p>على سبيل المثال، تتشابك الجبر الخطي (عمليات المصفوفات والموترات Tensor)، وحساب التفاضل والتكامل متعدد المتغيرات (طريقة الانحدار التدريجي)، والإحصاء الاحتمالي (الاستدلال البايزي وكمية المعلومات) بشكل وثيق في جذور الذكاء الاصطناعي (AI) والتعلم الآلي. يتم صياغة تحسين الأوزان في الشبكات العصبية للتعلم العميق بواسطة قاعدة السلسلة (Chain Rule) باستخدام المشتقات الجزئية والانتشار العكسي (Backpropagation).&lt;/p>
$$
\frac{\partial L}{\partial w_{ij}^{(l)}} = \frac{\partial L}{\partial z_i^{(l+1)}} \cdot \frac{\partial z_i^{(l+1)}}{\partial w_{ij}^{(l)}} = \delta_i^{(l+1)} \cdot a_j^{(l)}
$$&lt;p>الأفراد القادرون على ترجمة مثل هذه الصيغ الرياضية المعقدة إلى تعليمات برمجية وتنفيذ الحوسبة المتوازية (Parallel Computing) مع تحسينها إلى أقصى حد مع مراعاة البنية المادية لوحدة معالجة الرسومات (GPU (CUDA)) أو وحدة المعالجة الموترة (TPU)، هم من سيقودون صناعة تكنولوجيا المعلومات في الجيل القادم. لهذا السبب بالذات، يجب علينا التخلي فورًا عن التعليم السطحي الذي يتطلب فقط حفظ البنية السطحية والتوجه نحو تعليم عميق يتساءل عن المبادئ الأساسية (First Principles) للحوسبة.&lt;/p>
&lt;h2 id="11-الخلاصة-الطريق-الوعر-نحو-دولة-حقيقية-في-تكنولوجيا-المعلومات-وتصميمنا">11. الخلاصة: الطريق الوعر نحو دولة حقيقية في تكنولوجيا المعلومات وتصميمنا
&lt;/h2>&lt;p>لا شك في أن الإلزامية في تعليم البرمجة في العقد الأول من القرن الحادي والعشرين كان خطوة أكيدة من حيث جعل المجتمع الياباني ككل يدرك على نطاق واسع &amp;ldquo;أهمية تكنولوجيا المعلومات والمعلومات&amp;rdquo;. ومع ذلك، فهذا مجرد &amp;ldquo;إحماء&amp;rdquo; في رحلة طويلة.&lt;/p>
&lt;p>الخروج من متعة تحريك شخصية قطة في Scratch، والشعور بالتأثر بالجمال الرياضي لخوارزمية $O(N \log N)$، وتعليم الإثارة للتفاعل مع خوادم حول العالم من خلال حزم TCP من شاشة محطة طرفية سوداء. إعادة بناء بنية تحتية تعليمية جديدة للتغلب على قيود الأجهزة لمبادرة مدرسة GIGA، وتدريب وتعيين قادة ذوي خبرة متقدمة في علوم الحاسوب (CS)، وإشراك مهندسين محترفين خارجيين بجرأة في التعليم المدرسي أحيانًا.&lt;/p>
&lt;p>التحديات التي يواجهها تعليم تكنولوجيا المعلومات في اليابان عميقة للغاية ومترسخة ومعقدة. ومع ذلك، فقط عندما لا ندير ظهورنا لهذه التحديات، ونتعاون بجدية بين الصناعة والأوساط الأكاديمية والحكومة لحلها، ونبني نظامًا بيئيًا يمكنه باستمرار إنتاج &amp;ldquo;مهندسين حقيقيين يمكنهم تصميم وبناء أنظمة من الصفر&amp;rdquo; بدلاً من &amp;ldquo;عمال يمكنهم فقط كتابة الكود وفقًا للمواصفات&amp;rdquo;، ستتمكن اليابان من قيادة العالم مرة أخرى كدولة رائدة في مجال تكنولوجيا المعلومات بالمعنى الحقيقي.&lt;/p>
&lt;p>كيف سننجو من مرحلة &amp;ldquo;ما بعد&amp;rdquo; الإلزامية في تعليم البرمجة، وهي المرحلة الأصعب والأكثر أهمية؟ الآن بالذات، يتم اختبار جدية وتصميمنا نحن البالغين.&lt;/p>
&lt;hr>
&lt;p>&lt;em>في هذا المقال، أوضحنا نظرية التعقيد والقيود على البنية التحتية لمبادرة مدرسة GIGA. بالنسبة لموضوعات علوم الحاسوب الأكثر تخصصًا (مثل خوارزميات الأنظمة الموزعة والتفاصيل حول طرق إدارة الذاكرة منخفضة المستوى)، نخطط لتغطيتها بالتسلسل في المقالات المستقبلية.&lt;/em>&lt;/p></description></item></channel></rss>