أصارحك، كنت أنوي أن تكون تدوينة اليوم عن الخوارزميات، ثم قررت أن الوقت مازال مبكراً، كنت أفكر أن السلسلة تستهدف المبرمجين، فلن أتطرق إلى مواضيع مثل الدخول إلى عالم البرمجة، أو تعلم لغة البرمجة الفلانية أو مبادئ البرمجة الكائنية التوجه OOP، ثم قدرت أن تدوينة إضافية عن هذه المواضيع لن تضر أحداً، لذلك ما سنتحدث عنه اليوم هو كيف تعرف الجامعات طلابها بالبرمجة.
معظم الجامعات تبدأ تعليم طلاب كلية علوم الحاسوب CS مبادئ البرمجة عن طريق لغات برمجة غير حقيقية لا تستعمل في البرمجة اليومية، معظم هذه اللغات مطورة أصلاً لتعليم الأطفال مبادئ البرمجة، أشهر هذه اللغات لغة تدعى Scratch مطورة في MIT وتستعمل كمقدمة للبرمجة في عدد من الجامعات المحترمة أمثال Harvard و MIT نفسها، وهي لا تعتمد على كتابة الأوامر، بل تعتمد على السحب والإفلات Drag-and-Drop.
تنتقل الجامعات بعد ذلك إلى إحدى لغات البرمجة الحقيقية، لغة Java أو C أو - مؤخراً - Python، باعتبارها لغات قوية ويمكن البدء باستعمالها بسرعة. لتعلم نفسك إحدى هذه اللغات لن تحتاج إلى الكثير، اختر أحد الكتب وستتعلم مبادئ اللغة بسهولة، سأذكر هنا الكتاب الأبرز والأسرع لتعلم مبادئ كل لغة من اللغات المستعملة في الجامعات :
- Python: كتاب Python Programming for the Absolute Beginner هو الأشهر للبدأ بتعلم لغة Python، اللغة الفعالة القوية والسهلة بنفس الوقت، الكتاب لا يفترض أنك مبرمج سابق، فحتى لو كنت جديداً على البرمجة فيمكنك قراءة هذا الكتاب للبدء بتعلم البرمجة.
- C: الكتاب العتيد والعتيق لتعلم لغة C هو C Programming Language، بالرغم من قدم الكتاب إلا أنه يبقى الكتاب المفضل لتعلم أساسيات لغة C بسرعة وسلاسة، كتاب رائع فعلاً.
- Java: لم أقرأ الكتاب، ولكن كتاب Head First Java حظي بسمعة حسنة وشهرة كبيرة لتعليم لغة جافا للمبتدئين.
- ++C: أغلب الجامعات تقوم بتعليم لغة C أو ربما Java قبل أن تنتقل إلى ++C. من كتب ++C الذائعة الصيت كتاب The C++ Programming Language، كون المؤلف هو مبتكر اللغة نفسه، Bjarne Stroustrup.
ننتقل الآن إلى القسم الرائع من التدوينة (كما آمل أن تجده).
محاضرات الكورس التعريفي Introductory-course بعلوم الحاسوب في جامعة هارفارد ويدعى Computer Science 50 ـ (CS50.NET) من إلقاء الأستاذ David J. Malan متاحة كمقاطع فيديو هي وجميع المواد المرافقة له للتحميل مجاناً، من موقع التحميل الخاص بالكورس CS50.TV.
كذلك الأمر بالنسبة لكورس جامعة MIT، حيث يحوي موقع MIT OpenCourseWare الخاص بالجامعة على الكثير جداً من المصادر التعليمية المجانية لمئات الكورسات، والكثير منها متوفرة كمحاضرات فيديو بالإضافة إلى الملاحظات والوظائف والأوراق العلمية وأسئلة امتحانية وغيره، موقع رائع جداً يحبس الأنفاس إذا تذكرنا أن MIT هي إحدى أبرز الجامعات التقنية في العالم، ومن الكورسات المتاحة على الموقع والمتوافرة كمقاطع فيديو الكورس التعريفي بعلوم الحاسوب والبرمجة في MIT، ويسمى Introduction to Computer Science and Programming.
من الجامعات التقنية العريقة أيضاً لابد أن نذكر جامعة Stanford، ولها موقع تعليمي مجاني مشابه لموقع MIT ويسمى Stanford Engineering Everywhere أو SEE اختصاراً، وفيه ثلاث كورسات تعريفية لمجال علوم الكمبيوتر، هذه الكورسات هي Programming Methodology وهو الأهم، ثم Programming Abstractions وأخيراً Programming Paradigms.
أعتقد أن هذه المصادر كافية جداً كبداية قوية لأي شخص يرغب في الخوض في عوالم علوم الكمبيوتر، سواءً كان عنده فكرة سابقة عنها أو عن البرمجة أم لا، فبالإضافة إلى عناوين بعض الكتب المهمة، ذكرنا الكورسات التعريفية لأهم الجامعات التقنية في العالم والتي توفرها - لحسن الحظ - مجاناً على مواقعها حسب التوجه الحديث الذي بدأت تتخذه تلك الجامعات في إتاحة العلم للجميع.
إن كنت في سورية وواجهت صعوبة في تحميل تلك المحاضرات فيمكن الاتصال بي وسأرسلها لك بطريقة ما.