للرياضيات دور هام في حياتنا العملية ولكن بشكل غير مباشر، فهو لم يوضع في المراحل الدراسية عبثا، وإنما وضع لينمي القدرة على تحليل المشكلة وفهمها واستيعابها وايجاد حل لها، وبذلك نلاحظ أن ازدياد صعوبة الرياضيات بتقدم المرحلة الدراسية هو لغرض تنمية وتحفيز العقل البشري لتحليل المشكلة وايجاد حل لها وهذا هو هدف الرياضيات.
وأما البرمجة فهي القدرة على تحليل المشكلة وفهمها واستيعابها وتجزئتها وايجاد حل منطقي لها ايضا بغض النظر عن لغة البرمجة المراد استخدامها.
وبذلك نلاحظ وجود علاقة وطيدة بين البرمجة والرياضيات وليس شرطا ان تكون مباشرة، فهي التطبيق العملي للرياضيات، فالبرامج مبنية في الاساس على علاقات رياضية.
هذا يعني أن تعلمك لبرمجة يعتمد على قوتك في الرياضيات، لكن هذا لا يعني أن الضعيف في الرياضيات لا يستطيع الابداع في مجال البرمجة لكن يبقى فارق حل المشكلات لديه ابطأ من غيره القوي في الرياضيات الاسرع في انجاز حل المشكلات.
و هنا سنذكر انواع البرمجة التي تتطلب معرفة عميقة بالرياضيات
- برمجة محركات الالعاب: برمجة هذه المحركات هي من أصعب العمليات البرمجية على الاطلاق لان المبرمج هنا عليه ان يفهم الرياضيات والفيزياء معا ليتمكن من تضمين المعادلات الفيزيائية والرياضية التي ستحدد طبيعة تفاعل الاشياء (Objects) بين بعضها البعض، من بين محركات الالعاب نذكر Unity , Unreal Engine , Source Engine
- برمجة البرامج الرياضية: مثل الماتلاب (Matlab) وسبب تطلب المعرفة العميقة بالرياضيات واضح هنا لكي يتمكن من بناء وبرمجة المعادلات الرياضية وتمثيلها داخل البرنامج.
- أي برامج تتعامل العالم الحقيقي: برامج ادارة الطائرات بلا طيار أو ادارة الصواريخ او الدبابات او اي شبيه بذلك سيتطلب معرفة عميقة بالرياضيات وهذا لضرورة تحريك الاشياء واصابة الاهداف بدقة متناهية.
كل أنواع البرمجيات واللغات تحتاج الى معرفة بالرياضيات حسب وقت برمجه اداه ما، فلنفترض أنك تريد برمجة لعبة او حتى موقع للبحث عليك وقتها لبناء خوارزمية بحث تسهل عليك البحث أنت والعملاء.
أما المواد الرياضية التي يجب دراستها بجانب البرمجة هي:
- الجبر
- التفاضل والتكامل
- الاحصاء والاحتمالات
- الرياضيات المتقطعة
والجدير بالذكر انه لا يمكن القول بان البرمجة ترتبط ارتباط كلي بالرياضيات كتطوير المواقع الالكترونية التي لن تحتاج اليها على عكس الذكاء الاصطناعي، وهنا لابد الاشارة وإن كان ارتباط الرياضيات ارتباطا ضعيف في بعض جوانب البرمجة، لكن دراستها يساعد على فهم النظريات الرياضية خلف البرمجة وفروعها.
الرياضيات هي أكثر لغة وصفية ممزوجة مع الخوارزميات، إذ اننا لا نكتب قوانين الرياضيات لينفذها أحد بل لوصف ظواهر وعلاقات بين الكائنات الرياضية المختلفة، لذلك لغات البرمجة في جوهرها مبنية على الرياضيات وليس العكس.
كتبه : حسن ناصر جدعان