عفوا اذا كنت ازجعتك بالاجابة مرتين على اسئلتك المتعلقة بعلوم الحاسوب, لكن هذا النوع من الاسئلة يتكرر كثيرا.
اذا اردت ان تعرف ماهي خلاصة تعليقي اطلع على هذان الرابطين:
وهذا المقال في ويكيبيديا:
اذا كنت تقصد علوم الحاسوب (اركز هنا على كلمة علوم) وليس هندسة البرامج او البرمجة, فللاسف سوف تحتاج الى الرياضيات.
ربما تشرحها كلمة واحد من اشهر العلماء في علوم الحاسوب حول الخلط بين هذه المفاهيم:
"computer science is no more about computers than astronomy is about telescopes."
او من ويكيبيديا (
)
باختصار يمكن تعريف الـ Computer scientist كالتالي (من ويكيبيديا):
A computer scientist specializes in the theory of computation and the design of computational systems
علوم الكمبيوتر تعتبر جزء من الـ Applied mathemtics, تهتهم بتطوير خوارزميات لحل بعض المشاكل العملية باحسن طريقة. تحتاج الرياضيات من اجل ان تصمم وتثبت ان الخوارزمية التي صممتها تقوم بالعمل المراد باقل جهد. اصلا ظهور مجال علوم الحاسوب كان من اجل مشاكل الـ Computatbility في الرياضيات.
اذا اردت ان تخوض في مجالات مثل Machine learning , Computer security , Image processing , Operating system و Communication systems او غيرها فالرياضيات تعتبر شيء ظروري. اما اذا كنت تستعمل ما طوره الاخرون فقط, فلا تحتاج الى التعمق في الرياضيات, لكن يجب ان تفهم الفروق بين الخوارزميات الموجودة ومتي تستعمل كلا منها.
مثلا هنا مقرر جامعة اوكسفرد, وهناك ايضا فيديوا.
اما فيما يتعلق بالـبرمجة كالـ OOP و تصميم المواقع وتعلم بعض لغات البرمجة, فلا تحتاج الى الرياضيات من اجل ذلك (الا اذا كنت ان تتعمق في خبايها), لكن هي تتعلق كثير بـالـ هندسة. مثلا في الـ OOP تتعلم الـ Design patterns وفي البرمجة اذا كنت تهتهم بجودة البرمجمة, فسوف تاخد بعين الاعتبار كيفية استعمال برنامجك للذاكرة والقرص, متى تعرف هذا المتغير؟ هل في البداية ام عندما تحتاجه؟ ماهو تاثيره على استعمالي للـ Cash ... وغيره من الاسئلة التي تتعلق بالهندسة اكثر من الرياضيات.
وفي برمجمة المواقع سوف تفكر كيفية جعل موقعك يظهر بسرعة واستعاملك للذاكرة والـ bandwidth,... الخ.
التعليقات